diff --git a/src/agenda_culturel/models.py b/src/agenda_culturel/models.py index 8668ab2..be8b546 100644 --- a/src/agenda_culturel/models.py +++ b/src/agenda_culturel/models.py @@ -135,6 +135,14 @@ class Event(models.Model): uniq_tags = uniq_tags | set(t) return list(uniq_tags) + def is_draft(self): + return self.status == Event.STATUS.DRAFT + + def is_published(self): + return self.status == Event.STATUS.PUBLISHED + + def is_trash(self): + return self.status == Event.STATUS.TRASH class EventSubmissionForm(models.Model): diff --git a/src/agenda_culturel/templates/agenda_culturel/day-inc.html b/src/agenda_culturel/templates/agenda_culturel/day-inc.html index edc4747..3e451fc 100644 --- a/src/agenda_culturel/templates/agenda_culturel/day-inc.html +++ b/src/agenda_culturel/templates/agenda_culturel/day-inc.html @@ -1,5 +1,6 @@ {% load cat_extra %} +{% load event_extra %} {% load utils_extra %} {% load static %} @@ -32,7 +33,7 @@ {% if event.single_day and event.start_time %} {{ event.start_time }} {% endif %} - {{ event.title }} + {{ event|picto_status }} {{ event.title }} {% endfor %} @@ -54,7 +55,7 @@ {% if event.single_day and event.start_time %} {{ event.start_time }} {% endif %} - {{ event.title }} + {{ event|picto_status }} {{ event.title }} {% include "agenda_culturel/event-inc.html" with event=event display="modal" close_button=1 filter=filter %} diff --git a/src/agenda_culturel/templates/agenda_culturel/event-inc.html b/src/agenda_culturel/templates/agenda_culturel/event-inc.html index 2ca7754..9424395 100644 --- a/src/agenda_culturel/templates/agenda_culturel/event-inc.html +++ b/src/agenda_culturel/templates/agenda_culturel/event-inc.html @@ -21,7 +21,7 @@ {{ event.category | small_cat }} {% if event.location %}
{% endif %} {% if display == "in list" %}

{% else %}

{% endif %} - + {{ event|picto_status }} {{ event.title }} {% if display == "in list" %}

{% else %}{% endif %} {% if event.location %} @@ -50,7 +50,7 @@ class="close" data-target="event-{{ event.id }}" onClick="toggleModal(event)"> -

{{ event.category | small_cat }} {{ event.title }}

+

{{ event.category | small_cat }} {{ event|picto_status }} {{ event.title }}

@@ -70,7 +70,7 @@
{% include "agenda_culturel/ephemeris-inc.html" with event=event filter=filter %} {{ event.category | small_cat }} -

{{ event.title }}

+

{{ event|picto_status }} {{ event.title }}

diff --git a/src/agenda_culturel/templatetags/event_extra.py b/src/agenda_culturel/templatetags/event_extra.py index 06f1402..5db6365 100644 --- a/src/agenda_culturel/templatetags/event_extra.py +++ b/src/agenda_culturel/templatetags/event_extra.py @@ -1,6 +1,7 @@ from django import template from django.utils.safestring import mark_safe +from django.templatetags.static import static from agenda_culturel.models import Event from django.db.models import Q @@ -22,3 +23,20 @@ def can_show_start_time(event): @register.filter def need_complete_display(event, display): return event.end_day and event.end_day != event.start_day and (event.start_time or event.end_time or display == "in list by day") + + +def picto_from_name(name, datatooltip=""): + return mark_safe('' + \ + '' + \ + '') + + +@register.filter +def picto_status(event): + if event.is_draft(): + return picto_from_name("eye-off", "Brouillon") + elif event.is_trash(): + return picto_from_name("trash", "À la poubelle") + else: + return "" + diff --git a/src/agenda_culturel/views.py b/src/agenda_culturel/views.py index b8c0d87..aa1c170 100644 --- a/src/agenda_culturel/views.py +++ b/src/agenda_culturel/views.py @@ -27,7 +27,7 @@ import unicodedata def get_event_qs(request): if request.user.is_authenticated: - return Event.objects.all() + return Event.objects.filter(~Q(status=Event.STATUS.TRASH)) else: return Event.objects.filter(status=Event.STATUS.PUBLISHED)