manager: fix display of Januaries starting on week 52 or 53 (#39246)

This commit is contained in:
Frédéric Péters 2020-01-24 15:12:27 +01:00
parent 66844a814a
commit baf109b11a
2 changed files with 17 additions and 0 deletions

View File

@ -459,6 +459,8 @@ class AgendaMonthView(AgendaDateView, MonthArchiveView):
)
first_week_number = self.date.isocalendar()[1]
if first_week_number >= 52:
first_week_number = 0
last_month_day = self.get_next_month(self.date.date()) - datetime.timedelta(days=1)
last_week_number = last_month_day.isocalendar()[1]

View File

@ -1952,6 +1952,21 @@ def test_agenda_month_view_dst_change(app, admin_user, manager_user, api_user):
assert resp.text.count('height:33.0%;top:100.0%;') == 2
def test_agenda_month_view_januaries(app, admin_user, manager_user, api_user):
agenda = Agenda.objects.create(label='Passports', kind='meetings')
desk = Desk.objects.create(agenda=agenda, label='Desk A')
meetingtype = MeetingType(agenda=agenda, label='passport', duration=20)
meetingtype.save()
TimePeriod(desk=desk, weekday=2, start_time=datetime.time(9, 0), end_time=datetime.time(12, 0)).save()
for year in range(2020, 2030):
date = datetime.date(year, 1, 1)
with freezegun.freeze_time(date):
login(app)
resp = app.get('/manage/agendas/%s/%s/1/' % (agenda.id, date.year))
assert resp.text.count('<th></th>') in (4, 5)
def test_agenda_view_event(app, manager_user):
agenda = Agenda(label=u'Foo bar')
agenda.view_role = manager_user.groups.all()[0]