On ajoute la possibilite d'ajouter des messages sur les événements suivant les étiquettes
This commit is contained in:
parent
a66559aac0
commit
02f078ca50
@ -123,6 +123,7 @@ class TagForm(ModelForm):
|
|||||||
fields = [
|
fields = [
|
||||||
"name",
|
"name",
|
||||||
"description",
|
"description",
|
||||||
|
"message",
|
||||||
"in_included_suggestions",
|
"in_included_suggestions",
|
||||||
"in_excluded_suggestions",
|
"in_excluded_suggestions",
|
||||||
"principal",
|
"principal",
|
||||||
|
File diff suppressed because it is too large
Load Diff
24
src/agenda_culturel/migrations/0154_tag_message.py
Normal file
24
src/agenda_culturel/migrations/0154_tag_message.py
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# Generated by Django 4.2.19 on 2025-03-14 12:23
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
import django_ckeditor_5.fields
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("agenda_culturel", "0153_event_local_event"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="tag",
|
||||||
|
name="message",
|
||||||
|
field=django_ckeditor_5.fields.CKEditor5Field(
|
||||||
|
blank=True,
|
||||||
|
help_text="Message displayed to the user on each event associated with this tag.",
|
||||||
|
null=True,
|
||||||
|
verbose_name="Message",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
@ -198,6 +198,15 @@ class Tag(models.Model):
|
|||||||
null=True,
|
null=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
message = CKEditor5Field(
|
||||||
|
verbose_name=_("Message"),
|
||||||
|
help_text=_(
|
||||||
|
"Message displayed to the user on each event associated with this tag."
|
||||||
|
),
|
||||||
|
blank=True,
|
||||||
|
null=True,
|
||||||
|
)
|
||||||
|
|
||||||
principal = models.BooleanField(
|
principal = models.BooleanField(
|
||||||
verbose_name=_("Principal"),
|
verbose_name=_("Principal"),
|
||||||
help_text=_(
|
help_text=_(
|
||||||
@ -1051,6 +1060,15 @@ class Event(models.Model):
|
|||||||
)
|
)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
def tag_messages(self):
|
||||||
|
if self.tags is None:
|
||||||
|
return []
|
||||||
|
return Tag.objects.filter(
|
||||||
|
Q(name__in=self.tags)
|
||||||
|
& Q(message__isnull=False)
|
||||||
|
& ~Q(message__in=["", "<p></p>", "<p> </p>"])
|
||||||
|
).values("message")
|
||||||
|
|
||||||
def get_all_tags(sort=True):
|
def get_all_tags(sort=True):
|
||||||
cursor = connection.cursor()
|
cursor = connection.cursor()
|
||||||
raw_query = """
|
raw_query = """
|
||||||
|
@ -751,6 +751,10 @@ $yellow-900: #616918 !default;
|
|||||||
background-position: center left var(--form-element-spacing-vertical); // use vertical for icon left align
|
background-position: center left var(--form-element-spacing-vertical); // use vertical for icon left align
|
||||||
background-size: $iconsize auto;
|
background-size: $iconsize auto;
|
||||||
padding-left: calc(var(--form-element-spacing-vertical) * 2 + #{$iconsize});
|
padding-left: calc(var(--form-element-spacing-vertical) * 2 + #{$iconsize});
|
||||||
|
|
||||||
|
p:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.message.danger, .message.error {
|
.message.danger, .message.error {
|
||||||
--background-color: #{$red-50};
|
--background-color: #{$red-50};
|
||||||
|
@ -152,6 +152,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
<div class="event-body">
|
<div class="event-body">
|
||||||
|
{% for message in event.tag_messages %}<div class="message info">{{ message.message|safe }}</div>{% endfor %}
|
||||||
{% if event.has_image_url %}
|
{% if event.has_image_url %}
|
||||||
<article class="illustration">
|
<article class="illustration">
|
||||||
<img src="{{ event.get_image_url }}" alt="{{ event.image_alt }}" />
|
<img src="{{ event.get_image_url }}" alt="{{ event.image_alt }}" />
|
||||||
|
Loading…
x
Reference in New Issue
Block a user