time exceptions: stay on exception list on delete (#19033)
This commit is contained in:
parent
c6f418dd8e
commit
49eff910c6
|
@ -776,6 +776,14 @@ class TimePeriodExceptionDeleteView(ManagedDeskSubobjectMixin, DeleteView):
|
|||
template_name = 'chrono/manager_confirm_delete.html'
|
||||
model = TimePeriodException
|
||||
|
||||
def get_success_url(self):
|
||||
referer = self.request.META.get('HTTP_REFERER')
|
||||
success_url = reverse('chrono-manager-time-period-exception-list', kwargs={'pk': self.desk.agenda_id})
|
||||
if success_url in referer:
|
||||
return success_url
|
||||
|
||||
return super(TimePeriodExceptionDeleteView, self).get_success_url()
|
||||
|
||||
|
||||
time_period_exception_delete = TimePeriodExceptionDeleteView.as_view()
|
||||
|
||||
|
|
|
@ -1025,8 +1025,22 @@ def test_meetings_agenda_delete_time_period_exception(app, admin_user):
|
|||
assert localtime(time_period_exception.end_datetime).strftime(dt_format) == tomorrow.replace(hour=16).strftime(dt_format)
|
||||
resp = resp.click(href='/manage/time-period-exceptions/%d/edit' % time_period_exception.id)
|
||||
resp = resp.click('Delete')
|
||||
resp = resp.form.submit()
|
||||
resp = resp.form.submit().follow()
|
||||
assert TimePeriodException.objects.count() == 0
|
||||
assert resp.request.url.endswith('/manage/agendas/%d/settings' % agenda.pk)
|
||||
|
||||
# stay on exception list
|
||||
time_period_exception = TimePeriodException.objects.create(
|
||||
label='Future Exception',
|
||||
desk=desk,
|
||||
start_datetime=now() + datetime.timedelta(days=1),
|
||||
end_datetime=now() + datetime.timedelta(days=2))
|
||||
resp = app.get('/manage/time-period-exceptions/%d/exception-list' % desk.pk)
|
||||
resp = resp.click(href='/manage/time-period-exceptions/%d/delete' % time_period_exception.pk)
|
||||
resp = resp.form.submit(
|
||||
extra_environ={'HTTP_REFERER': str('/manage/time-period-exceptions/%d/exception-list' % desk.pk)}
|
||||
).follow()
|
||||
assert resp.request.url.endswith('/manage/time-period-exceptions/%d/exception-list' % desk.pk)
|
||||
|
||||
|
||||
def test_exception_list(app, admin_user):
|
||||
|
|
Loading…
Reference in New Issue