Amélioration des accès rapides agenda
This commit is contained in:
		@@ -16,7 +16,7 @@
 | 
			
		||||
{% endblock %}
 | 
			
		||||
{% block navigation-menu %}
 | 
			
		||||
  {% cache 90000 navigation_links_month user.is_authenticated calendar.firstdate category filter.get_url %}
 | 
			
		||||
  {% navigation_links filter category %}
 | 
			
		||||
  {% navigation_links filter category calendar "month" %}
 | 
			
		||||
{% endcache %}
 | 
			
		||||
{% endblock %}
 | 
			
		||||
{% block when_parameters %}{{ filter.get_url }}{% endblock %}
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,7 @@
 | 
			
		||||
{% endblock %}
 | 
			
		||||
{% block navigation-menu %}
 | 
			
		||||
  {% cache 90000 navigation_links_upcoming user.is_authenticated calendar.firstdate filter.get_url category calendar.nb_days %}
 | 
			
		||||
  {% navigation_links filter category %}
 | 
			
		||||
  {% navigation_links filter category calendar "upcoming" %}
 | 
			
		||||
{% endcache %}
 | 
			
		||||
{% endblock %}
 | 
			
		||||
{% block when_parameters %}{{ filter.get_url }}{% endblock %}
 | 
			
		||||
 
 | 
			
		||||
@@ -30,7 +30,7 @@
 | 
			
		||||
{% endblock %}
 | 
			
		||||
{% block navigation-menu %}
 | 
			
		||||
  {% cache 90000 navigation_links_week user.is_authenticated calendar.firstdate category filter.get_url %}
 | 
			
		||||
  {% navigation_links filter category %}
 | 
			
		||||
  {% navigation_links filter category calendar "week" %}
 | 
			
		||||
{% endcache %}
 | 
			
		||||
{% endblock %}
 | 
			
		||||
{% block when_parameters %}{{ filter.get_url }}{% endblock %}
 | 
			
		||||
 
 | 
			
		||||
@@ -2,6 +2,8 @@ from datetime import date, datetime, timedelta
 | 
			
		||||
import calendar
 | 
			
		||||
from string import ascii_uppercase as auc
 | 
			
		||||
from urllib.parse import urlparse
 | 
			
		||||
from django.utils.formats import localize
 | 
			
		||||
from django.utils import dates
 | 
			
		||||
 | 
			
		||||
import emoji
 | 
			
		||||
from dateutil.relativedelta import relativedelta
 | 
			
		||||
@@ -187,58 +189,70 @@ def no_emoji(text):
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@register.simple_tag
 | 
			
		||||
def navigation_links(filter, category):
 | 
			
		||||
