1
0
Fork 0

Commits vergleichen

..

9 Commits

Autor SHA1 Nachricht Datum
jumagura
a5af0b109d DEV: Manage edge case not custom fields 2023-10-02 23:38:01 -04:00
jumagura
4ce82b0d17 fix linting 2023-10-02 22:46:31 -04:00
jumagura
6294f6f9c0 DEV: Add correct parameters for testing 2023-10-02 22:44:54 -04:00
jumagura
98391b565e DEV: Modify test for errors 2023-10-02 22:26:00 -04:00
jumagura
779912332a DEV: remove next condition 2023-10-02 22:25:20 -04:00
jumagura
1d2f75951f FIX: Use wizard_submission_id instead of new value 2023-10-02 22:05:28 -04:00
jumagura
3433bd4141 fix linting 2023-10-02 18:29:12 -04:00
jumagura
dae803bf20 bump version 2023-10-02 18:25:36 -04:00
jumagura
24d7ca646a FIX: Refine Topic Creation Hook to Allow Wizard Multi-Step Functionality 2023-10-02 18:18:00 -04:00
4 geänderte Dateien mit 49 neuen und 34 gelöschten Zeilen

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

@ -1,7 +1,7 @@
# frozen_string_literal: true
# name: discourse-custom-wizard
# about: Forms for Discourse. Better onboarding, structured posting, data enrichment, automated actions and much more.
# version: 2.4.23
# version: 2.4.24
# authors: Angus McLeod, Faizaan Gagan, Robert Barrow, Keegan George, Kaitlin Maddever, Juan Marcos Gutierrez Ramos
# url: https://github.com/paviliondev/discourse-custom-wizard
# contact_emails: development@pavilion.tech
@ -239,7 +239,8 @@ after_initialize do
on(:before_create_topic) do |topic_params, user|
category = topic_params.category
if category&.custom_fields&.[]('create_topic_wizard').present?
wizard_submission_id = topic_params.custom_fields&.[]('wizard_submission_id')
if category&.custom_fields&.[]('create_topic_wizard').present? && wizard_submission_id.blank?
raise Discourse::InvalidParameters.new(
I18n.t('wizard.error_messages.wizard_replacing_composer')
)

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

@ -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,