Sha256: 53eeb4299f8734b94c413eedd6299a6e5ea953e1abac33e12e1fbb455cf5d366
Contents?: true
Size: 1.42 KB
Versions: 4
Compression:
Stored size: 1.42 KB
Contents
# frozen_string_literal: true module Decidim module Proposals module Admin # This controller allows admins to manage proposals in a participatory process. class ProposalsController < Admin::ApplicationController helper Proposals::ApplicationHelper helper_method :proposals, :query def new authorize! :create, Proposal @form = form(Admin::ProposalForm).from_params( attachment: form(AttachmentForm).from_params({}) ) end def create authorize! :create, Proposal @form = form(Admin::ProposalForm).from_params(params) Admin::CreateProposal.call(@form) do on(:ok) do flash[:notice] = I18n.t("proposals.create.success", scope: "decidim.proposals.admin") redirect_to proposals_path end on(:invalid) do flash.now[:alert] = I18n.t("proposals.create.invalid", scope: "decidim.proposals.admin") render action: "new" end end end private def query @query ||= Proposal.where(feature: current_feature).ransack(params[:q]) end def proposals @proposals ||= query.result.page(params[:page]).per(15) end def proposal @proposal ||= Proposal.where(feature: current_feature).find(params[:id]) end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems