admin.rb 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. class CustomWizard::AdminController < ::ApplicationController
  2. before_filter :ensure_logged_in
  3. before_filter :ensure_admin
  4. def index
  5. render nothing: true
  6. end
  7. def save
  8. params.require(:name)
  9. params.permit(:steps)
  10. wizard = { name: params[:name] }
  11. wizard['steps'] = params[:steps] if params[:steps]
  12. key = params[:name].downcase
  13. PluginStore.set('custom_wizards', key, wizard)
  14. render json: success_json
  15. end
  16. def remove
  17. params.require(:name)
  18. key = params[:name].downcase
  19. PluginStore.remove('custom_wizards', key)
  20. render json: success_json
  21. end
  22. def find
  23. params.require(:name)
  24. key = params[:name].downcase
  25. wizard = PluginStore.get('custom_wizards', key)
  26. render json: success_json.merge(wizard: wizard)
  27. end
  28. def all
  29. rows = PluginStoreRow.where(plugin_name: 'custom_wizards')
  30. wizards = rows ? [*rows].map do |r|
  31. CustomWizard::Wizard.new(r.value)
  32. end : []
  33. render json: success_json.merge(wizards: wizards)
  34. end
  35. end