Spiegel von
https://github.com/paviliondev/discourse-custom-wizard.git
synchronisiert 2024-11-10 04:12:53 +01:00
FIX: extension module prepending
Dieser Commit ist enthalten in:
Ursprung
6ad44d58ad
Commit
e584123d34
5 geänderte Dateien mit 42 neuen und 33 gelöschten Zeilen
|
@ -1,8 +1,10 @@
|
||||||
module ApplicationControllerCWExtension
|
module CustomWizardApplicationControllerExtension
|
||||||
extend ActiveSupport::Concern
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
included do
|
def self.prepended(klass)
|
||||||
before_action :redirect_to_wizard_if_required, if: :current_user
|
klass.class_eval do
|
||||||
|
before_action :redirect_to_wizard_if_required, if: :current_user
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def redirect_to_wizard_if_required
|
def redirect_to_wizard_if_required
|
||||||
|
@ -23,5 +25,5 @@ module ApplicationControllerCWExtension
|
||||||
end
|
end
|
||||||
|
|
||||||
class ApplicationController
|
class ApplicationController
|
||||||
prepend ApplicationControllerCWExtension if SiteSetting.custom_wizard_enabled
|
prepend CustomWizardApplicationControllerExtension if SiteSetting.custom_wizard_enabled
|
||||||
end
|
end
|
|
@ -1,11 +1,12 @@
|
||||||
## TODO limit this to the first admin
|
## TODO limit this to the first admin
|
||||||
module SiteSerializerCWX
|
module CustomWizardSiteSerializerExtension
|
||||||
extend ActiveSupport::Concern
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
included do
|
def self.prepended(klass)
|
||||||
attributes :complete_custom_wizard
|
klass.class_eval do
|
||||||
|
attributes :complete_custom_wizard
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def include_wizard_required?
|
def include_wizard_required?
|
||||||
scope.is_admin? && Wizard.new(scope.user).requires_completion?
|
scope.is_admin? && Wizard.new(scope.user).requires_completion?
|
||||||
|
@ -23,5 +24,5 @@ module SiteSerializerCWX
|
||||||
end
|
end
|
||||||
|
|
||||||
class SiteSerializer
|
class SiteSerializer
|
||||||
prepend SiteSerializerCWX if SiteSetting.custom_wizard_enabled
|
prepend CustomWizardSiteSerializerExtension if SiteSetting.custom_wizard_enabled
|
||||||
end
|
end
|
|
@ -1,8 +1,10 @@
|
||||||
module CustomWizardWizardFieldSerializerExtension
|
module CustomWizardFieldSerializerExtension
|
||||||
extend ActiveSupport::Concern
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
included do
|
def self.prepended(klass)
|
||||||
attributes :dropdown_none, :image, :file_types, :limit, :property
|
klass.class_eval do
|
||||||
|
attributes :dropdown_none, :image, :file_types, :limit, :property
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def label
|
def label
|
||||||
|
@ -45,5 +47,5 @@ module CustomWizardWizardFieldSerializerExtension
|
||||||
end
|
end
|
||||||
|
|
||||||
class WizardFieldSerializer
|
class WizardFieldSerializer
|
||||||
prepend CustomWizardWizardFieldSerializerExtension if SiteSetting.custom_wizard_enabled
|
prepend CustomWizardFieldSerializerExtension if SiteSetting.custom_wizard_enabled
|
||||||
end
|
end
|
|
@ -1,19 +1,21 @@
|
||||||
module CustomWizardWizardSerializerExtension
|
module CustomWizardSerializerExtension
|
||||||
extend ActiveSupport::Concern
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
included do
|
def self.prepended(klass)
|
||||||
attributes :id,
|
klass.class_eval do
|
||||||
:name,
|
attributes :id,
|
||||||
:background,
|
:name,
|
||||||
:completed,
|
:background,
|
||||||
:required,
|
:completed,
|
||||||
:min_trust,
|
:required,
|
||||||
:permitted,
|
:min_trust,
|
||||||
:user,
|
:permitted,
|
||||||
:categories,
|
:user,
|
||||||
:uncategorized_category_id
|
:categories,
|
||||||
|
:uncategorized_category_id
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def id
|
def id
|
||||||
object.id
|
object.id
|
||||||
end
|
end
|
||||||
|
@ -89,7 +91,7 @@ module CustomWizardWizardSerializerExtension
|
||||||
site = ::Site.new(scope)
|
site = ::Site.new(scope)
|
||||||
::ActiveModel::ArraySerializer.new(site.categories, each_serializer: BasicCategorySerializer)
|
::ActiveModel::ArraySerializer.new(site.categories, each_serializer: BasicCategorySerializer)
|
||||||
rescue => e
|
rescue => e
|
||||||
puts "HERE IS THE ERROR: #{e.inspect}"
|
[]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -98,6 +100,6 @@ module CustomWizardWizardSerializerExtension
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
class WizardSerializer
|
class WizardSerializer
|
||||||
prepend CustomWizardWizardSerializerExtension if SiteSetting.custom_wizard_enabled
|
prepend CustomWizardSerializerExtension if SiteSetting.custom_wizard_enabled
|
||||||
end
|
end
|
|
@ -1,8 +1,10 @@
|
||||||
module CustomWizardWizardStepSerializerExtension
|
module CustomWizardStepSerializerExtension
|
||||||
extend ActiveSupport::Concern
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
included do
|
def self.prepended(klass)
|
||||||
attributes :permitted, :permitted_message
|
klass.class_eval do
|
||||||
|
attributes :permitted, :permitted_message
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def title
|
def title
|
||||||
|
@ -25,5 +27,5 @@ module CustomWizardWizardStepSerializerExtension
|
||||||
end
|
end
|
||||||
|
|
||||||
class WizardStepSerializer
|
class WizardStepSerializer
|
||||||
prepend CustomWizardWizardStepSerializerExtension if SiteSetting.custom_wizard_enabled
|
prepend CustomWizardStepSerializerExtension if SiteSetting.custom_wizard_enabled
|
||||||
end
|
end
|
Laden …
In neuem Issue referenzieren