diff --git a/home/admin.py b/home/admin.py index d93a6c02d929d6b2442bd23041ecfc1a13b555b7..30e6931e27f36230121870b613aacb1c773005ba 100644 --- a/home/admin.py +++ b/home/admin.py @@ -24,7 +24,7 @@ class InterludesActivityAdmin(ExportCsvMixin, admin.ModelAdmin): ("min_participants", "max_participants"), "must_subscribe", "communicate_participants", - "description", + "description", "desc_as_html", "display", "room", "start", "on_planning", diff --git a/home/models.py b/home/models.py index 8c5f5340f6a5cc05f6b8a2d24f7243d55feeb31d..5714442a11372b2de8d1fac6e774a41b2295ba42 100644 --- a/home/models.py +++ b/home/models.py @@ -49,7 +49,13 @@ class InterludesActivity(models.Model): ) host_name = models.CharField("nom de l'organisateur", max_length=50) host_email = models.EmailField("email de l'organisateur") - description = models.TextField("description", max_length=2000) + description = models.TextField( + "description", max_length=2000, + help_text='Texte ou html selon la valeur de "Description HTML".\n' + ) + desc_as_html = models.BooleanField("Description au format HTML", default=False, + help_text="Assurer vous que le texte est bien formaté, cette option peut casser la page activités." + ) on_planning = models.BooleanField( "afficher sur le planning", default=False, diff --git a/home/static/css/style.css b/home/static/css/style.css index d364970e76c4da1b42ac990d5f88b42e5329fe18..9b7d0fdb186c915242beb65656f24e50ed318275 100644 --- a/home/static/css/style.css +++ b/home/static/css/style.css @@ -273,9 +273,14 @@ dl dd { justify-self: start; text-align: left; } -p.desc { +div.desc { margin-top: 0; padding: 0 10px 20px; +} +div.desc p { + margin: 0; +} +div.desc p.indent { text-indent: 25px; } diff --git a/home/templates/activites.html b/home/templates/activites.html index 04b14c1269914339eeb96af0110591d8b47be743..19d824645146dacec9a1772e087d8f71ca8ef6f8 100644 --- a/home/templates/activites.html +++ b/home/templates/activites.html @@ -109,7 +109,13 @@ {% endif %} <dt>Description :</dt> </dl> - <p class="desc">{{ activity.description|linebreaksbr }}</p> + <div class="desc"> + {% if activity.desc_as_html %} + {{ activity.description|safe }} + {% else %} + <p class="indent">{{ activity.description|linebreaksbr }}</p> + {% endif %} + </div> {% empty %} <p>Il n'y a aucune activité pour l'instant, revenez dans quelques jour pour avoir une liste plus remplie.</p>