Class: Decidim::Accountability::Admin::ResultsController
- Inherits:
-
ApplicationController
- Object
- Decidim::Admin::Components::BaseController
- ApplicationController
- Decidim::Accountability::Admin::ResultsController
- Includes:
- Decidim::ApplicationHelper, SanitizeHelper
- Defined in:
- app/controllers/decidim/accountability/admin/results_controller.rb
Overview
This controller allows an admin to manage results from a Participatory Process
Instance Method Summary collapse
- #create ⇒ Object
- #destroy ⇒ Object
- #edit ⇒ Object
- #new ⇒ Object
- #proposals ⇒ Object
- #update ⇒ Object
Instance Method Details
#create ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'app/controllers/decidim/accountability/admin/results_controller.rb', line 19 def create :create, :result @form = form(ResultForm).from_params(params) CreateResult.call(@form) do on(:ok) do flash[:notice] = I18n.t("results.create.success", scope: "decidim.accountability.admin") redirect_to results_path(parent_id: result.parent_id) end on(:invalid) do flash.now[:alert] = I18n.t("results.create.invalid", scope: "decidim.accountability.admin") render action: "new" end end end |
#destroy ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 |
# File 'app/controllers/decidim/accountability/admin/results_controller.rb', line 61 def destroy :destroy, :result, result: result DestroyResult.call(result, current_user) do on(:ok) do flash[:notice] = I18n.t("results.destroy.success", scope: "decidim.accountability.admin") redirect_to results_path(parent_id: result.parent_id) end end end |
#edit ⇒ Object
37 38 39 40 41 |
# File 'app/controllers/decidim/accountability/admin/results_controller.rb', line 37 def edit :update, :result, result: result @form = form(ResultForm).from_model(result) end |
#new ⇒ Object
12 13 14 15 16 17 |
# File 'app/controllers/decidim/accountability/admin/results_controller.rb', line 12 def new :create, :result @form = form(ResultForm).instance @form.parent_id = params[:parent_id] end |
#proposals ⇒ Object
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'app/controllers/decidim/accountability/admin/results_controller.rb', line 73 def proposals respond_to do |format| format.html do render partial: "proposals" end format.json do query = Decidim.find_resource_manifest(:proposals) .try(:resource_scope, current_component)&.order(title: :asc) term = params[:term] if term&.start_with?("#") term.delete!("#") query = query.where("CAST(id AS TEXT) LIKE ?", "#{term}%") else query = query.where("title ilike ?", "%#{params[:term]}%") end render json: query.all.collect { |p| [decidim_html_escape(present(p).title), p.id] } end end end |
#update ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'app/controllers/decidim/accountability/admin/results_controller.rb', line 43 def update :update, :result, result: result @form = form(ResultForm).from_params(params) UpdateResult.call(@form, result) do on(:ok) do flash[:notice] = I18n.t("results.update.success", scope: "decidim.accountability.admin") redirect_to results_path(parent_id: result.parent_id) end on(:invalid) do flash.now[:alert] = I18n.t("results.update.invalid", scope: "decidim.accountability.admin") render action: "edit" end end end |