1
0
Fork 0

Commits vergleichen

..

4 Commits

Autor SHA1 Nachricht Datum
jumagura
eeb99d1507 fix linting 2023-09-21 22:39:29 -04:00
jumagura
adfffb4d08 fix linting 2023-09-21 22:36:24 -04:00
jumagura
c29c3b084e DEV: Add logic to append tag if user allowed 2023-09-21 22:32:31 -04:00
jumagura
a518955423 DEV: Move tag element from publicTopicFields to basicTopicFields 2023-09-21 22:31:15 -04:00
7 geänderte Dateien mit 78 neuen und 57 gelöschten Zeilen

Datei anzeigen

@ -107,6 +107,7 @@ const action = {
post: null,
post_builder: null,
post_template: null,
tags: null,
skip_redirect: null,
custom_fields: null,
required: null,

Datei anzeigen

@ -84,6 +84,28 @@
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.create_topic.tags"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.tags
property="tags"
onUpdate=(action "mappedFieldUpdated")
options=(hash
tagSelection="output"
outputDefaultSelection="tag"
listSelection="output"
wizardFieldSelection=true
userFieldSelection="key,value"
context="action"
)
}}
</div>
</div>
{{#if this.action.post_builder}}
<div class="setting full">
<div class="setting-label">
@ -124,28 +146,6 @@
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.create_topic.tags"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.tags
property="tags"
onUpdate=(action "mappedFieldUpdated")
options=(hash
tagSelection="output"
outputDefaultSelection="tag"
listSelection="output"
wizardFieldSelection=true
userFieldSelection="key,value"
context="action"
)
}}
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.create_topic.visible"}}</label>

Datei anzeigen

@ -104,6 +104,7 @@ class CustomWizard::Action
end
params = basic_topic_params
params.delete(:tags) unless user_can_tag
targets = CustomWizard::Mapper.new(
inputs: action['recipient'],
@ -610,6 +611,10 @@ class CustomWizard::Action
user: user
).perform
if tags = action_tags
params[:tags] = tags
end
params[:raw] = action['post_builder'] ?
mapper.interpolate(
action['post_template'],
@ -632,10 +637,6 @@ class CustomWizard::Action
params[:category] = category
end
if tags = action_tags
params[:tags] = tags
end
if public_topic_fields.any?
public_topic_fields.each do |field|
unless action[field].nil? || action[field] == ""
@ -837,4 +838,9 @@ class CustomWizard::Action
@log.join('; ')
)
end
def user_can_tag
allowed_groups =
SiteSetting.pm_tags_allowed_for_groups.split('|').map(&:to_i)
user.groups.pluck(:id).any? { |group| allowed_groups.include?(group) }
end
end

Datei anzeigen

