From f76bc34c30be229fb636c99b7355538fca68ad71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laur=C3=A9line=20Gu=C3=A9rin?= Date: Thu, 22 Sep 2022 17:21:43 +0200 Subject: [PATCH] manager: redirect to meeting type tab after meeting type change (#69439) --- chrono/manager/views.py | 3 +++ tests/manager/test_meetings_agenda_options.py | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/chrono/manager/views.py b/chrono/manager/views.py index 791d8b18..e9b12aed 100644 --- a/chrono/manager/views.py +++ b/chrono/manager/views.py @@ -2601,6 +2601,7 @@ class AgendaAddMeetingTypeView(ManagedAgendaMixin, CreateView): template_name = 'chrono/manager_meeting_type_form.html' model = MeetingType form_class = NewMeetingTypeForm + tab_anchor = 'meeting-types' agenda_add_meeting_type = AgendaAddMeetingTypeView.as_view() @@ -2610,6 +2611,7 @@ class MeetingTypeEditView(ManagedAgendaSubobjectMixin, UpdateView): template_name = 'chrono/manager_meeting_type_form.html' model = MeetingType form_class = MeetingTypeForm + tab_anchor = 'meeting-types' def form_valid(self, form): try: @@ -2630,6 +2632,7 @@ meeting_type_edit = MeetingTypeEditView.as_view() class MeetingTypeDeleteView(ManagedAgendaSubobjectMixin, DeleteView): template_name = 'chrono/manager_confirm_delete.html' model = MeetingType + tab_anchor = 'meeting-types' def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) diff --git a/tests/manager/test_meetings_agenda_options.py b/tests/manager/test_meetings_agenda_options.py index 1d1245ed..bce94146 100644 --- a/tests/manager/test_meetings_agenda_options.py +++ b/tests/manager/test_meetings_agenda_options.py @@ -125,6 +125,7 @@ def test_meetings_agenda_add_meeting_type(app, admin_user): assert not MeetingType.objects.exists() resp.form['duration'] = '60' resp = resp.form.submit() + assert resp.location.endswith('/manage/agendas/%s/settings#open:meeting-types' % agenda.pk) meeting_type = MeetingType.objects.get(agenda=agenda) assert meeting_type.label == 'Blah' @@ -180,7 +181,8 @@ def test_meetings_agenda_edit_meeting_type(app, admin_user): # no errors resp = app.get('/manage/meetingtypes/%s/edit' % meeting_type.pk) resp.form['duration'] = '120' - resp = resp.form.submit().follow() + resp = resp.form.submit() + assert resp.location.endswith('/manage/agendas/%s/settings#open:meeting-types' % agenda.pk) resp = app.get('/manage/meetingtypes/%s/edit' % meeting_type.pk) resp.form['duration'] = '90' @@ -205,7 +207,7 @@ def test_meetings_agenda_delete_meeting_type(app, admin_user): assert 'Are you sure you want to delete this?' in resp.text assert 'disabled' not in resp.text resp = resp.form.submit() - assert resp.location.endswith('/manage/agendas/%s/settings' % agenda.id) + assert resp.location.endswith('/manage/agendas/%s/settings#open:meeting-types' % agenda.pk) meeting_type.refresh_from_db() assert meeting_type.deleted is True assert '__deleted__' in meeting_type.slug