Class: Decidim::CollaborativeTexts::Admin::DocumentsController
- Inherits:
-
ApplicationController
- Object
- Admin::Components::BaseController
- ApplicationController
- Decidim::CollaborativeTexts::Admin::DocumentsController
- Includes:
- Admin::HasTrashableResources, Filterable
- Defined in:
- app/controllers/decidim/collaborative_texts/admin/documents_controller.rb
Instance Method Summary collapse
- #create ⇒ Object
- #edit ⇒ Object
- #edit_settings ⇒ Object
- #index ⇒ Object
- #new ⇒ Object
- #publish ⇒ Object
- #unpublish ⇒ Object
- #update ⇒ Object
- #update_settings ⇒ Object
Instance Method Details
#create ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'app/controllers/decidim/collaborative_texts/admin/documents_controller.rb', line 21 def create :create, :collaborative_text @form = form(DocumentForm).from_params(params) CreateDocument.call(@form) do on(:ok) do flash[:notice] = I18n.t("documents.create.success", scope: "decidim.collaborative_texts.admin") redirect_to documents_path end on(:invalid) do flash.now[:alert] = I18n.t("documents.create.invalid", scope: "decidim.collaborative_texts.admin") render action: "new", status: :unprocessable_content end end end |
#edit ⇒ Object
38 39 40 41 |
# File 'app/controllers/decidim/collaborative_texts/admin/documents_controller.rb', line 38 def edit (:update, :collaborative_text, document:) @form = form(DocumentForm).from_model(document) end |
#edit_settings ⇒ Object
62 63 64 65 |
# File 'app/controllers/decidim/collaborative_texts/admin/documents_controller.rb', line 62 def edit_settings (:update, :collaborative_text, document:) @form = form(Admin::DocumentForm).from_model(document) end |
#index ⇒ Object
12 13 14 |
# File 'app/controllers/decidim/collaborative_texts/admin/documents_controller.rb', line 12 def index :read, :collaborative_text end |
#new ⇒ Object
16 17 18 19 |
# File 'app/controllers/decidim/collaborative_texts/admin/documents_controller.rb', line 16 def new :create, :collaborative_text @form = form(DocumentForm).instance end |
#publish ⇒ Object
84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
# File 'app/controllers/decidim/collaborative_texts/admin/documents_controller.rb', line 84 def publish (:update, :collaborative_text, document:) Decidim::CollaborativeTexts::Admin::PublishDocument.call(document, current_user) do on(:ok) do flash[:notice] = I18n.t("documents.publish.success", scope: "decidim.collaborative_texts.admin") redirect_to documents_path end on(:invalid) do flash.now[:alert] = I18n.t("documents.publish.invalid", scope: "decidim.collaborative_texts.admin") render action: "index", status: :unprocessable_content end end end |
#unpublish ⇒ Object
99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'app/controllers/decidim/collaborative_texts/admin/documents_controller.rb', line 99 def unpublish (:update, :collaborative_text, document:) Decidim::CollaborativeTexts::Admin::UnpublishDocument.call(document, current_user) do on(:ok) do flash[:notice] = I18n.t("documents.unpublish.success", scope: "decidim.collaborative_texts.admin") redirect_to documents_path end on(:invalid) do flash.now[:alert] = I18n.t("documents.unpublish.invalid", scope: "decidim.collaborative_texts.admin") render action: "index", status: :unprocessable_content end end end |
#update ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'app/controllers/decidim/collaborative_texts/admin/documents_controller.rb', line 43 def update (:update, :collaborative_text, document:) @form = form(DocumentForm).from_params(params) UpdateDocument.call(@form, document) do on(:ok) do flash[:notice] = I18n.t("documents.update.success", scope: "decidim.collaborative_texts.admin") redirect_to documents_path end on(:invalid) do flash.now[:alert] = I18n.t("documents.update.invalid", scope: "decidim.collaborative_texts.admin") # This is a safe-guard in case there is no body coming from the POST request (as this attribute is read-only in certain cases) @form.body = document.body if @form.body.blank? render action: "edit", status: :unprocessable_content end end end |
#update_settings ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'app/controllers/decidim/collaborative_texts/admin/documents_controller.rb', line 67 def update_settings (:update, :collaborative_text, document:) @form = form(Admin::DocumentForm).from_params(params) UpdateDocumentSettings.call(@form, document) do on(:ok) do flash[:notice] = I18n.t("documents.update_settings.success", scope: "decidim.collaborative_texts.admin") redirect_to documents_path end on(:invalid) do flash.now[:alert] = I18n.t("documents.update_settings.invalid", scope: "decidim.collaborative_texts.admin") render action: "edit_settings", status: :unprocessable_content end end end |