From 71d5eca6e6d5b75a65aab022049951b43b03e8af Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Mon, 7 Nov 2016 12:19:03 +0000 Subject: [PATCH] If a session agenda for a meeting exists, but is not bound to the session, the Document.objects.create() in upload_session_agenda() will fail. Using get_or_create() instead. - Legacy-Id: 12270 --- ietf/meeting/views.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/ietf/meeting/views.py b/ietf/meeting/views.py index 24f68060c..c4179297a 100644 --- a/ietf/meeting/views.py +++ b/ietf/meeting/views.py @@ -1327,11 +1327,10 @@ def upload_session_agenda(request, session_id, num): apply_to_all = True if num_sessions > 1: apply_to_all = form.cleaned_data['apply_to_all'] + created = None if agenda_sp: doc = agenda_sp.document - doc.rev = '%02d' % (int(doc.rev)+1) - agenda_sp.rev = doc.rev - agenda_sp.save() + created = False else: sess_time = session.official_timeslotassignment() and session.official_timeslotassignment().timeslot.time @@ -1349,7 +1348,7 @@ def upload_session_agenda(request, session_id, num): title = 'Agenda %s' % (session.meeting.number, ) if sess_time: title += ': %s' % (sess_time.strftime("%a %H:%M"),) - doc = Document.objects.create( + doc, created = Document.objects.get_or_create( name = name, type_id = 'agenda', title = title, @@ -1359,6 +1358,10 @@ def upload_session_agenda(request, session_id, num): doc.states.add(State.objects.get(type_id='agenda',slug='active')) doc.docalias_set.create(name=doc.name) session.sessionpresentation_set.create(document=doc,rev='00') + if not created: + doc.rev = '%02d' % (int(doc.rev)+1) + agenda_sp.rev = doc.rev + agenda_sp.save() if apply_to_all: for other_session in sessions: if other_session != session: