Fixed agenda view save-as. Fixes #1425. Commit ready for merge.
- Legacy-Id: 8604
This commit is contained in:
parent
b74d4e7795
commit
c0c608ae1c
|
@ -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()
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue