1
0
Fork 0
discourse-custom-wizard-unl.../serializers/site_serializer.rb
Angus McLeod d128565979 various
2020-04-14 15:46:06 +10:00

29 Zeilen
Kein EOL
738 B
Ruby

## TODO limit this to the first admin
module CustomWizardSiteSerializerExtension
extend ActiveSupport::Concern
def self.prepended(klass)
klass.class_eval do
attributes :complete_custom_wizard
end
end
def include_wizard_required?
scope.is_admin? && Wizard.new(scope.user).requires_completion?
end
def complete_custom_wizard
if scope.user && requires_completion = CustomWizard::Wizard.prompt_completion(scope.user)
requires_completion.map {|w| { name: w[:name], url: "/w/#{w[:id]}"} }
end
end
def include_complete_custom_wizard?
complete_custom_wizard.present?
end
end
class ::SiteSerializer
prepend CustomWizardSiteSerializerExtension if SiteSetting.custom_wizard_enabled
end