diff --git a/app/models/communication/block/template.rb b/app/models/communication/block/template.rb index b759d8326836f8ecbd05283ddb811c3745c57775..6dc4ebc60ce7b292e34f7e2bf139b13940cb09bc 100644 --- a/app/models/communication/block/template.rb +++ b/app/models/communication/block/template.rb @@ -18,6 +18,10 @@ class Communication::Block::Template [] end + def data + block.data || {elements: []} + end + protected def build_git_dependencies @@ -37,10 +41,6 @@ class Communication::Block::Template university.active_storage_blobs.find id end - def data - block.data || {} - end - def elements data.has_key?('elements') ? data['elements'] : [] diff --git a/app/models/communication/block/template/post.rb b/app/models/communication/block/template/post.rb index 560150c7dcc1ca0f21eb13c1ce01f1a6fef4c102..4e9713be577727744b6153799b54cff328a3258f 100644 --- a/app/models/communication/block/template/post.rb +++ b/app/models/communication/block/template/post.rb @@ -11,6 +11,10 @@ class Communication::Block::Template::Post < Communication::Block::Template end end + def data + @data = block.data || { elements:[], category_id: "all", posts_quantity: 3 } + end + def category @category ||= block.about&.website.categories.find_by(id: data['category_id']) end diff --git a/app/views/admin/communication/blocks/edit.html.erb b/app/views/admin/communication/blocks/edit.html.erb index ea57a1e441a8671e0d736fecd7e9064d68ff2385..1ebecbd8c57462049589e4ff97bfe1e0d87ebeac 100644 --- a/app/views/admin/communication/blocks/edit.html.erb +++ b/app/views/admin/communication/blocks/edit.html.erb @@ -1,8 +1,6 @@ <% content_for :title, @block %> <% -@block.data = {} if @block.data.nil? || @block.data.blank? -# Default elements array to move outside : it is only required when block type has an elements list -@block.data['elements'] ||= [] +@block.template.data = {} if @block.template.data.nil? || @block.template.data.blank? %> <div id="app" v-cloak> <div class="spinner-border text-primary" role="status"> @@ -38,7 +36,7 @@ url: "<%= rails_direct_uploads_url.html_safe %>", blobUrlTemplate: "<%= rails_service_blob_url(":signed_id", ":filename").html_safe %>" }, - data: <%= @block.data.to_json.html_safe %> + data: <%= @block.template.data.to_json.html_safe %> } }, methods: {