From cd8cf00c52dfa65a99f326f5e3924734770b4b32 Mon Sep 17 00:00:00 2001 From: Ryan Cross Date: Thu, 8 Jan 2015 21:42:32 +0000 Subject: [PATCH] fixes ability to replace minutes and agendas. Commit ready for merge. - Legacy-Id: 8852 --- ietf/secr/proceedings/views.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/ietf/secr/proceedings/views.py b/ietf/secr/proceedings/views.py index 1803507e9..768d9a969 100644 --- a/ietf/secr/proceedings/views.py +++ b/ietf/secr/proceedings/views.py @@ -25,7 +25,7 @@ from ietf.secr.utils.meeting import get_upload_root, get_materials, get_timeslot from ietf.doc.models import Document, DocAlias, DocEvent, State, NewRevisionDocEvent from ietf.group.models import Group from ietf.ietfauth.utils import has_role, role_required -from ietf.meeting.models import Meeting, Session, TimeSlot, ScheduledSession, SessionPresentation +from ietf.meeting.models import Meeting, Session, TimeSlot, ScheduledSession from ietf.secr.proceedings.forms import EditSlideForm, InterimMeetingForm, RecordingForm, RecordingEditForm, ReplaceSlideForm, UnifiedUploadForm from ietf.secr.proceedings.proc_utils import ( gen_acknowledgement, gen_agenda, gen_areas, gen_attendees, gen_group_pages, gen_index, gen_irtf, gen_overview, gen_plenaries, gen_progress, gen_research, @@ -877,8 +877,8 @@ def upload_unified(request, meeting_num, acronym=None, session_id=None): session = sessions[0] session_name = '' elif session_id: - sessions = None session = get_object_or_404(Session, id=int(session_id)) + sessions = [session] group = session.group session_name = session.name @@ -945,11 +945,13 @@ def upload_unified(request, meeting_num, acronym=None, session_id=None): # create session relationship, per Henrik we should associate documents to all sessions # for the current meeting (until tools support different materials for diff sessions) - if sessions: - for s in sessions: - s.sessionpresentation_set.add(SessionPresentation(session=s,document=doc,rev=doc.rev)) - else: - session.sessionpresentation_set.add(SessionPresentation(session=session,document=doc,rev=doc.rev)) + for s in sessions: + try: + sp = s.sessionpresentation_set.get(document=doc) + sp.rev = doc.rev + sp.save() + except ObjectDoesNotExist: + s.sessionpresentation_set.create(document=doc,rev=doc.rev) # create NewRevisionDocEvent instead of uploaded, per Ole NewRevisionDocEvent.objects.create(type='new_revision',