From 17af98b4a9254d7f51a0f021899f407c13061e30 Mon Sep 17 00:00:00 2001
From: alexisben <alexiben7@gmail.com>
Date: Fri, 4 Mar 2022 14:02:20 +0100
Subject: [PATCH] Set options toolbar config in summernote blocks

---
 app/assets/javascripts/admin/plugins/summernote.js    | 11 +++++++++++
 app/models/administration/qualiopi/indicator.rb       |  2 +-
 app/models/communication/website.rb                   |  2 +-
 app/models/communication/website/configs/base_url.rb  |  2 +-
 .../communication/website/configs/permalinks.rb       |  2 +-
 app/models/communication/website/git_file.rb          |  2 +-
 app/models/communication/website/page.rb              |  2 +-
 app/models/education/program.rb                       |  2 +-
 app/models/university/person.rb                       |  4 ++--
 app/models/university/person/administrator.rb         |  4 ++--
 app/models/university/person/author.rb                |  4 ++--
 app/models/university/person/researcher.rb            |  4 ++--
 app/models/university/person/teacher.rb               |  4 ++--
 app/views/admin/communication/blocks/edit.html.erb    |  8 +++-----
 .../blocks/templates/chapter/_edit.html.erb           |  2 +-
 .../blocks/templates/chapter/_static.html.erb         |  2 +-
 test/fixtures/communication/website/git_files.yml     |  2 +-
 test/fixtures/communication/websites.yml              |  2 +-
 test/models/communication/website/git_file_test.rb    |  2 +-
 19 files changed, 36 insertions(+), 27 deletions(-)

diff --git a/app/assets/javascripts/admin/plugins/summernote.js b/app/assets/javascripts/admin/plugins/summernote.js
index 038b6160e..161ca8065 100644
--- a/app/assets/javascripts/admin/plugins/summernote.js
+++ b/app/assets/javascripts/admin/plugins/summernote.js
@@ -11,6 +11,15 @@ $(function () {
         ]
     };
 
