Fixed agenda view save-as. Fixes #1425. Commit ready for merge.

- Legacy-Id: 8604
This commit is contained in:
Harald T. Alvestrand 2014-11-08 23:11:03 +00:00
parent b74d4e7795
commit c0c608ae1c
2 changed files with 24 additions and 1 deletions

View file

@ -211,6 +211,26 @@ class EditTests(TestCase):
r = self.client.get(url)
self.assertEqual(r.status_code, 200)
def test_save_agenda_broken_names(self):
meeting = make_meeting_test_data()
# save as new name (requires valid existing agenda)
url = urlreverse("ietf.meeting.views.edit_agenda", kwargs=dict(num=meeting.number,
owner=meeting.agenda.owner_email(),
name=meeting.agenda.name))
self.client.login(username="ad", password="ad+password")
r = self.client.post(url, {
'savename': "/no/this/should/not/work/it/is/too/long",
'saveas': "saveas",
})
self.assertEqual(r.status_code, 404)
#r = self.client.post(url, {
# 'savename': "/invalid/chars/",
# 'saveas': "saveas",
# })
#self.assertEqual(r.status_code, 404)
def test_edit_timeslots(self):
meeting = make_meeting_test_data()

View file

@ -89,7 +89,7 @@ def get_user_agent(request):
return user_agent
class SaveAsForm(forms.Form):
savename = forms.CharField(max_length=100)
savename = forms.CharField(max_length=16)
@role_required('Area Director','Secretariat')
def agenda_create(request, num=None, owner=None, name=None):
@ -109,6 +109,9 @@ def agenda_create(request, num=None, owner=None, name=None):
savedname = saveasform.cleaned_data['savename']
if not savedname.isalnum():
return HttpResponse("Asked to save with invalid name", status=404)
# create the new schedule, and copy the scheduledsessions
try:
sched = meeting.schedule_set.get(name=savedname, owner=request.user.person)