time exceptions: never show past exceptions (#19033)
This commit is contained in:
parent
90dfb10afa
commit
b5ef493d77
|
@ -749,7 +749,7 @@ class TimePeriodExceptionListView(ManagedDeskMixin, ListView):
|
|||
model = TimePeriodException
|
||||
|
||||
def get_queryset(self):
|
||||
return self.model.objects.filter(desk=self.desk)
|
||||
return self.model.objects.filter(desk=self.desk, end_datetime__gte=now())
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(TimePeriodExceptionListView, self).get_context_data(**kwargs)
|
||||
|
|
|
@ -1028,6 +1028,41 @@ def test_meetings_agenda_delete_time_period_exception(app, admin_user):
|
|||
resp = resp.form.submit()
|
||||
assert TimePeriodException.objects.count() == 0
|
||||
|
||||
|
||||
def test_exception_list(app, admin_user):
|
||||
agenda = Agenda.objects.create(label='Foo bar', kind='meetings')
|
||||
desk = Desk.objects.create(agenda=agenda, label='Desk A')
|
||||
MeetingType(agenda=agenda, label='Blah').save()
|
||||
TimePeriod.objects.create(weekday=1, desk=desk,
|
||||
start_time=datetime.time(10, 0), end_time=datetime.time(12, 0))
|
||||
past_exception = TimePeriodException.objects.create(
|
||||
label='Past Exception',
|
||||
desk=desk,
|
||||
start_datetime=now() - datetime.timedelta(days=2),
|
||||
end_datetime=now() - datetime.timedelta(days=1))
|
||||
current_exception = TimePeriodException.objects.create(
|
||||
label='Current Exception',
|
||||
desk=desk,
|
||||
start_datetime=now() - datetime.timedelta(days=1),
|
||||
end_datetime=now() + datetime.timedelta(days=1))
|
||||
future_exception = TimePeriodException.objects.create(
|
||||
label='Future Exception',
|
||||
desk=desk,
|
||||
start_datetime=now() + datetime.timedelta(days=1),
|
||||
end_datetime=now() + datetime.timedelta(days=2))
|
||||
|
||||
login(app)
|
||||
resp = app.get('/manage/agendas/%d/settings' % agenda.pk)
|
||||
assert '/manage/time-period-exceptions/%d/edit' % past_exception.pk not in resp.text
|
||||
assert '/manage/time-period-exceptions/%d/edit' % current_exception.pk in resp.text
|
||||
assert '/manage/time-period-exceptions/%d/edit' % future_exception.pk in resp.text
|
||||
|
||||
resp = resp.click(href="/manage/time-period-exceptions/%d/exception-list" % desk.pk)
|
||||
assert '/manage/time-period-exceptions/%d/edit' % past_exception.pk not in resp.text
|
||||
assert '/manage/time-period-exceptions/%d/edit' % current_exception.pk in resp.text
|
||||
assert '/manage/time-period-exceptions/%d/edit' % future_exception.pk in resp.text
|
||||
|
||||
|
||||
def test_agenda_import_time_period_exception_from_ics(app, admin_user):
|
||||
agenda = Agenda.objects.create(label='Example', kind='meetings')
|
||||
desk = Desk.objects.create(agenda=agenda, label='Test Desk')
|
||||
|
|
Loading…
Reference in New Issue