From 1a81f23b1cf372ef0f23fd61152fee2efcd61e25 Mon Sep 17 00:00:00 2001
From: Arnaud Levy <contact@arnaudlevy.com>
Date: Tue, 21 Mar 2023 22:51:48 +0100
Subject: [PATCH] wip

---
 app/models/communication/block/heading.rb                  | 3 ++-
 app/views/admin/communication/blocks/edit.html.erb         | 3 ---
 .../admin/communication/blocks/headings/_form.html.erb     | 7 +++++++
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/app/models/communication/block/heading.rb b/app/models/communication/block/heading.rb
index f8537a44c..b15589e15 100644
--- a/app/models/communication/block/heading.rb
+++ b/app/models/communication/block/heading.rb
@@ -35,7 +35,8 @@ class Communication::Block::Heading < ApplicationRecord
   has_many    :children,
               class_name: 'Communication::Block::Heading',
               foreign_key: :parent_id
-  has_many    :blocks
+  has_many    :blocks,
+              dependent: :nullify
 
   DEFAULT_LEVEL = 2
   
diff --git a/app/views/admin/communication/blocks/edit.html.erb b/app/views/admin/communication/blocks/edit.html.erb
index 6af97a74b..b498bd9a6 100644
--- a/app/views/admin/communication/blocks/edit.html.erb
+++ b/app/views/admin/communication/blocks/edit.html.erb
@@ -34,9 +34,6 @@
     </textarea>
     <% content_for :action_bar_left do %>
       <%= destroy_link @block %>
-      <%= link_to 'Dependencies',
-                  [:admin, @block],
-                  class: button_classes('btn-light') if current_user.server_admin? %>
     <% end %>
     <% content_for :action_bar_right do %>
       <%= submit f %>
diff --git a/app/views/admin/communication/blocks/headings/_form.html.erb b/app/views/admin/communication/blocks/headings/_form.html.erb
index 34108a981..1af6668be 100644
--- a/app/views/admin/communication/blocks/headings/_form.html.erb
+++ b/app/views/admin/communication/blocks/headings/_form.html.erb
@@ -8,6 +8,13 @@ url = heading.persisted?  ? admin_communication_heading_path(heading)
   <%= f.input :title %>
   <%= f.input :about_type, as: :hidden %>
   <%= f.input :about_id, as: :hidden %>
+  <% content_for :action_bar_left do %>
+    <%= link_to t('delete'),
+                admin_communication_heading_path(heading), 
+                method: :delete,
+                data: { confirm: t('please_confirm') },
+                class: button_classes_danger if can? :destroy, heading %>
+  <% end %>
   <% content_for :action_bar_right do %>
     <%= submit f %>
   <% end %>
-- 
GitLab