Sha256: 718ddabbc9c621755dfc42c8ec3611f49a372964f6e9d8129193e2997bc20812
Contents?: true
Size: 1.43 KB
Versions: 15
Compression:
Stored size: 1.43 KB
Contents
# frozen_string_literal: true module Decidim module Admin # Base controller that can be inherited by other spaces to publish and unpublish the Participatory Space # class SpacePublicationsController < Decidim::Admin::ApplicationController def create enforce_permission_to_publish publish_command.call(current_participatory_space, current_user) do on(:ok) do flash[:notice] = I18n.t("create.success", scope: i18n_scope) end on(:invalid) do flash.now[:alert] = I18n.t("create.error", scope: i18n_scope) end redirect_back(fallback_location:) end end def destroy enforce_permission_to_publish unpublish_command.call(current_participatory_space, current_user) do on(:ok) do flash[:notice] = I18n.t("destroy.success", scope: i18n_scope) end on(:invalid) do flash.now[:alert] = I18n.t("destroy.error", scope: i18n_scope) end redirect_back(fallback_location:) end end private def publish_command = Decidim::Admin::ParticipatorySpace::Publish def unpublish_command = Decidim::Admin::ParticipatorySpace::Unpublish def current_participatory_space = raise "Not implemented" def enforce_permission_to_publish = raise "Not implemented" def i18n_scope = raise "Not implemented" end end end
Version data entries
15 entries across 15 versions & 1 rubygems