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