Merged in [12038] from rjsparks@nostrum.com:

Change how document names are generated for agendas and slides to allow uploads before meetings are scheduled.
 - Legacy-Id: 12045
Note: SVN reference [12038] has been migrated to Git commit 55febb5432
This commit is contained in:
Henrik Levkowetz 2016-09-26 19:18:19 +00:00
commit 87bf9d0ccb
2 changed files with 17 additions and 8 deletions

View file

@ -7,6 +7,7 @@ import copy
import os
import sys
import re
import string
import timedelta
from timedeltafield import TimedeltaField
@ -1099,6 +1100,11 @@ class Session(models.Model):
else:
return ""
def docname_token(self):
sess_mtg = Session.objects.filter(meeting=self.meeting, group=self.group).order_by('pk')
index = list(sess_mtg).index(self)
return 'sess%s' % (string.ascii_lowercase[index])
def constraints(self):
return Constraint.objects.filter(source=self.group, meeting=self.meeting).order_by('name__name')

View file

@ -1322,18 +1322,22 @@ def upload_session_agenda(request, session_id, num):
agenda_sp.rev = doc.rev
agenda_sp.save()
else:
sess_time = session.official_timeslotassignment().timeslot.time
sess_time = session.official_timeslotassignment() and session.official_timeslotassignment().timeslot.time
if session.meeting.type_id=='ietf':
name = 'agenda-%s-%s' % (session.meeting.number,
session.group.acronym)
title = 'Agenda IETF%s: %s' % (session.meeting.number,
session.group.acronym)
if not apply_to_all:
name += '-%s' % (sess_time.strftime("%Y%m%d%H%M"),)
title += ': %s' % (sess_time.strftime("%a %H:%M"),)
name += '-%s' % (session.docname_token(),)
if sess_time:
title += ': %s' % (sess_time.strftime("%a %H:%M"),)
else:
name = 'agenda-%s-%s' % (session.meeting.number, sess_time.strftime("%Y%m%d%H%M"))
title = 'Agenda %s: %s' % (session.meeting.number, sess_time.strftime("%a %H:%M"))
name = 'agenda-%s-%s' % (session.meeting.number, session.docname_token())
title = 'Agenda %s' % (session.meeting.number, )
if sess_time:
title += ': %s' % (sess_time.strftime("%a %H:%M"),)
doc = Document.objects.create(
name = name,
type_id = 'agenda',
@ -1425,14 +1429,13 @@ def upload_session_slides(request, session_id, num, name):
slides_sp.save()
else:
title = form.cleaned_data['title']
sess_time = session.official_timeslotassignment().timeslot.time
if session.meeting.type_id=='ietf':
name = 'slides-%s-%s' % (session.meeting.number,
session.group.acronym)
if not apply_to_all:
name += '-%s' % (sess_time.strftime("%Y%m%d%H%M"),)
name += '-%s' % (session.docname_token(),)
else:
name = 'slides-%s-%s' % (session.meeting.number, sess_time.strftime("%Y%m%d%H%M"))
name = 'slides-%s-%s' % (session.meeting.number, session.docname_token())
name = name + '-' + slugify(title)
if Document.objects.filter(name=name).exists():
doc = Document.objects.get(name=name)