From 21d0357ffdcbba43ab0c0d6797c4f649e0173734 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Wed, 4 Oct 2023 13:09:52 +0800 Subject: [PATCH 01/23] Add discourse_plugin_statistics plugin definition --- .rubocop.yml | 3 + lib/custom_wizard/subscription.rb | 2 +- lib/discourse_plugin_statistics/plugin.rb | 94 +++++++++++++++++++ plugin.rb | 2 + .../plugin_spec.rb | 82 ++++++++++++++++ 5 files changed, 182 insertions(+), 1 deletion(-) create mode 100644 lib/discourse_plugin_statistics/plugin.rb create mode 100644 spec/components/discourse_plugin_statistics/plugin_spec.rb diff --git a/.rubocop.yml b/.rubocop.yml index 69fcfc56..74c8c853 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -6,3 +6,6 @@ RSpec/ContextWording: RSpec/DescribeClass: Enabled: false + +Discourse/TimeEqMatcher: + Enabled: false diff --git a/lib/custom_wizard/subscription.rb b/lib/custom_wizard/subscription.rb index ee72b7f8..23de1808 100644 --- a/lib/custom_wizard/subscription.rb +++ b/lib/custom_wizard/subscription.rb @@ -157,7 +157,7 @@ class CustomWizard::Subscription return :none unless subscribed? return :business if business? return :standard if standard? - return :community if community? + :community if community? end def subscribed? diff --git a/lib/discourse_plugin_statistics/plugin.rb b/lib/discourse_plugin_statistics/plugin.rb new file mode 100644 index 00000000..11fb72d6 --- /dev/null +++ b/lib/discourse_plugin_statistics/plugin.rb @@ -0,0 +1,94 @@ +# frozen_string_literal: true +module DiscoursePluginStatistics + class Plugin + def self.discourse_custom_wizard + subscription_features = { + wizard: { + save_submissions: 0, + after_signup: 0, + prompt_completion: 0, + required: 0, + permitted: 0, + }, + step: { + required_data: 0, + permitted_params: 0, + force_final: 0 + }, + field: { + condition: 0, + type: { + text: 0, + textarea: 0, + text_only: 0, + date: 0, + time: 0, + date_time: 0, + number: 0, + checkbox: 0, + dropdown: 0, + composer: 0, + composer_preview: 0, + url: 0, + upload: 0, + tag: 0, + category: 0, + group: 0, + user_selector: 0, + }, + realtime_validations: 0 + }, + action: { + type: { + create_topic: 0, + send_message: 0, + update_profile: 0, + open_composer: 0, + route_to: 0, + send_to_api: 0, + watch_categories: 0, + watch_tags: 0, + add_to_group: 0, + create_group: 0, + create_category: 0, + } + } + } + + increment_feature_count = lambda do |type, key, value| + if key == 'type' + subscription_features[type.to_sym][:type][value.to_sym] += 1 + elsif !subscription_features[type.to_sym][key.to_sym].nil? + subscription_features[type.to_sym][key.to_sym] += 1 + end + end + + CustomWizard::Template.list.each do |template| + template.each do |key, value| + increment_feature_count.call(:wizard, key, value) + end + template['steps'].each do |step| + step.each do |key, value| + increment_feature_count.call(:step, key, value) + end + step['fields'].each do |field| + field.each do |key, value| + increment_feature_count.call(:field, key, value) + end + end + end + template['actions'].each do |action| + action.each do |key, value| + increment_feature_count.call(:action, key, value) + end + end + end + + { + total_wizards: CustomWizard::Template.list.size, + subscription_type: CustomWizard::Subscription.type.to_s, + subscription_features: subscription_features + } + end + end +end diff --git a/plugin.rb b/plugin.rb index 3a84371b..bcc983a5 100644 --- a/plugin.rb +++ b/plugin.rb @@ -8,6 +8,7 @@ # subscription_url: https://coop.pavilion.tech gem 'liquid', '5.0.1', require: true +gem 'discourse_plugin_statistics', '0.1.0.pre1', require: true register_asset 'stylesheets/common/admin.scss' register_asset 'stylesheets/common/wizard.scss' @@ -73,6 +74,7 @@ after_initialize do ../lib/custom_wizard/api/log_entry.rb ../lib/custom_wizard/liquid_extensions/first_non_empty.rb ../lib/custom_wizard/exceptions/exceptions.rb + ../lib/discourse_plugin_statistics/plugin.rb ../app/serializers/custom_wizard/api/authorization_serializer.rb ../app/serializers/custom_wizard/api/basic_endpoint_serializer.rb ../app/serializers/custom_wizard/api/endpoint_serializer.rb diff --git a/spec/components/discourse_plugin_statistics/plugin_spec.rb b/spec/components/discourse_plugin_statistics/plugin_spec.rb new file mode 100644 index 00000000..bf3635c2 --- /dev/null +++ b/spec/components/discourse_plugin_statistics/plugin_spec.rb @@ -0,0 +1,82 @@ +# frozen_string_literal: true + +describe DiscoursePluginStatistics::Plugin do + let(:template_json) { get_wizard_fixture("wizard") } + + describe "#discourse_custom_wizard" do + before do + enable_subscription('standard') + + CustomWizard::Template.save(template_json, skip_jobs: true) + + template_json_2 = template_json.dup + template_json_2["id"] = 'super_mega_fun_wizard_2' + CustomWizard::Template.save(template_json_2, skip_jobs: true) + + @data = DiscoursePluginStatistics::Plugin.discourse_custom_wizard + end + + it "includes a total wizard count" do + expect(@data[:total_wizards]).to eq(2) + end + + it "includes the subscription type" do + expect(@data[:subscription_type]).to eq('standard') + end + + it "includes a count of features being used across all wizards" do + expect(@data[:subscription_features]).to eq( + wizard: { + save_submissions: 2, + after_signup: 2, + prompt_completion: 2, + required: 0, + permitted: 0, + }, + step: { + required_data: 0, + permitted_params: 0, + force_final: 0 + }, + field: { + condition: 0, + type: { + text: 2, + textarea: 2, + text_only: 2, + date: 2, + time: 2, + date_time: 2, + number: 2, + checkbox: 2, + dropdown: 2, + composer: 0, + composer_preview: 0, + url: 0, + upload: 0, + tag: 0, + category: 0, + group: 0, + user_selector: 0, + }, + realtime_validations: 0 + }, + action: { + type: { + create_topic: 2, + send_message: 0, + update_profile: 2, + open_composer: 2, + route_to: 2, + send_to_api: 0, + watch_categories: 0, + watch_tags: 0, + add_to_group: 0, + create_group: 0, + create_category: 0, + } + } + ) + end + end +end From 2dd3f5fa7280245426f195a0f157f0dfea7b8d1a Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Wed, 4 Oct 2023 13:13:58 +0800 Subject: [PATCH 02/23] Bump version --- plugin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin.rb b/plugin.rb index bcc983a5..38474b8e 100644 --- a/plugin.rb +++ b/plugin.rb @@ -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.24 +# version: 2.5.0 # 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 From 6472b2aaa2e8b76ee974b49c969bc184f7d0e4f8 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Wed, 4 Oct 2023 13:45:57 +0800 Subject: [PATCH 03/23] Add additional check in feature counter --- lib/discourse_plugin_statistics/plugin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/discourse_plugin_statistics/plugin.rb b/lib/discourse_plugin_statistics/plugin.rb index 11fb72d6..bc347b48 100644 --- a/lib/discourse_plugin_statistics/plugin.rb +++ b/lib/discourse_plugin_statistics/plugin.rb @@ -56,7 +56,7 @@ module DiscoursePluginStatistics } increment_feature_count = lambda do |type, key, value| - if key == 'type' + if key == 'type' && !subscription_features[type.to_sym][:type][value.to_sym].nil? subscription_features[type.to_sym][:type][value.to_sym] += 1 elsif !subscription_features[type.to_sym][key.to_sym].nil? subscription_features[type.to_sym][key.to_sym] += 1 From e29605c66097fd39876758f0433fdce4dd0a7f42 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Wed, 4 Oct 2023 14:16:52 +0800 Subject: [PATCH 04/23] Update plugin.rb --- lib/discourse_plugin_statistics/plugin.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/discourse_plugin_statistics/plugin.rb b/lib/discourse_plugin_statistics/plugin.rb index bc347b48..70e62889 100644 --- a/lib/discourse_plugin_statistics/plugin.rb +++ b/lib/discourse_plugin_statistics/plugin.rb @@ -56,10 +56,14 @@ module DiscoursePluginStatistics } increment_feature_count = lambda do |type, key, value| - if key == 'type' && !subscription_features[type.to_sym][:type][value.to_sym].nil? - subscription_features[type.to_sym][:type][value.to_sym] += 1 - elsif !subscription_features[type.to_sym][key.to_sym].nil? - subscription_features[type.to_sym][key.to_sym] += 1 + if key == 'type' + if !subscription_features[type.to_sym][:type][value.to_sym].nil? + subscription_features[type.to_sym][:type][value.to_sym] += 1 + end + else + if !subscription_features[type.to_sym][key.to_sym].nil? + subscription_features[type.to_sym][key.to_sym] += 1 + end end end From fceb539ab3bf1bfaaa863da1e674d0e5a6ca980d Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Wed, 4 Oct 2023 14:50:52 +0800 Subject: [PATCH 05/23] Update plugin.rb --- plugin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin.rb b/plugin.rb index 38474b8e..4f26d848 100644 --- a/plugin.rb +++ b/plugin.rb @@ -8,7 +8,7 @@ # subscription_url: https://coop.pavilion.tech gem 'liquid', '5.0.1', require: true -gem 'discourse_plugin_statistics', '0.1.0.pre1', require: true +gem 'discourse_plugin_statistics', '0.1.0.pre2', require: true register_asset 'stylesheets/common/admin.scss' register_asset 'stylesheets/common/wizard.scss' From 581669445686f849e0bc4f1efd5844cb0d4b8707 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Wed, 4 Oct 2023 16:13:53 +0800 Subject: [PATCH 06/23] Bump statistics gem version --- plugin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin.rb b/plugin.rb index 4f26d848..4ccef1a0 100644 --- a/plugin.rb +++ b/plugin.rb @@ -8,7 +8,7 @@ # subscription_url: https://coop.pavilion.tech gem 'liquid', '5.0.1', require: true -gem 'discourse_plugin_statistics', '0.1.0.pre2', require: true +gem 'discourse_plugin_statistics', '0.1.0.pre3', require: true register_asset 'stylesheets/common/admin.scss' register_asset 'stylesheets/common/wizard.scss' From ba94f59cb70c9fe17dacdc375aa3ba3175ba83b9 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Thu, 5 Oct 2023 09:31:28 +0800 Subject: [PATCH 07/23] Undo rubocop autoformat --- lib/custom_wizard/subscription.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/custom_wizard/subscription.rb b/lib/custom_wizard/subscription.rb index 23de1808..ee72b7f8 100644 --- a/lib/custom_wizard/subscription.rb +++ b/lib/custom_wizard/subscription.rb @@ -157,7 +157,7 @@ class CustomWizard::Subscription return :none unless subscribed? return :business if business? return :standard if standard? - :community if community? + return :community if community? end def subscribed? From 3c41443294bef82d605d5020be278ca68cb6ed65 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Thu, 5 Oct 2023 13:39:56 +0800 Subject: [PATCH 08/23] Bump stats gem version --- plugin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin.rb b/plugin.rb index 4ccef1a0..680fd882 100644 --- a/plugin.rb +++ b/plugin.rb @@ -8,7 +8,7 @@ # subscription_url: https://coop.pavilion.tech gem 'liquid', '5.0.1', require: true -gem 'discourse_plugin_statistics', '0.1.0.pre3', require: true +gem 'discourse_plugin_statistics', '0.1.0.pre4', require: true register_asset 'stylesheets/common/admin.scss' register_asset 'stylesheets/common/wizard.scss' From ab158e0fb795b4a0a23bf57d51c5320b10664426 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Thu, 5 Oct 2023 14:28:49 +0800 Subject: [PATCH 09/23] Bump stats gem version --- plugin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin.rb b/plugin.rb index 680fd882..d5c5ccf7 100644 --- a/plugin.rb +++ b/plugin.rb @@ -8,7 +8,7 @@ # subscription_url: https://coop.pavilion.tech gem 'liquid', '5.0.1', require: true -gem 'discourse_plugin_statistics', '0.1.0.pre4', require: true +gem 'discourse_plugin_statistics', '0.1.0.pre5', require: true register_asset 'stylesheets/common/admin.scss' register_asset 'stylesheets/common/wizard.scss' From 4393bd923677e3881821e333a2153f8371aba876 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Fri, 6 Oct 2023 13:41:37 +0800 Subject: [PATCH 10/23] Bump gem stats version --- plugin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin.rb b/plugin.rb index d5c5ccf7..e99eb722 100644 --- a/plugin.rb +++ b/plugin.rb @@ -8,7 +8,7 @@ # subscription_url: https://coop.pavilion.tech gem 'liquid', '5.0.1', require: true -gem 'discourse_plugin_statistics', '0.1.0.pre5', require: true +gem 'discourse_plugin_statistics', '0.1.0.pre6', require: true register_asset 'stylesheets/common/admin.scss' register_asset 'stylesheets/common/wizard.scss' From 7613626e9ea47be5362fe993a57702ac91366da1 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Fri, 6 Oct 2023 15:52:42 +0800 Subject: [PATCH 11/23] Update stats gem version --- plugin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin.rb b/plugin.rb index e99eb722..3f199471 100644 --- a/plugin.rb +++ b/plugin.rb @@ -8,7 +8,7 @@ # subscription_url: https://coop.pavilion.tech gem 'liquid', '5.0.1', require: true -gem 'discourse_plugin_statistics', '0.1.0.pre6', require: true +gem 'discourse_plugin_statistics', '0.1.0.pre7', require: true register_asset 'stylesheets/common/admin.scss' register_asset 'stylesheets/common/wizard.scss' From ed75e62ebc8690ca9ad6be40da47e57cdf894fd5 Mon Sep 17 00:00:00 2001 From: Andrei Prigorshnev Date: Mon, 9 Oct 2023 21:03:51 +0400 Subject: [PATCH 12/23] DEV: Stop using the deprecated text.cookAsync function --- .../discourse/components/custom-wizard-field.js.es6 | 4 ++-- .../discourse/components/custom-wizard-step.js.es6 | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/assets/javascripts/discourse/components/custom-wizard-field.js.es6 b/assets/javascripts/discourse/components/custom-wizard-field.js.es6 index d706ecd8..bb368310 100644 --- a/assets/javascripts/discourse/components/custom-wizard-field.js.es6 +++ b/assets/javascripts/discourse/components/custom-wizard-field.js.es6 @@ -1,7 +1,7 @@ import Component from "@ember/component"; import { dasherize } from "@ember/string"; import discourseComputed from "discourse-common/utils/decorators"; -import { cookAsync } from "discourse/lib/text"; +import { cook } from "discourse/lib/text"; export default Component.extend({ classNameBindings: [ @@ -14,7 +14,7 @@ export default Component.extend({ didReceiveAttrs() { this._super(...arguments); - cookAsync(this.field.translatedDescription).then((cookedDescription) => { + cook(this.field.translatedDescription).then((cookedDescription) => { this.set("cookedDescription", cookedDescription); }); }, diff --git a/assets/javascripts/discourse/components/custom-wizard-step.js.es6 b/assets/javascripts/discourse/components/custom-wizard-step.js.es6 index 7c933771..250f9140 100644 --- a/assets/javascripts/discourse/components/custom-wizard-step.js.es6 +++ b/assets/javascripts/discourse/components/custom-wizard-step.js.es6 @@ -4,7 +4,7 @@ import I18n from "I18n"; import getUrl from "discourse-common/lib/get-url"; import { htmlSafe } from "@ember/template"; import { schedule } from "@ember/runloop"; -import { cookAsync } from "discourse/lib/text"; +import { cook } from "discourse/lib/text"; import CustomWizard, { updateCachedWizard, } from "discourse/plugins/discourse-custom-wizard/discourse/models/custom-wizard"; @@ -25,10 +25,10 @@ export default Component.extend({ didReceiveAttrs() { this._super(...arguments); - cookAsync(this.step.translatedTitle).then((cookedTitle) => { + cook(this.step.translatedTitle).then((cookedTitle) => { this.set("cookedTitle", cookedTitle); }); - cookAsync(this.step.translatedDescription).then((cookedDescription) => { + cook(this.step.translatedDescription).then((cookedDescription) => { this.set("cookedDescription", cookedDescription); }); }, From c052856947c5b1f0d322b195181defef1394e0cf Mon Sep 17 00:00:00 2001 From: Andrei Prigorshnev Date: Mon, 9 Oct 2023 21:12:14 +0400 Subject: [PATCH 13/23] Ensure compatibility --- .discourse-compatibility | 1 + 1 file changed, 1 insertion(+) diff --git a/.discourse-compatibility b/.discourse-compatibility index 01ce2cde..ff1e994a 100644 --- a/.discourse-compatibility +++ b/.discourse-compatibility @@ -1,3 +1,4 @@ +3.2.0.beta2: 1ee2f7d8babafe32912372fbbfa50c89f5b09ba9 3.1.999: 1f35b80f85e5fd1efb7f4851f0845700432febdc 2.7.99: e07a57e398b6b1676ab42a7e34467556fca5416b 2.5.1: bb85b3a0d2c0ab6b59bcb405731c39089ec6731c From 244f7acea6f4c43b054887924ee8dcb1b2e6e0f7 Mon Sep 17 00:00:00 2001 From: Richard Date: Tue, 10 Oct 2023 07:29:05 +0000 Subject: [PATCH 14/23] Replaced documentation links --- README.md | 14 +++++++------- .../components/wizard-custom-action.js.es6 | 2 +- .../components/wizard-custom-field.js.es6 | 2 +- .../controllers/admin-wizards-custom-fields.js.es6 | 2 +- .../controllers/admin-wizards-logs.js.es6 | 2 +- .../controllers/admin-wizards-manager.js.es6 | 2 +- .../controllers/admin-wizards-submissions.js.es6 | 2 +- .../controllers/admin-wizards-wizard.js.es6 | 2 +- .../discourse/mixins/subscription.js.es6 | 2 +- config/locales/client.en.yml | 2 +- 10 files changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 0c454685..41aaeafc 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ The Custom Wizard Plugin lets you make forms for your Discourse forum. Better us -👋 Looking to report an issue? We're managing issues for this plugin using our [bug report wizard](https://coop.pavilion.tech/w/bug-report). +👋 Looking to report an issue? We're managing issues for this plugin using our [bug report wizard](https://pavilion.tech/products/discourse-custom-wizard-plugin/support/bug-report). ## Install @@ -12,16 +12,16 @@ If you're not sure how to install a plugin in Discourse, please follow the [plug ## Documentation -[Read the full documentation here](https://coop.pavilion.tech/c/82), or go directly to the relevant section +[Read the full documentation here](https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/), or go directly to the relevant section - [Wizard Administration](https://coop.pavilion.tech/t/1602) - [Wizard Settings](https://coop.pavilion.tech/t/1614) -- [Step Settings](https://coop.pavilion.tech/t/1735) -- [Field Settings](https://coop.pavilion.tech/t/1580) -- [Conditional Settings](https://coop.pavilion.tech/t/1673) -- [Field Interpolation](https://coop.pavilion.tech/t/1557) +- [Step Settings](https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/step-settings) +- [Field Settings](https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/field-settings) +- [Conditional Settings](https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/conditional-settings) +- [Field Interpolation](https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/field-interpolation) - [Handling Dates and Times](https://coop.pavilion.tech/t/1708) ## Support -- [Report an issue](https://coop.pavilion.tech/w/bug-report) +- [Report an issue](https://pavilion.tech/products/discourse-custom-wizard-plugin/support/bug-report) diff --git a/assets/javascripts/discourse/components/wizard-custom-action.js.es6 b/assets/javascripts/discourse/components/wizard-custom-action.js.es6 index 81a12530..9c72b543 100644 --- a/assets/javascripts/discourse/components/wizard-custom-action.js.es6 +++ b/assets/javascripts/discourse/components/wizard-custom-action.js.es6 @@ -41,7 +41,7 @@ export default Component.extend(UndoChanges, { }; }), - messageUrl: "https://discourse.pluginmanager.org/t/action-settings", + messageUrl: "https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/action-settings", @discourseComputed("action.type") messageKey(type) { diff --git a/assets/javascripts/discourse/components/wizard-custom-field.js.es6 b/assets/javascripts/discourse/components/wizard-custom-field.js.es6 index ed66012a..4f700490 100644 --- a/assets/javascripts/discourse/components/wizard-custom-field.js.es6 +++ b/assets/javascripts/discourse/components/wizard-custom-field.js.es6 @@ -27,7 +27,7 @@ export default Component.extend(UndoChanges, { isTextType: or("isText", "isTextarea", "isComposer"), isComposerPreview: equal("field.type", "composer_preview"), categoryPropertyTypes: selectKitContent(["id", "slug"]), - messageUrl: "https://discourse.pluginmanager.org/t/field-settings", + messageUrl: "https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/field-settings", @discourseComputed("field.type") validations(type) { diff --git a/assets/javascripts/discourse/controllers/admin-wizards-custom-fields.js.es6 b/assets/javascripts/discourse/controllers/admin-wizards-custom-fields.js.es6 index 5d47d8d7..65a3ce21 100644 --- a/assets/javascripts/discourse/controllers/admin-wizards-custom-fields.js.es6 +++ b/assets/javascripts/discourse/controllers/admin-wizards-custom-fields.js.es6 @@ -4,7 +4,7 @@ import CustomWizardCustomField from "../models/custom-wizard-custom-field"; export default Controller.extend({ messageKey: "create", fieldKeys: ["klass", "type", "name", "serializers"], - documentationUrl: "https://discourse.pluginmanager.org/t/custom-fields", + documentationUrl: "https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/custom-fields", actions: { addField() { diff --git a/assets/javascripts/discourse/controllers/admin-wizards-logs.js.es6 b/assets/javascripts/discourse/controllers/admin-wizards-logs.js.es6 index 7388a8d6..53cd284b 100644 --- a/assets/javascripts/discourse/controllers/admin-wizards-logs.js.es6 +++ b/assets/javascripts/discourse/controllers/admin-wizards-logs.js.es6 @@ -2,7 +2,7 @@ import Controller from "@ember/controller"; import { default as discourseComputed } from "discourse-common/utils/decorators"; export default Controller.extend({ - documentationUrl: "https://thepavilion.io/t/2818", + documentationUrl: "https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/", @discourseComputed("wizardId") wizardName(wizardId) { diff --git a/assets/javascripts/discourse/controllers/admin-wizards-manager.js.es6 b/assets/javascripts/discourse/controllers/admin-wizards-manager.js.es6 index 67016bd7..0bc77354 100644 --- a/assets/javascripts/discourse/controllers/admin-wizards-manager.js.es6 +++ b/assets/javascripts/discourse/controllers/admin-wizards-manager.js.es6 @@ -7,7 +7,7 @@ import I18n from "I18n"; import { underscore } from "@ember/string"; export default Controller.extend({ - messageUrl: "https://discourse.pluginmanager.org/t/wizard-manager", + messageUrl: "https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/wizard-manager", messageKey: "info", messageIcon: "info-circle", messageClass: "info", diff --git a/assets/javascripts/discourse/controllers/admin-wizards-submissions.js.es6 b/assets/javascripts/discourse/controllers/admin-wizards-submissions.js.es6 index 7388a8d6..53cd284b 100644 --- a/assets/javascripts/discourse/controllers/admin-wizards-submissions.js.es6 +++ b/assets/javascripts/discourse/controllers/admin-wizards-submissions.js.es6 @@ -2,7 +2,7 @@ import Controller from "@ember/controller"; import { default as discourseComputed } from "discourse-common/utils/decorators"; export default Controller.extend({ - documentationUrl: "https://thepavilion.io/t/2818", + documentationUrl: "https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/", @discourseComputed("wizardId") wizardName(wizardId) { diff --git a/assets/javascripts/discourse/controllers/admin-wizards-wizard.js.es6 b/assets/javascripts/discourse/controllers/admin-wizards-wizard.js.es6 index 5178a1e1..994dd1a6 100644 --- a/assets/javascripts/discourse/controllers/admin-wizards-wizard.js.es6 +++ b/assets/javascripts/discourse/controllers/admin-wizards-wizard.js.es6 @@ -22,5 +22,5 @@ export default Controller.extend({ }, messageUrl: - "https://discourse.pluginmanager.org/c/discourse-custom-wizard/documentation", + "https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/", }); diff --git a/assets/javascripts/discourse/mixins/subscription.js.es6 b/assets/javascripts/discourse/mixins/subscription.js.es6 index 34276c3f..219a602b 100644 --- a/assets/javascripts/discourse/mixins/subscription.js.es6 +++ b/assets/javascripts/discourse/mixins/subscription.js.es6 @@ -7,7 +7,7 @@ const PRODUCT_PAGE = "https://custom-wizard.pavilion.tech"; const SUPPORT_MESSAGE = "https://coop.pavilion.tech/new-message?username=support&title=Custom%20Wizard%20Support"; const MANAGER_CATEGORY = - "https://discourse.pluginmanager.org/c/discourse-custom-wizard"; + "https://pavilion.tech/products/discourse-custom-wizard-plugin/support"; export default Mixin.create({ subscriptionLandingUrl: PRODUCT_PAGE, diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index 98519335..b4b9ba68 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -171,7 +171,7 @@ en: not_subscribed: "You've authorized, but are not currently subscribed to a Custom Wizard plan on %{server}." subscription_expiring: "Your subscription is active, but will expire in the next 48 hours." subscription_active: "Your subscription is active." - subscription_inactive: "Your subscription is inactive on this forum. Read more in the documentation." + subscription_inactive: "Your subscription is inactive on this forum. Read more in the documentation." unauthorized: "You're unauthorized. If you have a subscription, it will become inactive in the next 48 hours." unauthorize_failed: Failed to unauthorize. submissions: From 757a195047ed40dc8c22fdae2ae85e6c8e7b9745 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Wed, 11 Oct 2023 08:53:50 +0800 Subject: [PATCH 15/23] Bump version --- plugin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin.rb b/plugin.rb index a4413577..0c4d6a14 100644 --- a/plugin.rb +++ b/plugin.rb @@ -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.26 +# version: 2.4.27 # 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 From 8eee68a0661c07c62e2b1915e62e153a6f61b189 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Mon, 16 Oct 2023 09:09:41 +0800 Subject: [PATCH 16/23] Fix prettier errors --- .../discourse/components/wizard-custom-action.js.es6 | 3 ++- .../discourse/components/wizard-custom-field.js.es6 | 3 ++- .../discourse/controllers/admin-wizards-custom-fields.js.es6 | 3 ++- .../discourse/controllers/admin-wizards-logs.js.es6 | 3 ++- .../discourse/controllers/admin-wizards-manager.js.es6 | 3 ++- .../discourse/controllers/admin-wizards-submissions.js.es6 | 3 ++- 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/assets/javascripts/discourse/components/wizard-custom-action.js.es6 b/assets/javascripts/discourse/components/wizard-custom-action.js.es6 index 9c72b543..b9329617 100644 --- a/assets/javascripts/discourse/components/wizard-custom-action.js.es6 +++ b/assets/javascripts/discourse/components/wizard-custom-action.js.es6 @@ -41,7 +41,8 @@ export default Component.extend(UndoChanges, { }; }), - messageUrl: "https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/action-settings", + messageUrl: + "https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/action-settings", @discourseComputed("action.type") messageKey(type) { diff --git a/assets/javascripts/discourse/components/wizard-custom-field.js.es6 b/assets/javascripts/discourse/components/wizard-custom-field.js.es6 index 4f700490..b19667ad 100644 --- a/assets/javascripts/discourse/components/wizard-custom-field.js.es6 +++ b/assets/javascripts/discourse/components/wizard-custom-field.js.es6 @@ -27,7 +27,8 @@ export default Component.extend(UndoChanges, { isTextType: or("isText", "isTextarea", "isComposer"), isComposerPreview: equal("field.type", "composer_preview"), categoryPropertyTypes: selectKitContent(["id", "slug"]), - messageUrl: "https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/field-settings", + messageUrl: + "https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/field-settings", @discourseComputed("field.type") validations(type) { diff --git a/assets/javascripts/discourse/controllers/admin-wizards-custom-fields.js.es6 b/assets/javascripts/discourse/controllers/admin-wizards-custom-fields.js.es6 index 65a3ce21..11e66782 100644 --- a/assets/javascripts/discourse/controllers/admin-wizards-custom-fields.js.es6 +++ b/assets/javascripts/discourse/controllers/admin-wizards-custom-fields.js.es6 @@ -4,7 +4,8 @@ import CustomWizardCustomField from "../models/custom-wizard-custom-field"; export default Controller.extend({ messageKey: "create", fieldKeys: ["klass", "type", "name", "serializers"], - documentationUrl: "https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/custom-fields", + documentationUrl: + "https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/custom-fields", actions: { addField() { diff --git a/assets/javascripts/discourse/controllers/admin-wizards-logs.js.es6 b/assets/javascripts/discourse/controllers/admin-wizards-logs.js.es6 index 53cd284b..0d321948 100644 --- a/assets/javascripts/discourse/controllers/admin-wizards-logs.js.es6 +++ b/assets/javascripts/discourse/controllers/admin-wizards-logs.js.es6 @@ -2,7 +2,8 @@ import Controller from "@ember/controller"; import { default as discourseComputed } from "discourse-common/utils/decorators"; export default Controller.extend({ - documentationUrl: "https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/", + documentationUrl: + "https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/", @discourseComputed("wizardId") wizardName(wizardId) { diff --git a/assets/javascripts/discourse/controllers/admin-wizards-manager.js.es6 b/assets/javascripts/discourse/controllers/admin-wizards-manager.js.es6 index 0bc77354..65b8987a 100644 --- a/assets/javascripts/discourse/controllers/admin-wizards-manager.js.es6 +++ b/assets/javascripts/discourse/controllers/admin-wizards-manager.js.es6 @@ -7,7 +7,8 @@ import I18n from "I18n"; import { underscore } from "@ember/string"; export default Controller.extend({ - messageUrl: "https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/wizard-manager", + messageUrl: + "https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/wizard-manager", messageKey: "info", messageIcon: "info-circle", messageClass: "info", diff --git a/assets/javascripts/discourse/controllers/admin-wizards-submissions.js.es6 b/assets/javascripts/discourse/controllers/admin-wizards-submissions.js.es6 index 53cd284b..0d321948 100644 --- a/assets/javascripts/discourse/controllers/admin-wizards-submissions.js.es6 +++ b/assets/javascripts/discourse/controllers/admin-wizards-submissions.js.es6 @@ -2,7 +2,8 @@ import Controller from "@ember/controller"; import { default as discourseComputed } from "discourse-common/utils/decorators"; export default Controller.extend({ - documentationUrl: "https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/", + documentationUrl: + "https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/", @discourseComputed("wizardId") wizardName(wizardId) { From 3308c38b36dca0f00032cebac1f6807696a196e8 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Mon, 16 Oct 2023 09:12:23 +0800 Subject: [PATCH 17/23] Bump version --- plugin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin.rb b/plugin.rb index a4413577..b169462f 100644 --- a/plugin.rb +++ b/plugin.rb @@ -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.26 +# version: 2.4.28 # 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 From 78d0cab761d4b64c54f6822acf662a522b060041 Mon Sep 17 00:00:00 2001 From: merefield Date: Wed, 18 Oct 2023 13:14:15 +0100 Subject: [PATCH 18/23] FIX: realtime validations --- .../templates/components/wizard-realtime-validations.hbs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/javascripts/discourse/templates/components/wizard-realtime-validations.hbs b/assets/javascripts/discourse/templates/components/wizard-realtime-validations.hbs index 1d29c655..04f2b1c4 100644 --- a/assets/javascripts/discourse/templates/components/wizard-realtime-validations.hbs +++ b/assets/javascripts/discourse/templates/components/wizard-realtime-validations.hbs @@ -7,7 +7,7 @@
  • {{i18n (concat "admin.wizard.field.validations." type)}}

    - + {{i18n "admin.wizard.field.validations.enabled"}}
    @@ -36,7 +36,7 @@
    {{combo-box From 8740622b8e397eaa5559390b3bcf65cb402f26be Mon Sep 17 00:00:00 2001 From: merefield Date: Wed, 18 Oct 2023 13:15:10 +0100 Subject: [PATCH 19/23] COMPATIBILITY: resolve getOwner import deprecation --- .../discourse/components/wizard-mapper-selector.js.es6 | 2 +- assets/javascripts/discourse/lib/wizard-schema.js.es6 | 4 ++-- assets/javascripts/discourse/mixins/subscription.js.es6 | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/assets/javascripts/discourse/components/wizard-mapper-selector.js.es6 b/assets/javascripts/discourse/components/wizard-mapper-selector.js.es6 index e19e4917..d7cf846b 100644 --- a/assets/javascripts/discourse/components/wizard-mapper-selector.js.es6 +++ b/assets/javascripts/discourse/components/wizard-mapper-selector.js.es6 @@ -4,7 +4,7 @@ import { default as discourseComputed, observes, } from "discourse-common/utils/decorators"; -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwner } from "@ember/application"; import { defaultSelectionType, selectionTypes } from "../lib/wizard-mapper"; import { generateName, diff --git a/assets/javascripts/discourse/lib/wizard-schema.js.es6 b/assets/javascripts/discourse/lib/wizard-schema.js.es6 index 47257d82..959185da 100644 --- a/assets/javascripts/discourse/lib/wizard-schema.js.es6 +++ b/assets/javascripts/discourse/lib/wizard-schema.js.es6 @@ -1,5 +1,5 @@ import { get, set } from "@ember/object"; -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwnerWithFallback } from "discourse-common/lib/get-owner"; const wizard = { basic: { @@ -279,7 +279,7 @@ export function filterValues(currentWizard, feature, attribute, values = null) { return values; } -const siteSettings = getOwner(this).lookup("service:site-settings"); +const siteSettings = getOwnerWithFallback(this).lookup("service:site-settings"); if (siteSettings.wizard_apis_enabled) { wizardSchema.action.types.send_to_api = { api: null, diff --git a/assets/javascripts/discourse/mixins/subscription.js.es6 b/assets/javascripts/discourse/mixins/subscription.js.es6 index 219a602b..9ea9382d 100644 --- a/assets/javascripts/discourse/mixins/subscription.js.es6 +++ b/assets/javascripts/discourse/mixins/subscription.js.es6 @@ -1,5 +1,5 @@ import Mixin from "@ember/object/mixin"; -import { getOwner } from "discourse-common/lib/get-owner"; +import { getOwner } from "@ember/application"; import { readOnly } from "@ember/object/computed"; import discourseComputed from "discourse-common/utils/decorators"; From 2b121d009cc1aff04640fb1131b6a9ecce6d9cab Mon Sep 17 00:00:00 2001 From: merefield Date: Wed, 18 Oct 2023 13:22:22 +0100 Subject: [PATCH 20/23] COMPATIBILITY: resolve pluginId warning --- .../discourse/initializers/custom-wizard-edits.js.es6 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/assets/javascripts/discourse/initializers/custom-wizard-edits.js.es6 b/assets/javascripts/discourse/initializers/custom-wizard-edits.js.es6 index ca72fa4b..2fef6452 100644 --- a/assets/javascripts/discourse/initializers/custom-wizard-edits.js.es6 +++ b/assets/javascripts/discourse/initializers/custom-wizard-edits.js.es6 @@ -85,6 +85,8 @@ export default { }); api.modifyClass("component:category-chooser", { + pluginId: "custom-wizard", + categoriesByScope(options = {}) { let categories = this._super(options); const currentUser = this.currentUser; From 69ecc7068b49b650a60f59cc40450e4cd54dbb91 Mon Sep 17 00:00:00 2001 From: merefield Date: Wed, 18 Oct 2023 13:25:39 +0100 Subject: [PATCH 21/23] bump patch --- plugin.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin.rb b/plugin.rb index b169462f..ab979af8 100644 --- a/plugin.rb +++ b/plugin.rb @@ -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.28 +# version: 2.4.29 # 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 From c6a729ea72fa7e526e12cc238b9f2d5c18e7e052 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Tue, 7 Nov 2023 09:42:13 +0100 Subject: [PATCH 22/23] DEV: PrettyText ctx load breaking change --- .rubocop.yml | 3 +++ lib/custom_wizard/validators/update.rb | 2 +- plugin.rb | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 69fcfc56..74c8c853 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -6,3 +6,6 @@ RSpec/ContextWording: RSpec/DescribeClass: Enabled: false + +Discourse/TimeEqMatcher: + Enabled: false diff --git a/lib/custom_wizard/validators/update.rb b/lib/custom_wizard/validators/update.rb index d71bded1..869f7dca 100644 --- a/lib/custom_wizard/validators/update.rb +++ b/lib/custom_wizard/validators/update.rb @@ -128,7 +128,7 @@ class ::CustomWizard::UpdateValidator return @ctx if @ctx @ctx = PrettyText.v8 - PrettyText.ctx_load(@ctx, "#{Rails.root}/vendor/assets/javascripts/moment.js") + @ctx.load("#{Rails.root}/vendor/assets/javascripts/moment.js") @ctx end end diff --git a/plugin.rb b/plugin.rb index ab979af8..d013e49b 100644 --- a/plugin.rb +++ b/plugin.rb @@ -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.29 +# version: 2.4.30 # 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 From 1d987647b6105d4c604f47037e21344a275e52e2 Mon Sep 17 00:00:00 2001 From: Angus McLeod Date: Tue, 14 Nov 2023 13:18:11 +0100 Subject: [PATCH 23/23] Add note to readme --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 41aaeafc..063ceaa2 100644 --- a/README.md +++ b/README.md @@ -25,3 +25,7 @@ If you're not sure how to install a plugin in Discourse, please follow the [plug ## Support - [Report an issue](https://pavilion.tech/products/discourse-custom-wizard-plugin/support/bug-report) + +## Statistics + +For improved service and development, this plugin collects some generalised quantitative data related to version and usage. No personal or sensitive information is gathered. Please email contact@pavilion.tech if you have any questions or concerns about our data collection.