parent
9c64090e59
commit
655eae16a0
|
@ -38,6 +38,7 @@ from django.utils.encoding import force_str
|
|||
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 gadjo.forms.widgets import MultiSelectWidget
|
||||
|
||||
from chrono.agendas.models import (
|
||||
WEEK_CHOICES,
|
||||
|
@ -796,6 +797,7 @@ class EventsReportForm(forms.Form):
|
|||
agendas = forms.ModelMultipleChoiceField(
|
||||
label=_('Agendas'),
|
||||
queryset=Agenda.objects.none(),
|
||||
widget=MultiSelectWidget,
|
||||
)
|
||||
status = forms.MultipleChoiceField(
|
||||
label=_('Status'),
|
||||
|
|
|
@ -1,5 +1,15 @@
|
|||
{% extends "chrono/manager_home.html" %}
|
||||
{% load i18n %}
|
||||
{% load static i18n %}
|
||||
|
||||
{% block css %}
|
||||
{{ block.super }}
|
||||
<link rel="stylesheet" type="text/css" media="all" href="{% static "css/gadjo.multiselectwidget.css" %}" />
|
||||
{% endblock %}
|
||||
|
||||
{% block extrascripts %}
|
||||
{{ block.super }}
|
||||
<script src="{% static "js/gadjo.multiselectwidget.js" %}"></script>
|
||||
{% endblock %}
|
||||
|
||||
{% block breadcrumb %}
|
||||
{{ block.super }}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import codecs
|
||||
import copy
|
||||
import datetime
|
||||
from unittest import mock
|
||||
|
||||
|
@ -3396,11 +3397,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()
|
||||
|
@ -3408,9 +3417,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()
|
||||
|
@ -3418,9 +3429,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()
|
||||
|
@ -3430,7 +3443,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()
|
||||
|
@ -3440,7 +3453,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()
|
||||
|
|
Loading…
Reference in New Issue