Projet

Général

Profil

0001-manager-redirect-to-meeting-type-tab-after-meeting-t.patch

Lauréline Guérin, 22 septembre 2022 18:21

Télécharger (3,51 ko)

Voir les différences:

Subject: [PATCH] manager: redirect to meeting type tab after meeting type
 change (#69439)

 chrono/manager/views.py                       | 3 +++
 setup.py                                      | 2 +-
 tests/manager/test_meetings_agenda_options.py | 6 ++++--
 3 files changed, 8 insertions(+), 3 deletions(-)
chrono/manager/views.py
2601 2601
    template_name = 'chrono/manager_meeting_type_form.html'
2602 2602
    model = MeetingType
2603 2603
    form_class = NewMeetingTypeForm
2604
    tab_anchor = 'meeting-types'
2604 2605

  
2605 2606

  
2606 2607
agenda_add_meeting_type = AgendaAddMeetingTypeView.as_view()
......
2610 2611
    template_name = 'chrono/manager_meeting_type_form.html'
2611 2612
    model = MeetingType
2612 2613
    form_class = MeetingTypeForm
2614
    tab_anchor = 'meeting-types'
2613 2615

  
2614 2616
    def form_valid(self, form):
2615 2617
        try:
......
2630 2632
class MeetingTypeDeleteView(ManagedAgendaSubobjectMixin, DeleteView):
2631 2633
    template_name = 'chrono/manager_confirm_delete.html'
2632 2634
    model = MeetingType
2635
    tab_anchor = 'meeting-types'
2633 2636

  
2634 2637
    def get_context_data(self, **kwargs):
2635 2638
        context = super().get_context_data(**kwargs)
setup.py
161 161
    install_requires=[
162 162
        'django>=2.2, <3.3',
163 163
        'gadjo',
164
        'djangorestframework>=3.4',
164
        'djangorestframework<3.13,>=3.4',
165 165
        'django-filter',
166 166
        'vobject',
167 167
        'python-dateutil',
tests/manager/test_meetings_agenda_options.py
125 125
    assert not MeetingType.objects.exists()
126 126
    resp.form['duration'] = '60'
127 127
    resp = resp.form.submit()
128
    assert resp.location.endswith('/manage/agendas/%s/settings#open:meeting-types' % agenda.pk)
128 129

  
129 130
    meeting_type = MeetingType.objects.get(agenda=agenda)
130 131
    assert meeting_type.label == 'Blah'
......
180 181
    # no errors
181 182
    resp = app.get('/manage/meetingtypes/%s/edit' % meeting_type.pk)
182 183
    resp.form['duration'] = '120'
183
    resp = resp.form.submit().follow()
184
    resp = resp.form.submit()
185
    assert resp.location.endswith('/manage/agendas/%s/settings#open:meeting-types' % agenda.pk)
184 186

  
185 187
    resp = app.get('/manage/meetingtypes/%s/edit' % meeting_type.pk)
186 188
    resp.form['duration'] = '90'
......
205 207
    assert 'Are you sure you want to delete this?' in resp.text
206 208
    assert 'disabled' not in resp.text
207 209
    resp = resp.form.submit()
208
    assert resp.location.endswith('/manage/agendas/%s/settings' % agenda.id)
210
    assert resp.location.endswith('/manage/agendas/%s/settings#open:meeting-types' % agenda.pk)
209 211
    meeting_type.refresh_from_db()
210 212
    assert meeting_type.deleted is True
211 213
    assert '__deleted__' in meeting_type.slug
212
-