From 87c8b14a86cf6c93a092c067862286398e0f0dd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre-Andr=C3=A9=20Boissinot?= <pierreandre.boissinot@noesya.coop> Date: Thu, 27 Feb 2025 12:08:59 +0100 Subject: [PATCH] allow batch unpublish (#2749) --- .../admin/communication/websites/posts_controller.rb | 2 +- app/models/concerns/with_publication.rb | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/controllers/admin/communication/websites/posts_controller.rb b/app/controllers/admin/communication/websites/posts_controller.rb index dc810268b..5c480a006 100644 --- a/app/controllers/admin/communication/websites/posts_controller.rb +++ b/app/controllers/admin/communication/websites/posts_controller.rb @@ -20,7 +20,7 @@ class Admin::Communication::Websites::PostsController < Admin::Communication::We target_posts.each do |post| l10n = post.localization_for(current_language) next unless l10n.present? - l10n.publish! + is_published ? l10n.publish! : l10n.unpublish! post.save_and_sync end redirect_back fallback_location: admin_communication_website_posts_path, diff --git a/app/models/concerns/with_publication.rb b/app/models/concerns/with_publication.rb index 95e5d92e2..e9435e9f0 100644 --- a/app/models/concerns/with_publication.rb +++ b/app/models/concerns/with_publication.rb @@ -33,6 +33,12 @@ module WithPublication save end + def unpublish! + self.published = false + self.published_at = nil + save + end + def draft? !published end -- GitLab