Refactored the code to not use two different functions to get_next_interim_numbers.
- Legacy-Id: 11425
This commit is contained in:
parent
f083e88592
commit
ef8da52f27
|
@ -205,7 +205,7 @@ class InterimMeetingModelForm(forms.ModelForm):
|
|||
if not meeting.type_id:
|
||||
meeting.type_id = 'interim'
|
||||
if not meeting.number:
|
||||
meeting.number = get_next_interim_number(group, date)
|
||||
meeting.number = get_next_interim_number(group.acronym, date)
|
||||
meeting.date = date
|
||||
if kwargs.get('commit', True):
|
||||
# create schedule with meeting
|
||||
|
|
|
@ -385,7 +385,7 @@ def create_interim_meeting(group, date, city='', country='', timezone='UTC',
|
|||
"""Helper function to create interim meeting and associated schedule"""
|
||||
if not person:
|
||||
person = Person.objects.get(name='(System)')
|
||||
number = get_next_interim_number(group, date)
|
||||
number = get_next_interim_number(group.acronym, date)
|
||||
meeting = Meeting.objects.create(
|
||||
number=number,
|
||||
type_id='interim',
|
||||
|
@ -488,24 +488,19 @@ def is_meeting_approved(meeting):
|
|||
else:
|
||||
return True
|
||||
|
||||
|
||||
def get_next_interim_number(group, date):
|
||||
"""Returns a unique string to use for the next interim meeting for
|
||||
*group*, used for Meeting.number field."""
|
||||
meetings = Meeting.objects.filter(
|
||||
number__startswith='interim-{year}-{group}'.format(
|
||||
year=date.year,
|
||||
group=group.acronym))
|
||||
def get_next_interim_number(acronym,date):
|
||||
'''
|
||||
This function takes a group acronym and date object and returns the next number
|
||||
to use for an interim meeting. The format is interim-[year]-[acronym]-[01-99]
|
||||
'''
|
||||
base = 'interim-%s-%s-' % (date.year, acronym)
|
||||
# can't use count() to calculate the next number in case one was deleted
|
||||
meetings = Meeting.objects.filter(type='interim', number__startswith=base)
|
||||
if meetings:
|
||||
sequences = [int(m.number.split('-')[-1]) for m in meetings]
|
||||
last_sequence = sorted(sequences)[-1]
|
||||
serial = sorted([ int(x.number.split('-')[-1]) for x in meetings ])[-1]
|
||||
else:
|
||||
last_sequence = 0
|
||||
return 'interim-{year}-{group}-{sequence}'.format(
|
||||
year=date.year,
|
||||
group=group.acronym,
|
||||
sequence=str(last_sequence + 1).zfill(2))
|
||||
|
||||
serial = 0
|
||||
return "%s%02d" % (base, serial+1)
|
||||
|
||||
def get_next_agenda_name(meeting):
|
||||
"""Returns the next name to use for an agenda document for *meeting*"""
|
||||
|
|
|
@ -27,6 +27,7 @@ from ietf.doc.models import Document, DocAlias, DocEvent, State, NewRevisionDocE
|
|||
from ietf.group.models import Group
|
||||
from ietf.ietfauth.utils import has_role, role_required
|
||||
from ietf.meeting.models import Meeting, Session, TimeSlot, SchedTimeSessAssignment
|
||||
from ietf.meeting.helpers import get_next_interim_number
|
||||
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,
|
||||
|
@ -102,20 +103,6 @@ def get_extras(meeting):
|
|||
groups.append(session.group)
|
||||
return groups
|
||||
|
||||
def get_next_interim_num(acronym,date):
|
||||
'''
|
||||
This function takes a group acronym and date object and returns the next number to use for an
|
||||
interim meeting. The format is interim-[year]-[acronym]-[1-99]
|
||||
'''
|
||||
base = 'interim-%s-%s-' % (date.year, acronym)
|
||||
# can't use count() to calculate the next number in case one was deleted
|
||||
meetings = Meeting.objects.filter(type='interim',number__startswith=base)
|
||||
if meetings:
|
||||
nums = sorted([ int(x.number.split('-')[-1]) for x in meetings ])
|
||||
return base + str(nums[-1] + 1)
|
||||
else:
|
||||
return base + '1'
|
||||
|
||||
def get_next_slide_num(session):
|
||||
'''
|
||||
This function takes a session object and returns the
|
||||
|
@ -445,7 +432,7 @@ def interim(request, acronym):
|
|||
form = InterimMeetingForm(request.POST) # A form bound to the POST data
|
||||
if form.is_valid():
|
||||
date = form.cleaned_data['date']
|
||||
number = get_next_interim_num(acronym,date)
|
||||
number = get_next_interim_number(acronym,date)
|
||||
meeting=Meeting.objects.create(type_id='interim',
|
||||
date=date,
|
||||
number=number)
|
||||
|
|
Loading…
Reference in a new issue