@ -10,19 +10,19 @@ class CustomWizard::Subscription
{
wizard: {
required: {
none: ['*'],
none: [],
standard: ['*'],
business: ['*'],
community: ['*']
},
permitted: {
none: ['*'],
none: [],
standard: ['*'],
business: ['*'],
community: ['*', "!#{CustomWizard::Wizard::GUEST_GROUP_ID}"]
},
restart_on_revisit: {
none: ['*'],
none: [],
standard: ['*'],
business: ['*'],
community: ['*']
@ -30,19 +30,19 @@ class CustomWizard::Subscription
},
step: {
condition: {
none: ['*'],
none: [],
standard: ['*'],
business: ['*'],
community: ['*']
},
required_data: {
none: ['*'],
none: [],
standard: ['*'],
business: ['*'],
community: ['*']
},
permitted_params: {
none: ['*'],
none: [],
standard: ['*'],
business: ['*'],
community: ['*']
@ -50,19 +50,19 @@ class CustomWizard::Subscription
},
field: {
condition: {
none: ['*'],
none: [],
standard: ['*'],
business: ['*'],
community: ['*']
},
type: {
none: ['*'],
none: ['text', 'textarea', 'text_only', 'date', 'time', 'date_time', 'number', 'checkbox', 'dropdown', 'upload'],
standard: ['*'],
business: ['*'],
community: ['*']
},
realtime_validations: {
none: ['*'],
none: [],
standard: ['*'],
business: ['*'],
community: ['*']
@ -70,7 +70,7 @@ class CustomWizard::Subscription
},
action: {
type: {
none: ['*'],
none: ['create_topic', 'update_profile', 'open_composer', 'route_to'],
standard: ['create_topic', 'update_profile', 'open_composer', 'route_to', 'send_message', 'watch_categories', 'watch_tags', 'add_to_group'],
business: ['*'],
community: ['*']
@ -78,13 +78,13 @@ class CustomWizard::Subscription
},
custom_field: {
klass: {
none: ['*'],
none: ['topic', 'post'],
standard: ['topic', 'post'],
business: ['*'],
community: ['*']
},
type: {
none: ['*'],
none: ['string', 'boolean', 'integer'],
standard: ['string', 'boolean', 'integer'],
business: ['*'],
community: ['*']
@ -92,7 +92,7 @@ class CustomWizard::Subscription
},
api: {
all: {
none: ['*'],
none: [],
standard: [],
business: ['*'],
community: ['*']
@ -154,11 +154,14 @@ class CustomWizard::Subscription
end
def type
return :business
return :none unless subscribed?
return :business if business?
return :standard if standard?
return :community if community?
end
def subscribed?
true
standard? || business? || community?
end
def standard?
@ -166,7 +169,7 @@ class CustomWizard::Subscription
end
def business?
true
product_slug === "business"
end
def community?

Datei anzeigen

@ -24,7 +24,7 @@ describe CustomWizard::Subscription do
context "without a subscription client" do
it "is not subscribed" do
expect(described_class.subscribed?).to eq(true)
expect(described_class.subscribed?).to eq(false)
end
it "has none type" do

Datei anzeigen

@ -24,7 +24,7 @@ describe CustomWizard::SubmissionSerializer do
it 'should return submission attributes' do
wizard = CustomWizard::Wizard.create(template_json["id"])
list = CustomWizard::Submission.list(wizard, page: 0, order_by: 'id')
list = CustomWizard::Submission.list(wizard, page: 0)
json_array = ActiveModel::ArraySerializer.new(
list.submissions,

Datei anzeigen

@ -121,19 +121,19 @@ const getUnsubscribedAdminWizards = {
subscription_attributes: {
wizard: {
required: {
none: ['*'],
none: [],
standard: ["*"],
business: ["*"],
community: ["*"],
},
permitted: {
none: ['*'],
none: [],
standard: ["*"],
business: ["*"],
community: ["*"],
},
restart_on_revisit: {
none: ['*'],
none: [],
standard: ["*"],
business: ["*"],
community: ["*"],
@ -141,19 +141,19 @@ const getUnsubscribedAdminWizards = {
},
step: {
condition: {
none: ['*'],
none: [],
standard: ["*"],
business: ["*"],
community: ["*"],
},
required_data: {
none: ['*'],
none: [],
standard: ["*"],
business: ["*"],
community: ["*"],
},
permitted_params: {
none: ['*'],
none: [],
standard: ["*"],
business: ["*"],
community: ["*"],
@ -161,19 +161,30 @@ const getUnsubscribedAdminWizards = {
},
field: {
condition: {
none: ['*'],
none: [],
standard: ["*"],
business: ["*"],
community: ["*"],
},
type: {
none: ['*'],
none: [
"text",
"textarea",
"text_only",
"date",
"time",
"date_time",
"number",
"checkbox",
"dropdown",
"upload",
],
standard: ["*"],
business: ["*"],
community: ["*"],
},
realtime_validations: {
none: ['*'],
none: [],
standard: ["*"],
business: ["*"],
community: ["*"],
@ -181,7 +192,7 @@ const getUnsubscribedAdminWizards = {
},
action: {
type: {
none: ['*'],
none: ["create_topic", "update_profile", "open_composer", "route_to"],
standard: [
"create_topic",
"update_profile",
@ -197,20 +208,20 @@ const getUnsubscribedAdminWizards = {
},
custom_field: {
klass: {
none: ['*'],
none: ["topic", "post"],
standard: ["topic", "post"],
business: ["*"],
community: ["*"],
},
type: {
none: ['*'],
none: ["string", "boolean", "integer"],
standard: ["string", "boolean", "integer"],
business: ["*"],
community: ["*"],
},
},
api: {
all: { none: ["*"], standard: [], business: ["*"], community: ["*"] },
all: { none: [], standard: [], business: ["*"], community: ["*"] },
},
},
subscription_client_installed: false,