0
0
Fork 1
Spiegel von https://github.com/paviliondev/discourse-custom-wizard.git synchronisiert 2024-11-28 11:50:28 +01:00

merge main, bump patch

Dieser Commit ist enthalten in:
merefield 2023-10-04 17:20:12 +01:00
Commit d8d8eeeb19
4 geänderte Dateien mit 34 neuen und 6 gelöschten Zeilen

Datei anzeigen

@ -131,6 +131,8 @@ class CustomWizard::Submission
params[:key] = list_actor_id if list_actor_id params[:key] = list_actor_id if list_actor_id
query = PluginStoreRow.where(params) query = PluginStoreRow.where(params)
query = query.order(order_by) if order_by
result = OpenStruct.new(submissions: [], total: nil) result = OpenStruct.new(submissions: [], total: nil)
query.each do |record| query.each do |record|

Datei anzeigen

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

Datei anzeigen

@ -451,4 +451,29 @@ describe CustomWizard::Action do
expect(action.result.success?).to eq(true) expect(action.result.success?).to eq(true)
expect(Topic.find(action.result.output).custom_fields["topic_custom_field"]).to eq("t") expect(Topic.find(action.result.output).custom_fields["topic_custom_field"]).to eq("t")
end end
context 'creating a topic when there are multiple actions' do
it 'works' do
wizard_template['actions'] << create_topic
wizard_template['actions'] << send_message
update_template(wizard_template)
wizard = CustomWizard::Builder.new(@template[:id], user).build
wizard.create_updater(
wizard.steps.first.id,
step_1_field_1: 'Topic Title',
step_1_field_2: 'topic body'
).update
wizard.create_updater(wizard.steps.second.id, {}).update
wizard.create_updater(wizard.steps.last.id, step_3_field_3: category.id)
.update
User.create(username: 'angus1', email: 'angus1@email.com')
wizard.create_updater(wizard.steps[0].id, {}).update
wizard.create_updater(wizard.steps[1].id, {}).update
topic = Topic.where(title: 'Topic Title', category_id: category.id)
expect(topic.exists?).to eq(true)
expect(
Post.where(topic_id: topic.pluck(:id), raw: 'topic body').exists?
).to eq(true)
end
end
end end

Datei anzeigen

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