## 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