fix: redirect to renamed schedule after saving a name change (#3696)
Fixes #3427
This commit is contained in:
parent
6ee123d29b
commit
fd2adc86eb
|
@ -851,7 +851,7 @@ class MeetingTests(BaseMeetingTestCase):
|
|||
|
||||
new_base = Schedule.objects.create(name="newbase", owner=schedule.owner, meeting=schedule.meeting)
|
||||
response = self.client.post(url, {
|
||||
'name':schedule.name,
|
||||
'name': 'some-other-name',
|
||||
'visible':True,
|
||||
'public':True,
|
||||
'notes': "New Notes",
|
||||
|
@ -859,11 +859,19 @@ class MeetingTests(BaseMeetingTestCase):
|
|||
}
|
||||
)
|
||||
self.assertNoFormPostErrors(response)
|
||||
self.assertRedirects(
|
||||
response,
|
||||
urlreverse(
|
||||
'ietf.meeting.views.edit_meeting_schedule',
|
||||
kwargs={'num': schedule.meeting.number, 'owner': schedule.owner.email(), 'name': 'some-other-name'}
|
||||
),
|
||||
)
|
||||
schedule.refresh_from_db()
|
||||
self.assertTrue(schedule.visible)
|
||||
self.assertTrue(schedule.public)
|
||||
self.assertEqual(schedule.notes, "New Notes")
|
||||
self.assertEqual(schedule.base_id, new_base.pk)
|
||||
self.assertEqual(schedule.name, 'some-other-name')
|
||||
|
||||
def test_agenda_by_type_ics(self):
|
||||
session=SessionFactory(meeting__type_id='ietf',type_id='lead')
|
||||
|
|
|
@ -1344,12 +1344,13 @@ def edit_schedule_properties(request, num, owner, name):
|
|||
permission_denied(request, "You may not edit this schedule.")
|
||||
|
||||
if request.method == 'POST':
|
||||
form = SchedulePropertiesForm(meeting, instance=schedule, data=request.POST)
|
||||
# use a new copy of the Schedule instance for the form so the template isn't fouled if validation fails
|
||||
form = SchedulePropertiesForm(meeting, instance=Schedule.objects.get(pk=schedule.pk), data=request.POST)
|
||||
if form.is_valid():
|
||||
form.save()
|
||||
if request.GET.get('next'):
|
||||
return HttpResponseRedirect(request.GET.get('next'))
|
||||
return redirect('ietf.meeting.views.edit_meeting_schedule', num=num, owner=owner, name=name)
|
||||
form.save()
|
||||
if request.GET.get('next'):
|
||||
return HttpResponseRedirect(request.GET.get('next'))
|
||||
return redirect('ietf.meeting.views.edit_meeting_schedule', num=num, owner=owner, name=form.instance.name)
|
||||
else:
|
||||
form = SchedulePropertiesForm(meeting, instance=schedule)
|
||||
|
||||
|
|
Loading…
Reference in a new issue