Skip to content

Commit 71d5eca

Browse files
committed
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
1 parent bac7897 commit 71d5eca

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

ietf/meeting/views.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1327,11 +1327,10 @@ def upload_session_agenda(request, session_id, num):
13271327
apply_to_all = True
13281328
if num_sessions > 1:
13291329
apply_to_all = form.cleaned_data['apply_to_all']
1330+
created = None
13301331
if agenda_sp:
13311332
doc = agenda_sp.document
1332-
doc.rev = '%02d' % (int(doc.rev)+1)
1333-
agenda_sp.rev = doc.rev
1334-
agenda_sp.save()
1333+
created = False
13351334
else:
13361335

13371336
sess_time = session.official_timeslotassignment() and session.official_timeslotassignment().timeslot.time
@@ -1349,7 +1348,7 @@ def upload_session_agenda(request, session_id, num):
13491348
title = 'Agenda %s' % (session.meeting.number, )
13501349
if sess_time:
13511350
title += ': %s' % (sess_time.strftime("%a %H:%M"),)
1352-
doc = Document.objects.create(
1351+
doc, created = Document.objects.get_or_create(
13531352
name = name,
13541353
type_id = 'agenda',
13551354
title = title,
@@ -1359,6 +1358,10 @@ def upload_session_agenda(request, session_id, num):
13591358
doc.states.add(State.objects.get(type_id='agenda',slug='active'))
13601359
doc.docalias_set.create(name=doc.name)
13611360
session.sessionpresentation_set.create(document=doc,rev='00')
1361+
if not created:
1362+
doc.rev = '%02d' % (int(doc.rev)+1)
1363+
agenda_sp.rev = doc.rev
1364+
agenda_sp.save()
13621365
if apply_to_all:
13631366
for other_session in sessions:
13641367
if other_session != session:

0 commit comments

Comments
 (0)