diff --git a/assets/javascripts/discourse/lib/wizard-schema.js.es6 b/assets/javascripts/discourse/lib/wizard-schema.js.es6 index dcb60a0e..24bda1d3 100644 --- a/assets/javascripts/discourse/lib/wizard-schema.js.es6 +++ b/assets/javascripts/discourse/lib/wizard-schema.js.es6 @@ -72,6 +72,7 @@ const field = { required: null, type: null, condition: null, + tag_groups: null, }, types: {}, mapped: ["prefill", "content", "condition", "index"], @@ -241,6 +242,10 @@ const custom_field = { type: ["string", "boolean", "integer", "json"], }; +export function buildFieldTypes(types) { + wizardSchema.field.types = types; +} + field.type = Object.keys(field.types); action.type = Object.keys(action.types); @@ -260,7 +265,7 @@ export function buildFieldValidations(validations) { export function filterValues(currentWizard, feature, attribute, values = null) { values = values || wizardSchema[feature][attribute]; - if (currentWizard.allowGuests) { + if (currentWizard && currentWizard.allowGuests) { const filteredFeature = wizardSchema.filters.allow_guests[feature]; if (filteredFeature) { const filtered = filteredFeature[attribute]; diff --git a/assets/javascripts/discourse/routes/admin-wizards-wizard.js.es6 b/assets/javascripts/discourse/routes/admin-wizards-wizard.js.es6 index 6e42bcbd..b23b63f6 100644 --- a/assets/javascripts/discourse/routes/admin-wizards-wizard.js.es6 +++ b/assets/javascripts/discourse/routes/admin-wizards-wizard.js.es6 @@ -1,5 +1,5 @@ import DiscourseRoute from "discourse/routes/discourse"; -import { buildFieldValidations } from "../lib/wizard-schema"; +import { buildFieldTypes, buildFieldValidations } from "../lib/wizard-schema"; import EmberObject, { set } from "@ember/object"; import { A } from "@ember/array"; import { all } from "rsvp"; @@ -11,6 +11,7 @@ export default DiscourseRoute.extend({ }, afterModel(model) { + buildFieldTypes(model.field_types); buildFieldValidations(model.realtime_validations); return all([ diff --git a/spec/requests/custom_wizard/admin/manager_controller_spec.rb b/spec/requests/custom_wizard/admin/manager_controller_spec.rb index 30c1aa3a..608b61fb 100644 --- a/spec/requests/custom_wizard/admin/manager_controller_spec.rb +++ b/spec/requests/custom_wizard/admin/manager_controller_spec.rb @@ -13,7 +13,7 @@ describe CustomWizard::AdminManagerController do template_3["id"] = 'super_mega_fun_wizard_3' @template_array = [template, template_2, template_3] - FileUtils.mkdir_p(file_from_fixtures_tmp_folder) unless Dir.exists?(file_from_fixtures_tmp_folder) + FileUtils.mkdir_p(file_from_fixtures_tmp_folder) unless Dir.exist?(file_from_fixtures_tmp_folder) @tmp_file_path = File.join(file_from_fixtures_tmp_folder, SecureRandom.hex << 'wizards.json') File.write(@tmp_file_path, @template_array.to_json) end