diff --git a/chrono/manager/forms.py b/chrono/manager/forms.py
index da6c70b5..8d8b7785 100644
--- a/chrono/manager/forms.py
+++ b/chrono/manager/forms.py
@@ -38,6 +38,7 @@ from django.utils.formats import date_format
from django.utils.html import format_html, mark_safe
from django.utils.translation import gettext_lazy as _
from django.utils.translation import pgettext
+from gadjo.forms.widgets import MultiSelectWidget
from chrono.agendas.models import (
WEEK_CHOICES,
@@ -990,6 +991,7 @@ class EventsReportForm(forms.Form):
agendas = forms.ModelMultipleChoiceField(
label=_('Agendas'),
queryset=Agenda.objects.none(),
+ widget=MultiSelectWidget,
)
status = forms.MultipleChoiceField(
label=_('Status'),
diff --git a/chrono/manager/templates/chrono/manager_event_report.html b/chrono/manager/templates/chrono/manager_event_report.html
index dfd1ae77..fc49dd43 100644
--- a/chrono/manager/templates/chrono/manager_event_report.html
+++ b/chrono/manager/templates/chrono/manager_event_report.html
@@ -1,5 +1,15 @@
{% extends "chrono/manager_home.html" %}
-{% load i18n %}
+{% load static i18n %}
+
+{% block css %}
+ {{ block.super }}
+
+{% endblock %}
+
+{% block extrascripts %}
+ {{ block.super }}
+
+{% endblock %}
{% block breadcrumb %}
{{ block.super }}
diff --git a/tests/manager/test_event.py b/tests/manager/test_event.py
index 4f3fe9a5..7e8a56a7 100644
--- a/tests/manager/test_event.py
+++ b/tests/manager/test_event.py
@@ -1,4 +1,5 @@
import codecs
+import copy
import datetime
import json
from unittest import mock
@@ -3534,11 +3535,19 @@ def test_events_report(app, admin_user):
recurrent_event4.invoiced = True
recurrent_event4.save()
+ def add_agenda(resp):
+ select = copy.copy(resp.form.fields['agendas'][0])
+ select.id = 'id_agendas_1'
+ resp.form.fields['agendas'].append(select)
+ resp.form.field_order.append(('agendas', select))
+
login(app)
resp = app.get('/manage/agendas/events/report/')
+ add_agenda(resp)
resp.form['date_start'] = '2022-02-01'
resp.form['date_end'] = '2022-02-28'
- resp.form['agendas'] = [agenda1.pk, agenda2.pk]
+ resp.form.get('agendas', 0).value = agenda1.pk
+ resp.form.get('agendas', 1).value = agenda2.pk
resp.form['status'] = ['not-checked', 'not-invoiced']
resp = resp.form.submit()
events = resp.context['form'].get_events()
@@ -3546,9 +3555,11 @@ def test_events_report(app, admin_user):
assert list(events['not_invoiced']) == [event1, recurrent_event1, event2, recurrent_event2]
resp = app.get('/manage/agendas/events/report/')
+ add_agenda(resp)
resp.form['date_start'] = '2022-02-01'
resp.form['date_end'] = '2022-02-28'
- resp.form['agendas'] = [agenda1.pk, agenda2.pk]
+ resp.form.get('agendas', 0).value = agenda1.pk
+ resp.form.get('agendas', 1).value = agenda2.pk
resp.form['status'] = ['not-checked']
resp = resp.form.submit()
events = resp.context['form'].get_events()
@@ -3556,9 +3567,11 @@ def test_events_report(app, admin_user):
assert 'not_invoiced' not in events
resp = app.get('/manage/agendas/events/report/')
+ add_agenda(resp)
resp.form['date_start'] = '2022-02-01'
resp.form['date_end'] = '2022-02-28'
- resp.form['agendas'] = [agenda1.pk, agenda2.pk]
+ resp.form.get('agendas', 0).value = agenda1.pk
+ resp.form.get('agendas', 1).value = agenda2.pk
resp.form['status'] = ['not-invoiced']
resp = resp.form.submit()
events = resp.context['form'].get_events()
@@ -3568,7 +3581,7 @@ def test_events_report(app, admin_user):
resp = app.get('/manage/agendas/events/report/')
resp.form['date_start'] = '2022-02-01'
resp.form['date_end'] = '2022-02-28'
- resp.form['agendas'] = [agenda2.pk]
+ resp.form.get('agendas', 0).value = agenda2.pk
resp.form['status'] = ['not-invoiced']
resp = resp.form.submit()
events = resp.context['form'].get_events()
@@ -3578,7 +3591,7 @@ def test_events_report(app, admin_user):
resp = app.get('/manage/agendas/events/report/')
resp.form['date_start'] = '2022-02-01'
resp.form['date_end'] = '2022-02-28'
- resp.form['agendas'] = [agenda2.pk]
+ resp.form.get('agendas', 0).value = agenda2.pk
resp.form['status'] = ['not-checked', 'not-invoiced']
resp = resp.form.submit()
events = resp.context['form'].get_events()