From 5f042b7ee54865bfb4bd397f2608bf498ffb2536 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Tue, 30 Oct 2018 15:03:09 +0100 Subject: [PATCH] manager: adapt December view to work when last week is week 1 (#27670) --- chrono/manager/views.py | 3 +++ tests/test_manager.py | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/chrono/manager/views.py b/chrono/manager/views.py index c30e9b2..c16a9da 100644 --- a/chrono/manager/views.py +++ b/chrono/manager/views.py @@ -338,6 +338,9 @@ class AgendaMonthView(AgendaDateView, MonthArchiveView): last_month_day = self.get_next_month(self.date.date()) - datetime.timedelta(days=1) last_week_number = last_month_day.isocalendar()[1] + if last_week_number < first_week_number: # new year + last_week_number = 53 + for week_number in range(first_week_number, last_week_number + 1): yield self.get_week_timetable_infos(week_number-first_week_number, timeperiods) diff --git a/tests/test_manager.py b/tests/test_manager.py index d8115cd..3259e50 100644 --- a/tests/test_manager.py +++ b/tests/test_manager.py @@ -1390,6 +1390,7 @@ def test_agenda_month_view(app, admin_user, manager_user, api_user): assert 'Day view' in resp.text # date view link should be present assert 'No opening hours this month.' in resp.text + today = datetime.date(2018, 11, 10) # fixed day timeperiod_weekday = today.weekday() timeperiod = TimePeriod(desk=desk, weekday=timeperiod_weekday, start_time=datetime.time(10, 0), @@ -1459,6 +1460,11 @@ def test_agenda_month_view(app, admin_user, manager_user, api_user): resp = app.get('/manage/agendas/%s/%s/%s/' % (agenda.id, today.year, today.month)) assert resp.text.count('