def navigation_links(filter, category, calendar, current_view):
 | 
			
		||||
    extra = "?" + filter.get_url()
 | 
			
		||||
    if category is None:
 | 
			
		||||
        result = (
 | 
			
		||||
            '<li><a href="'
 | 
			
		||||
            + reverse_lazy("aujourdhui")
 | 
			
		||||
            + extra
 | 
			
		||||
            + "\">aujourd'hui</a></li>"
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    result = ""
 | 
			
		||||
 | 
			
		||||
    extra_path = "" if category is None else "_category"
 | 
			
		||||
 | 
			
		||||
    if not calendar.today_in_calendar():
 | 
			
		||||
        if current_view == "upcoming":
 | 
			
		||||
            params = {}
 | 
			
		||||
            if category:
 | 
			
		||||
                params["cat"] = category.slug
 | 
			
		||||
            params["year"] = calendar.firstdate.year
 | 
			
		||||
            params["week"] = calendar.firstdate.isocalendar()[1]
 | 
			
		||||
            result += (
 | 
			
		||||
                '<li><a href="'
 | 
			
		||||
                + reverse_lazy("week_view" + extra_path, kwargs=params)
 | 
			
		||||
                + extra
 | 
			
		||||
                + '">semaine du '
 | 
			
		||||
                + localize(calendar.firstdate)
 | 
			
		||||
                + "</a></li>"
 | 
			
		||||
            )
 | 
			
		||||
 | 
			
		||||
        if current_view != "month":
 | 
			
		||||
            params = {}
 | 
			
		||||
            if category:
 | 
			
		||||
                params["cat"] = category.slug
 | 
			
		||||
 | 
			
		||||
            days = [calendar.firstdate]
 | 
			
		||||
            if calendar.firstdate.month != calendar.lastdate.month:
 | 
			
		||||
                days.append(calendar.lastdate)
 | 
			
		||||
            for d in days:
 | 
			
		||||
                params["year"] = d.year
 | 
			
		||||
                params["month"] = d.month
 | 
			
		||||
                result += (
 | 
			
		||||
                    '<li><a href="'
 | 
			
		||||
                    + reverse_lazy("month_view" + extra_path, kwargs=params)
 | 
			
		||||
                    + extra
 | 
			
		||||
                    + '">'
 | 
			
		||||
                    + dates.MONTHS[d.month]
 | 
			
		||||
                    + " "
 | 
			
		||||
                    + str(d.year)
 | 
			
		||||
                    + "</a></li>"
 | 
			
		||||
                )
 | 
			
		||||
 | 
			
		||||
    kwargs = {}
 | 
			
		||||
    if category:
 | 
			
		||||
        kwargs["cat"] = category.slug
 | 
			
		||||
 | 
			
		||||
    for t in [
 | 
			
		||||
        ("aujourdhui", "aujourd'hui"),
 | 
			
		||||
        ("a_venir", "ces jours-ci"),
 | 
			
		||||
        ("cette_semaine", "cette semaine"),
 | 
			
		||||
        ("ce_mois_ci", "ce mois-ci"),
 | 
			
		||||
    ]:
 | 
			
		||||
        result += (
 | 
			
		||||
            '<li><a href="'
 | 
			
		||||
            + reverse_lazy("a_venir")
 | 
			
		||||
            + reverse_lazy(t[0] + extra_path, kwargs=kwargs)
 | 
			
		||||
            + extra
 | 
			
		||||
            + '">ces jours-ci</a></li>'
 | 
			
		||||
        )
 | 
			
		||||
        result += (
 | 
			
		||||
            '<li><a href="'
 | 
			
		||||
            + reverse_lazy("cette_semaine")
 | 
			
		||||
            + extra
 | 
			
		||||
            + '">cette semaine</a></li>'
 | 
			
		||||
        )
 | 
			
		||||
        result += (
 | 
			
		||||
            '<li><a href="'
 | 
			
		||||
            + reverse_lazy("ce_mois_ci")
 | 
			
		||||
            + extra
 | 
			
		||||
            + '">ce mois-ci</a></li>'
 | 
			
		||||
        )
 | 
			
		||||
    else:
 | 
			
		||||
        result = (
 | 
			
		||||
            '<li><a href="'
 | 
			
		||||
            + reverse_lazy("aujourdhui_category", kwargs={"cat": category.slug})
 | 
			
		||||
            + extra
 | 
			
		||||
            + "\">aujourd'hui</a></li>"
 | 
			
		||||
        )
 | 
			
		||||
        result += (
 | 
			
		||||
            '<li><a href="'
 | 
			
		||||
            + reverse_lazy("a_venir_category", kwargs={"cat": category.slug})
 | 
			
		||||
            + extra
 | 
			
		||||
            + '">à venir</a></li>'
 | 
			
		||||
        )
 | 
			
		||||
        result += (
 | 
			
		||||
            '<li><a href="'
 | 
			
		||||
            + reverse_lazy("cette_semaine_category", kwargs={"cat": category.slug})
 | 
			
		||||
            + extra
 | 
			
		||||
            + '">cette semaine</a></li>'
 | 
			
		||||
        )
 | 
			
		||||
        result += (
 | 
			
		||||
            '<li><a href="'
 | 
			
		||||
            + reverse_lazy("ce_mois_ci_category", kwargs={"cat": category.slug})
 | 
			
		||||
            + extra
 | 
			
		||||
            + '">ce mois-ci</a></li>'
 | 
			
		||||
            + '">'
 | 
			
		||||
            + t[1]
 | 
			
		||||
            + "</a></li>"
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    return mark_safe(result)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user