0
0
Fork 1
Spiegel von https://github.com/paviliondev/discourse-custom-wizard.git synchronisiert 2024-11-09 20:02:54 +01:00
discourse-custom-wizard/controllers/admin.rb
2017-09-23 10:34:07 +08:00

53 Zeilen
1 KiB
Ruby

class CustomWizard::AdminController < ::ApplicationController
before_filter :ensure_logged_in
before_filter :ensure_admin
def index
render nothing: true
end
def save
params.require(:name)
params.permit(:steps)
wizard = { name: params[:name] }
wizard['steps'] = params[:steps] if params[:steps]
key = params[:name].downcase
PluginStore.set('custom_wizards', key, wizard)
render json: success_json
end
def remove
params.require(:name)
key = params[:name].downcase
PluginStore.remove('custom_wizards', key)
render json: success_json
end
def find
params.require(:name)
key = params[:name].downcase
wizard = PluginStore.get('custom_wizards', key)
render json: success_json.merge(wizard: wizard)
end
def all
rows = PluginStoreRow.where(plugin_name: 'custom_wizards')
wizards = rows ? [*rows].map do |r|
CustomWizard::Wizard.new(r.value)
end : []
render json: success_json.merge(wizards: wizards)
end
end