From 7fb622236c6c18b1a8c80306eff869a7336140be Mon Sep 17 00:00:00 2001
From: Arnaud Levy <contact@arnaudlevy.com>
Date: Fri, 3 Jun 2022 19:25:43 +0200
Subject: [PATCH] robustness

---
 app/models/communication/block/template/base.rb    | 4 ++++
 app/models/communication/block/template/gallery.rb | 2 +-
 app/views/admin/communication/blocks/edit.html.erb | 5 ++++-
 3 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/app/models/communication/block/template/base.rb b/app/models/communication/block/template/base.rb
index f6081d597..b7d8384fc 100644
--- a/app/models/communication/block/template/base.rb
+++ b/app/models/communication/block/template/base.rb
@@ -87,6 +87,10 @@ class Communication::Block::Template::Base
     []
   end
 
+  def default_element
+    nil
+  end
+
   def elements
     data['elements']
   end
diff --git a/app/models/communication/block/template/gallery.rb b/app/models/communication/block/template/gallery.rb
index 9e2d66ee8..833ef1c6b 100644
--- a/app/models/communication/block/template/gallery.rb
+++ b/app/models/communication/block/template/gallery.rb
@@ -4,7 +4,7 @@ class Communication::Block::Template::Gallery < Communication::Block::Template::
 
   # has_select :layout, options: LAYOUTS, default: LAYOUTS.first
 
-  def element
+  def default_element
     Communication::Block::Template::Gallery::Image.new block
   end
 
diff --git a/app/views/admin/communication/blocks/edit.html.erb b/app/views/admin/communication/blocks/edit.html.erb
index b1c1d9c62..265ae919d 100644
--- a/app/views/admin/communication/blocks/edit.html.erb
+++ b/app/views/admin/communication/blocks/edit.html.erb
@@ -37,7 +37,10 @@
           blobUrlTemplate: "<%= rails_service_blob_url(":signed_id", ":filename").html_safe %>"
         },
         data: <%= @block.data.to_json.html_safe %>,
-        defaultElement: <%= @block.template.element.default_data.to_json.html_safe %>
+        <% if @block.template.default_element %>
+          <% element = @block.template.default_element %>
+        defaultElement: <%= element.default_data.to_json.html_safe %>
+        <% end %>
       }
     },
     methods: {
-- 
GitLab