Sha256: 74a57b61576229b4fb654e932b4ffe13c7f571476a42ad7f680a1d3a7ad54e4a

Contents?: true

Size: 1.2 KB

Versions: 1

Compression:

Stored size: 1.2 KB

Contents

# frozen_string_literal: true

module Decidim
  module ReportingProposals
    module Admin
      class ProposalNotesController < Admin::ApplicationController
        helper_method :note

        def edit
          enforce_permission_to :edit_note, :proposal_note, proposal_note: note
          @notes_form = form(Decidim::Proposals::Admin::ProposalNoteForm).from_model(note)
        end

        def update
          enforce_permission_to :edit_note, :proposal_note, proposal_note: note
          @notes_form = form(Decidim::Proposals::Admin::ProposalNoteForm).from_params(params)

          Decidim::ReportingProposals::Admin::UpdateProposalNote.call(@notes_form, note) do
            on(:ok) do
              flash[:notice] = I18n.t("proposal_notes.update.success", scope: "decidim.reporting_proposals.admin")
            end

            on(:invalid) do
              flash[:alert] = I18n.t("proposal_notes.update.invalid", scope: "decidim.reporting_proposals.admin")
            end
            redirect_back(fallback_location: decidim_admin.root_path)
          end
        end

        private

        def note
          @note ||= Decidim::Proposals::ProposalNote.find(params[:id])
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
decidim-reporting_proposals-0.2.0 app/controllers/decidim/reporting_proposals/admin/proposal_notes_controller.rb