From 1db30afc1af7b5763b05a773d0d052da91aa19d3 Mon Sep 17 00:00:00 2001 From: SebF Date: Sun, 12 May 2024 18:19:35 +0200 Subject: [PATCH] WIP export semaine - ne fonctionne pas --- src/agenda_culturel/calendar.py | 3 +++ .../templates/agenda_culturel/page-week.html | 15 +++++++-------- src/agenda_culturel/urls.py | 1 + src/agenda_culturel/views.py | 15 +++++++++++++-- 4 files changed, 24 insertions(+), 10 deletions(-) diff --git a/src/agenda_culturel/calendar.py b/src/agenda_culturel/calendar.py index 2add4ef..e748b81 100644 --- a/src/agenda_culturel/calendar.py +++ b/src/agenda_culturel/calendar.py @@ -175,6 +175,9 @@ class CalendarList: def calendar_days_list(self): return list(self.calendar_days.values()) + def get_events(self): + return [event for jour in self.calendar_days_list() for event in jour.events] + class CalendarMonth(CalendarList): def __init__(self, year, month, filter): diff --git a/src/agenda_culturel/templates/agenda_culturel/page-week.html b/src/agenda_culturel/templates/agenda_culturel/page-week.html index e85672e..00e4599 100644 --- a/src/agenda_culturel/templates/agenda_culturel/page-week.html +++ b/src/agenda_culturel/templates/agenda_culturel/page-week.html @@ -8,7 +8,6 @@ {% load event_extra %} {% load utils_extra %} {% load static %} -{% load i18n %} {% block entete_header %} {% css_categories %} @@ -20,11 +19,11 @@ Semaine du {{ calendar.calendar_days_list.0.date|date|frdate }} {% endblock %} - {% block content %} +{% block content %} - {% if home %} -
{% include "agenda_culturel/static_content.html" with name="home" url_path="/" %}
- {% endif %} +{% if home %} +
{% include "agenda_culturel/static_content.html" with name="home" url_path="/" %}
+{% endif %} {% include "agenda_culturel/filter-inc.html" with filter=filter %} @@ -57,15 +56,15 @@ Semaine du {{ calendar.calendar_days_list.0.date|date|frdate }} + {% endif %} + diff --git a/src/agenda_culturel/urls.py b/src/agenda_culturel/urls.py index bf4e0c8..a17ab7a 100644 --- a/src/agenda_culturel/urls.py +++ b/src/agenda_culturel/urls.py @@ -11,6 +11,7 @@ from .views import * urlpatterns = [ path("", home, name="home"), path("semaine///", week_view, name="week_view"), + path("semaine//?feed=ical", week_view_ical, name="week_view_ical"), path("mois///", month_view, name="month_view"), path("jour////", day_view, name="day_view"), path("jour///?feed=ical", day_view_ical, name="day_view_ical"), diff --git a/src/agenda_culturel/views.py b/src/agenda_culturel/views.py index 4b46199..04de0b8 100644 --- a/src/agenda_culturel/views.py +++ b/src/agenda_culturel/views.py @@ -286,7 +286,11 @@ def month_view(request, year=None, month=None): return render(request, "agenda_culturel/page-month.html", context) -def week_view(request, year=None, week=None, home=False): +def week_view_ical(request, year=None, week=None, home=False): + return week_view(request, year, week, home, True) + + +def week_view(request, year=None, week=None, home=False, ical=False): now = date.today() if year is None: year = now.year @@ -296,14 +300,21 @@ def week_view(request, year=None, week=None, home=False): filter = EventFilter(request.GET, queryset=get_event_qs(request), request=request) cweek = CalendarWeek(year, week, filter) + if ical: + logger.warning("export ical semaine") + response = Event.export_to_ics("testsemaine", cweek.get_events()) + return response + context = {"year": year, "week": week, "calendar": cweek, "filter": filter} if home: context["home"] = 1 return render(request, "agenda_culturel/page-week.html", context) + def day_view_ical(request, year=None, month=None, day=None): return day_view(request, year, month, day, ical=True) + def day_view(request, year=None, month=None, day=None, ical=False): now = date.today() if year is None: @@ -327,7 +338,7 @@ def day_view(request, year=None, month=None, day=None, ical=False): categories = [(k, v) for k, v in categories.items()] categories.sort(key=lambda k: -k[1]) - if "ical" in str(request): + if ical: response = Event.export_to_ics(str(day), cday.get_events()) return response