From f3d94abefe6510eaaa357712f6e19507a483e121 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Wed, 7 Feb 2018 11:59:46 +0000 Subject: [PATCH] Re-worked create_proceedings_templates() so it does not blow up if it's run a second time for a given meeting. - Legacy-Id: 14621 --- ietf/meeting/utils.py | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/ietf/meeting/utils.py b/ietf/meeting/utils.py index 7ad52c0be..7b67c6b3c 100644 --- a/ietf/meeting/utils.py +++ b/ietf/meeting/utils.py @@ -95,19 +95,29 @@ def create_proceedings_templates(meeting): attendees = sorted(attendees, key = lambda a: a['LastName']) content = render_to_string('meeting/proceedings_attendees_table.html', { 'attendees':attendees}) - DBTemplate.objects.create( - path='/meeting/proceedings/%s/attendees.html' % meeting.number, - title='IETF %s Attendee List' % meeting.number, - type_id='django', - content=content) - + try: + template = DBTemplate.objects.get(path='/meeting/proceedings/%s/attendees.html' % (meeting.number, )) + template.title='IETF %s Attendee List' % meeting.number + template.type_id='django' + template.content=content + template.save() + except DBTemplate.DoesNotExist: + DBTemplate.objects.create( + path='/meeting/proceedings/%s/attendees.html' % (meeting.number, ), + title='IETF %s Attendee List' % meeting.number, + type_id='django', + content=content) # Make copy of default IETF Overview template if not meeting.overview: - template = DBTemplate.objects.get(path='/meeting/proceedings/defaults/overview.rst') - template.id = None - template.path = '/meeting/proceedings/%s/overview.rst' % (meeting.number) - template.title = 'IETF %s Proceedings Overview' % (meeting.number) - template.save() + path = '/meeting/proceedings/%s/overview.rst' % (meeting.number, ) + try: + template = DBTemplate.objects.get(path=path) + except DBTemplate.DoesNotExist: + template = DBTemplate.objects.get(path='/meeting/proceedings/defaults/overview.rst') + template.id = None + template.path = path + template.title = 'IETF %s Proceedings Overview' % (meeting.number) + template.save() meeting.overview = template meeting.save()