Skip to content
Snippets Groups Projects
Commit ce9948b9 authored by Arnaud Levy's avatar Arnaud Levy
Browse files

done

parent 0aec2076
No related branches found
No related tags found
No related merge requests found
...@@ -4,18 +4,10 @@ class ApplicationRecord < ActiveRecord::Base ...@@ -4,18 +4,10 @@ class ApplicationRecord < ActiveRecord::Base
# TODO put that in summernote-rails # TODO put that in summernote-rails
# https://github.com/rails/rails/blob/b961af3345fe2f9e492ba1e5424c2ceb75ac6ead/actiontext/lib/action_text/attribute.rb#L4 # https://github.com/rails/rails/blob/b961af3345fe2f9e492ba1e5424c2ceb75ac6ead/actiontext/lib/action_text/attribute.rb#L4
# https://github.com/rails/rails/blob/b961af3345fe2f9e492ba1e5424c2ceb75ac6ead/actiontext/lib/action_text/content.rb#L121
def self.has_summernote(name) def self.has_summernote(name)
class_eval <<-CODE, __FILE__, __LINE__ + 1 class_eval <<-CODE, __FILE__, __LINE__ + 1
def #{name} serialize :#{name}, ActionText::Content
value = attributes['#{name}']
actiontext = ActionText::Content.new value
actiontext.to_s
end
def #{name}=(value)
actiontext = ActionText::Content.new value
self.attributes['#{name}'] = actiontext.to_html
end
CODE CODE
end end
...@@ -29,7 +21,7 @@ class ApplicationRecord < ActiveRecord::Base ...@@ -29,7 +21,7 @@ class ApplicationRecord < ActiveRecord::Base
def convert_to_summernote def convert_to_summernote
@@summernote_fields.each do |field| @@summernote_fields.each do |field|
self["#{field}_new"] = send(field).body.to_html self.attributes["#{field}_new"] = send(field).body.to_html
.gsub('<div>', '<p>') .gsub('<div>', '<p>')
.gsub('</div>', '</p>') .gsub('</div>', '</p>')
.gsub('<strong>', '<b>') .gsub('<strong>', '<b>')
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<h3 class="h5 mt-4"><%= Communication::Website::Post.human_attribute_name('text') %></h3> <h3 class="h5 mt-4"><%= Communication::Website::Post.human_attribute_name('text') %></h3>
<%= @post.text %> <%= @post.text %>
<hr> <hr>
<pre><%= @post.text_new %></pre> <pre><%= @post.text_new.to_html %></pre>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -87,18 +87,18 @@ A l'édition, la balise est "remplie" avant affichage, pour avoir une preview. ...@@ -87,18 +87,18 @@ A l'édition, la balise est "remplie" avant affichage, pour avoir une preview.
A l'enregistrement, la balise est vidée. A l'enregistrement, la balise est vidée.
Etapes normales : Etapes normales :
1. A l'import d'une image, ajouter l'action-text-attachement autour -[ ] A l'import d'une image, ajouter l'action-text-attachement autour
2. A l'enregistrement, déshydrater les action-text-attachements -[x] A l'enregistrement, déshydrater les action-text-attachements
3. A l'édition, réhydrater les action-text-attachements -[x] A l'édition, réhydrater les action-text-attachements
4. Après l'enregistrement mettre à jour les blobs attachés à l'objet parent (le post, par exemple) -[ ] Après l'enregistrement mettre à jour les blobs attachés à l'objet parent (le post, par exemple)
Etapes de migration : Etapes de migration :
1. Sauvegarder tous les objets à migrer (rails app:fix) -[x] A la sauvegarde, transformer le markup Trix en markup Summernote (application_record)
2. A la sauvegarde, transformer le markup Trix en markup Summernote (application_record) -[ ] Sauvegarder tous les objets à migrer (rails app:fix)
3. Enlever les scripts de l'application_record -[ ] Enlever les scripts de l'application_record
4. Supprimer les champs ActionText dans les modèles -[ ] Supprimer les champs ActionText dans les modèles
5. Supprimer la table d'ActionText -[ ] Supprimer la table d'ActionText
6. Renommer les champs en enlevant _new -[ ] Renommer les champs en enlevant _new
Si un programme a 5 champs summernote avec 3 images dans chaque champ, cela fait 15 attachments à lier au programme. Si un programme a 5 champs summernote avec 3 images dans chaque champ, cela fait 15 attachments à lier au programme.
Si on enlève une image d'un champ, il faut mettre à jour la liste pour avoir les 14 bons attachments. Si on enlève une image d'un champ, il faut mettre à jour la liste pour avoir les 14 bons attachments.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment