Commits vergleichen
4 Commits
main
...
add-taggin
Autor | SHA1 | Datum | |
---|---|---|---|
|
eeb99d1507 | ||
|
adfffb4d08 | ||
|
c29c3b084e | ||
|
a518955423 |
7 geänderte Dateien mit 78 neuen und 57 gelöschten Zeilen
|
@ -107,6 +107,7 @@ const action = {
|
|||
post: null,
|
||||
post_builder: null,
|
||||
post_template: null,
|
||||
tags: null,
|
||||
skip_redirect: null,
|
||||
custom_fields: null,
|
||||
required: null,
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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?
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
Laden …
In neuem Issue referenzieren