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