class Admin::Legislation::ProcessesController < Admin::Legislation::BaseController include Translatable include ImageAttributes include DocumentAttributes has_filters %w[active all], only: :index load_and_authorize_resource :process, class: "Legislation::Process" def index @processes = ::Legislation::Process.send(@current_filter) .order(start_date: :desc) .page(params[:page]) end def create if @process.save link = legislation_process_path(@process) notice = t("admin.legislation.processes.create.notice", link: link) redirect_to edit_admin_legislation_process_path(@process), notice: notice else flash.now[:error] = t("admin.legislation.processes.create.error") render :new end end def update if @process.update(process_params) link = legislation_process_path(@process) redirect_back(fallback_location: (request.referer || root_path), notice: t("admin.legislation.processes.update.notice", link: link)) else flash.now[:error] = t("admin.legislation.processes.update.error") render :edit end end def destroy @process.destroy! notice = t("admin.legislation.processes.destroy.notice") redirect_to admin_legislation_processes_path, notice: notice end private def process_params params.require(:legislation_process).permit(allowed_params) end def allowed_params [ :start_date, :end_date, :debate_start_date, :debate_end_date, :draft_start_date, :draft_end_date, :draft_publication_date, :allegations_start_date, :allegations_end_date, :proposals_phase_start_date, :proposals_phase_end_date, :result_publication_date, :debate_phase_enabled, :draft_phase_enabled, :allegations_phase_enabled, :proposals_phase_enabled, :draft_publication_enabled, :result_publication_enabled, :published, :custom_list, :background_color, :font_color, :related_sdg_list, translation_params(::Legislation::Process), documents_attributes: document_attributes, image_attributes: image_attributes ] end def resource @process || ::Legislation::Process.find(params[:id]) end end