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)
|
new_base = Schedule.objects.create(name="newbase", owner=schedule.owner, meeting=schedule.meeting)
|
||||||
response = self.client.post(url, {
|
response = self.client.post(url, {
|
||||||
'name':schedule.name,
|
'name': 'some-other-name',
|
||||||
'visible':True,
|
'visible':True,
|
||||||
'public':True,
|
'public':True,
|
||||||
'notes': "New Notes",
|
'notes': "New Notes",
|
||||||
|
@ -859,11 +859,19 @@ class MeetingTests(BaseMeetingTestCase):
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
self.assertNoFormPostErrors(response)
|
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()
|
schedule.refresh_from_db()
|
||||||
self.assertTrue(schedule.visible)
|
self.assertTrue(schedule.visible)
|
||||||
self.assertTrue(schedule.public)
|
self.assertTrue(schedule.public)
|
||||||
self.assertEqual(schedule.notes, "New Notes")
|
self.assertEqual(schedule.notes, "New Notes")
|
||||||
self.assertEqual(schedule.base_id, new_base.pk)
|
self.assertEqual(schedule.base_id, new_base.pk)
|
||||||
|
self.assertEqual(schedule.name, 'some-other-name')
|
||||||
|
|
||||||
def test_agenda_by_type_ics(self):
|
def test_agenda_by_type_ics(self):
|
||||||
session=SessionFactory(meeting__type_id='ietf',type_id='lead')
|
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.")
|
permission_denied(request, "You may not edit this schedule.")
|
||||||
|
|
||||||
if request.method == 'POST':
|
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():
|
if form.is_valid():
|
||||||
form.save()
|
form.save()
|
||||||
if request.GET.get('next'):
|
if request.GET.get('next'):
|
||||||
return HttpResponseRedirect(request.GET.get('next'))
|
return HttpResponseRedirect(request.GET.get('next'))
|
||||||
return redirect('ietf.meeting.views.edit_meeting_schedule', num=num, owner=owner, name=name)
|
return redirect('ietf.meeting.views.edit_meeting_schedule', num=num, owner=owner, name=form.instance.name)
|
||||||
else:
|
else:
|
||||||
form = SchedulePropertiesForm(meeting, instance=schedule)
|
form = SchedulePropertiesForm(meeting, instance=schedule)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue