Compare commits

...

2 Commits

Author SHA1 Message Date
7b3aca21f4 poc vue jour 2024-05-06 17:05:54 +02:00
1a52d02141 correction du nom de fichier 2024-05-06 16:11:48 +02:00
3 changed files with 31 additions and 6 deletions

View File

@ -94,7 +94,10 @@
<header>
<h2>Voir aussi</h2>
</header>
<div class="buttons">
<a role="button" href="{% url 'export_events_ical' day.year day.month day.day%}" >Exporter ical {% picto_from_name "calendar" %}</a>
<a role="button" href="{% url 'week_view' day.year day|week %}?{{ filter.get_url }}">Toute la semaine</a>
</div>
</article>
</aside>

View File

@ -159,6 +159,11 @@ urlpatterns = [
name="add_place_to_event",
),
path("event/<int:pk>", export_event_ical, name="export_event_ical"),
path(
"events/<int:year>/<int:month>/<int:day>",
export_events_ical,
name="export_events_ical",
),
]
if settings.DEBUG:

View File

@ -10,7 +10,7 @@ from django.http import QueryDict
from django import forms
from django.contrib.postgres.search import SearchQuery, SearchHeadline
from django.http import HttpResponseRedirect, FileResponse
from django.http import HttpResponseRedirect, HttpResponse
from django.urls import reverse
from collections import Counter
@ -606,13 +606,30 @@ def export_event_ical(request, pk):
cal = Event.export_to_ics(events)
return FileResponse(
cal.to_ical().decode("utf-8").replace("\r\n", "\n"),
as_attachment=True,
filename=event.title + ".ics",
content_type="text/calendar",
response = HttpResponse(content_type="text/calendar")
response.content = cal.to_ical().decode("utf-8").replace("\r\n", "\n")
response["Content-Disposition"] = "attachment; filename={0}{1}".format(
event.title, ".ics"
)
return response
def export_events_ical(request, year, month, day):
cday = CalendarDay(date(year, month, day))
events = cday.get_events()
cal = Event.export_to_ics(events)
response = HttpResponse(content_type="text/calendar")
response.content = cal.to_ical().decode("utf-8").replace("\r\n", "\n")
response["Content-Disposition"] = "attachment; filename={0}{1}".format(
"tutu", ".ics"
)
return response
class EventFilterAdmin(django_filters.FilterSet):
status = django_filters.MultipleChoiceFilter(