Class: Decidim::Initiatives::InitiativesController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- ApplicationController
- Decidim::Initiatives::InitiativesController
- Includes:
- FormFactory, Decidim::IconHelper, InitiativeSlug, NeedsInitiative, Orderable, SingleInitiativeType, TypeSelectorOptions, FilterResource, Paginable, ParticipatorySpaceContext
- Defined in:
- app/controllers/decidim/initiatives/initiatives_controller.rb
Overview
This controller contains the logic regarding participants initiatives
Instance Method Summary collapse
-
#edit ⇒ Object
GET /initiatives/:slug/edit.
-
#index ⇒ Object
GET /initiatives.
- #print ⇒ Object
-
#send_to_technical_validation ⇒ Object
GET /initiatives/:id/send_to_technical_validation.
-
#show ⇒ Object
GET /initiatives/:id.
-
#update ⇒ Object
PUT /initiatives/:id.
Methods included from InitiativeSlug
Methods inherited from ApplicationController
#permission_class_chain, #permission_scope, #permissions_context
Instance Method Details
#edit ⇒ Object
GET /initiatives/:slug/edit
76 77 78 79 80 81 82 83 84 85 |
# File 'app/controllers/decidim/initiatives/initiatives_controller.rb', line 76 def edit :edit, :initiative, initiative: current_initiative = form(AttachmentForm).from_model(current_initiative..first) @form = form(Decidim::Initiatives::InitiativeForm) .from_model( current_initiative, initiative: current_initiative ) @form. = end |
#index ⇒ Object
GET /initiatives
37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'app/controllers/decidim/initiatives/initiatives_controller.rb', line 37 def index :list, :initiative return unless search.result.blank? && params.dig("filter", "with_any_state") != %w(closed) @closed_initiatives ||= search_with(filter_params.merge(with_any_state: %w(closed))) if @closed_initiatives.result.present? params[:filter] ||= {} params[:filter][:with_any_state] = %w(closed) @forced_closed_initiatives = true @search = @closed_initiatives end end |
#print ⇒ Object
109 110 111 |
# File 'app/controllers/decidim/initiatives/initiatives_controller.rb', line 109 def print :read, :initiative, initiative: current_initiative end |
#send_to_technical_validation ⇒ Object
GET /initiatives/:id/send_to_technical_validation
60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'app/controllers/decidim/initiatives/initiatives_controller.rb', line 60 def send_to_technical_validation :send_to_technical_validation, :initiative, initiative: current_initiative SendInitiativeToTechnicalValidation.call(current_initiative, current_user) do on(:ok) do redirect_to EngineRouter.main_proxy(current_initiative).initiatives_path(initiative_slug: nil), flash: { notice: I18n.t( "success", scope: "decidim.initiatives.admin.initiatives.edit" ) } end end end |
#show ⇒ Object
GET /initiatives/:id
53 54 55 56 57 |
# File 'app/controllers/decidim/initiatives/initiatives_controller.rb', line 53 def show :read, :initiative, initiative: current_initiative render layout: "decidim/initiative_head" end |
#update ⇒ Object
PUT /initiatives/:id
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
# File 'app/controllers/decidim/initiatives/initiatives_controller.rb', line 88 def update :update, :initiative, initiative: current_initiative params[:id] = params[:slug] params[:type_id] = current_initiative.type&.id @form = form(Decidim::Initiatives::InitiativeForm) .from_params(params, initiative_type: current_initiative.type, initiative: current_initiative) UpdateInitiative.call(current_initiative, @form) do on(:ok) do |initiative| flash[:notice] = I18n.t("success", scope: "decidim.initiatives.update") redirect_to initiative_path(initiative) end on(:invalid) do flash.now[:alert] = I18n.t("error", scope: "decidim.initiatives.update") render :edit, layout: "decidim/initiative" end end end |