Merged in [8852] from rcross@amsl.com:\n fixes ability to replace minutes and agendas.

- Legacy-Id: 8885
Note: SVN reference [8852] has been migrated to Git commit cd8cf00c52
This commit is contained in:
Henrik Levkowetz 2015-01-21 19:38:46 +00:00
commit 5c5193786c

View file

@ -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',