+    configs['mini-list'] = {
+        toolbar: [
+            ['font', ['bold', 'italic']],
+            ['para', ['ul', 'ol']],
+            ['insert', ['link']],
+            ['view', ['codeview']]
+        ]
+    };
+
     configs['default'] = {
         popover: {
             image: [
@@ -61,4 +70,6 @@ $(function () {
         config = config || 'default';
         $(this).summernote(configs[config]);
     });
+
+    window.SUMMERNOTE_CONFIGS = configs;
 });
diff --git a/app/models/administration/qualiopi/indicator.rb b/app/models/administration/qualiopi/indicator.rb
index 6e06a0273..300286f22 100644
--- a/app/models/administration/qualiopi/indicator.rb
+++ b/app/models/administration/qualiopi/indicator.rb
@@ -20,7 +20,7 @@
 #
 # Foreign Keys
 #
-#  fk_rails_eed87f7acf  (criterion_id => administration_qualiopi_criterions.id)
+#  fk_rails_31f1a0a2c9  (criterion_id => administration_qualiopi_criterions.id)
 #
 class Administration::Qualiopi::Indicator < ApplicationRecord
   include Sanitizable
diff --git a/app/models/communication/website.rb b/app/models/communication/website.rb
index 34d1eb1cf..a6eca485f 100644
--- a/app/models/communication/website.rb
+++ b/app/models/communication/website.rb
@@ -22,7 +22,7 @@
 #
 # Foreign Keys
 #
-#  fk_rails_bb6a496c08  (university_id => universities.id)
+#  fk_rails_94b0abd85b  (university_id => universities.id)
 #
 class Communication::Website < ApplicationRecord
   include WithAbouts
diff --git a/app/models/communication/website/configs/base_url.rb b/app/models/communication/website/configs/base_url.rb
index a2510c716..a71222014 100644
--- a/app/models/communication/website/configs/base_url.rb
+++ b/app/models/communication/website/configs/base_url.rb
@@ -22,7 +22,7 @@
 #
 # Foreign Keys
 #
-#  fk_rails_bb6a496c08  (university_id => universities.id)
+#  fk_rails_94b0abd85b  (university_id => universities.id)
 #
 class Communication::Website::Configs::BaseUrl < Communication::Website
 
diff --git a/app/models/communication/website/configs/permalinks.rb b/app/models/communication/website/configs/permalinks.rb
index 04a9cc323..387417dae 100644
--- a/app/models/communication/website/configs/permalinks.rb
+++ b/app/models/communication/website/configs/permalinks.rb
@@ -22,7 +22,7 @@
 #
 # Foreign Keys
 #
-#  fk_rails_bb6a496c08  (university_id => universities.id)
+#  fk_rails_94b0abd85b  (university_id => universities.id)
 #
 class Communication::Website::Configs::Permalinks < Communication::Website
 
diff --git a/app/models/communication/website/git_file.rb b/app/models/communication/website/git_file.rb
index e88ce09b8..d58cb468e 100644
--- a/app/models/communication/website/git_file.rb
+++ b/app/models/communication/website/git_file.rb
@@ -18,7 +18,7 @@
 #
 # Foreign Keys
 #
-#  fk_rails_8505d649e8  (website_id => communication_websites.id)
+#  fk_rails_b6b8b2cce2  (website_id => communication_websites.id)
 #
 class Communication::Website::GitFile < ApplicationRecord
   belongs_to :website, class_name: 'Communication::Website'
diff --git a/app/models/communication/website/page.rb b/app/models/communication/website/page.rb
index 74521470c..026ccae6b 100644
--- a/app/models/communication/website/page.rb
+++ b/app/models/communication/website/page.rb
@@ -33,8 +33,8 @@
 # Foreign Keys
 #
 #  fk_rails_1a42003f06  (parent_id => communication_website_pages.id)
+#  fk_rails_2315541232  (related_category_id => communication_website_categories.id)
 #  fk_rails_280107c62b  (communication_website_id => communication_websites.id)
-#  fk_rails_47b37cf8b2  (related_category_id => communication_website_categories.id)
 #  fk_rails_d208d15a73  (university_id => universities.id)
 #
 
diff --git a/app/models/education/program.rb b/app/models/education/program.rb
index 449c1d170..9144bcae3 100644
--- a/app/models/education/program.rb
+++ b/app/models/education/program.rb
@@ -39,7 +39,7 @@
 #
 # Foreign Keys
 #
-#  fk_rails_08b351087c  (university_id => universities.id)
+#  fk_rails_6e16107511  (university_id => universities.id)
 #  fk_rails_ec1f16f607  (parent_id => education_programs.id)
 #
 class Education::Program < ApplicationRecord
diff --git a/app/models/university/person.rb b/app/models/university/person.rb
index dd1d4ca90..b93061b39 100644
--- a/app/models/university/person.rb
+++ b/app/models/university/person.rb
@@ -27,8 +27,8 @@
 #
 # Foreign Keys
 #
-#  fk_rails_b47a769440  (user_id => users.id)
-#  fk_rails_da35e70d61  (university_id => universities.id)
+#  fk_rails_433744b4e8  (user_id => users.id)
+#  fk_rails_49ac392937  (university_id => universities.id)
 #
 class University::Person < ApplicationRecord
   include Sanitizable
diff --git a/app/models/university/person/administrator.rb b/app/models/university/person/administrator.rb
index b7bca4442..d11f849b2 100644
--- a/app/models/university/person/administrator.rb
+++ b/app/models/university/person/administrator.rb
@@ -27,8 +27,8 @@
 #
 # Foreign Keys
 #
-#  fk_rails_b47a769440  (user_id => users.id)
-#  fk_rails_da35e70d61  (university_id => universities.id)
+#  fk_rails_433744b4e8  (user_id => users.id)
+#  fk_rails_49ac392937  (university_id => universities.id)
 #
 class University::Person::Administrator < University::Person
   def self.polymorphic_name
diff --git a/app/models/university/person/author.rb b/app/models/university/person/author.rb
index 5bf2ee2c4..5c5fb92cc 100644
--- a/app/models/university/person/author.rb
+++ b/app/models/university/person/author.rb
@@ -27,8 +27,8 @@
 #
 # Foreign Keys
 #
-#  fk_rails_b47a769440  (user_id => users.id)
-#  fk_rails_da35e70d61  (university_id => universities.id)
+#  fk_rails_433744b4e8  (user_id => users.id)
+#  fk_rails_49ac392937  (university_id => universities.id)
 #
 class University::Person::Author < University::Person
   def self.polymorphic_name
diff --git a/app/models/university/person/researcher.rb b/app/models/university/person/researcher.rb
index 9ca522425..989f141a5 100644
--- a/app/models/university/person/researcher.rb
+++ b/app/models/university/person/researcher.rb
@@ -27,8 +27,8 @@
 #
 # Foreign Keys
 #
-#  fk_rails_b47a769440  (user_id => users.id)
-#  fk_rails_da35e70d61  (university_id => universities.id)
+#  fk_rails_433744b4e8  (user_id => users.id)
+#  fk_rails_49ac392937  (university_id => universities.id)
 #
 class University::Person::Researcher < University::Person
   def self.polymorphic_name
diff --git a/app/models/university/person/teacher.rb b/app/models/university/person/teacher.rb
index 2f75bd1ab..e83a8b826 100644
--- a/app/models/university/person/teacher.rb
+++ b/app/models/university/person/teacher.rb
@@ -27,8 +27,8 @@
 #
 # Foreign Keys
 #
-#  fk_rails_b47a769440  (user_id => users.id)
-#  fk_rails_da35e70d61  (university_id => universities.id)
+#  fk_rails_433744b4e8  (user_id => users.id)
+#  fk_rails_49ac392937  (university_id => universities.id)
 #
 class University::Person::Teacher < University::Person
   def self.polymorphic_name
diff --git a/app/views/admin/communication/blocks/edit.html.erb b/app/views/admin/communication/blocks/edit.html.erb
index 35011324f..22de33826 100644
--- a/app/views/admin/communication/blocks/edit.html.erb
+++ b/app/views/admin/communication/blocks/edit.html.erb
@@ -70,12 +70,10 @@
         return this.getFileUrl(data.signed_id, data.filename);
       },
       handleSummernote() {
+        var config = this.$refs.summernoteInput.getAttribute('data-summernote-config') || 'default';
+
         $(this.$refs.summernoteInput).summernote({
-          toolbar: [
-            ['font', ['bold', 'italic']],
-            ['insert', ['link']],
-            ['view', ['codeview']]
-          ],
+          toolbar: window.SUMMERNOTE_CONFIGS[config].toolbar, // Dependent of app/assets/javascripts/admin/plugins/summernote.js
           callbacks: {
             onChange: function(contents, $editable) { 
               this.$refs.summernoteInput.value = contents;
diff --git a/app/views/admin/communication/blocks/templates/chapter/_edit.html.erb b/app/views/admin/communication/blocks/templates/chapter/_edit.html.erb
index aec413429..ff4f0bd69 100644
--- a/app/views/admin/communication/blocks/templates/chapter/_edit.html.erb
+++ b/app/views/admin/communication/blocks/templates/chapter/_edit.html.erb
@@ -9,7 +9,7 @@
               class="form-control"
               v-model="data.text"
               ref="summernoteInput"
-              data-summernote-config="mini"
+              data-summernote-config="mini-list"
               placeholder="<%= t '.text_placeholder' %>"></textarea>
     </div>
   </div>
diff --git a/app/views/admin/communication/blocks/templates/chapter/_static.html.erb b/app/views/admin/communication/blocks/templates/chapter/_static.html.erb
index 7b1d54858..cc0e5fda1 100644
--- a/app/views/admin/communication/blocks/templates/chapter/_static.html.erb
+++ b/app/views/admin/communication/blocks/templates/chapter/_static.html.erb
@@ -1,2 +1,2 @@
-      text:
+      text: >-
         <%= prepare_html_for_static block.data['text'], about.university %>
diff --git a/test/fixtures/communication/website/git_files.yml b/test/fixtures/communication/website/git_files.yml
index 21a1d16a6..48c54bdab 100644
--- a/test/fixtures/communication/website/git_files.yml
+++ b/test/fixtures/communication/website/git_files.yml
@@ -18,7 +18,7 @@
 #
 # Foreign Keys
 #
-#  fk_rails_8505d649e8  (website_id => communication_websites.id)
+#  fk_rails_b6b8b2cce2  (website_id => communication_websites.id)
 #
 git_file_1:
   about: test_post (Communication::Website::Post)
diff --git a/test/fixtures/communication/websites.yml b/test/fixtures/communication/websites.yml
index aea91b89a..44c31f2ca 100644
--- a/test/fixtures/communication/websites.yml
+++ b/test/fixtures/communication/websites.yml
@@ -22,7 +22,7 @@
 #
 # Foreign Keys
 #
-#  fk_rails_bb6a496c08  (university_id => universities.id)
+#  fk_rails_94b0abd85b  (university_id => universities.id)
 #
 website_with_github:
   university: default_university
diff --git a/test/models/communication/website/git_file_test.rb b/test/models/communication/website/git_file_test.rb
index 9bfc4adce..4af0292f5 100644
--- a/test/models/communication/website/git_file_test.rb
+++ b/test/models/communication/website/git_file_test.rb
@@ -18,7 +18,7 @@
 #
 # Foreign Keys
 #
-#  fk_rails_8505d649e8  (website_id => communication_websites.id)
+#  fk_rails_b6b8b2cce2  (website_id => communication_websites.id)
 #
 require "test_helper"
 
-- 
GitLab