datatracker/ietf/mailtrigger/migrations/0009_custom_review_complete_mailtriggers.py
Henrik Levkowetz 726fcbf27d Removed all __future__ imports.
- Legacy-Id: 17391
2020-03-05 23:53:42 +00:00

52 lines
1.9 KiB
Python

# Copyright The IETF Trust 2019-2020, All Rights Reserved
# -*- coding: utf-8 -*-
from django.db import migrations
def forward(apps, schema_editor):
ReviewTeamSettings = apps.get_model('review', 'ReviewTeamSettings')
MailTrigger = apps.get_model('mailtrigger', 'Mailtrigger')
Group = apps.get_model('group', 'Group')
GroupFeatures = apps.get_model('group', 'GroupFeatures')
template = MailTrigger.objects.get(slug='review_completed')
template.desc = 'Default template for recipients when an review is completed - ' \
'customised mail triggers are used/created per team and review type.'
template.save()
for group in Group.objects.all().only('pk', 'type', 'acronym'):
if not GroupFeatures.objects.get(type=group.type).has_reviews:
continue
try:
review_team = ReviewTeamSettings.objects.get(group=group.pk)
except ReviewTeamSettings.DoesNotExist:
continue
team_acronym = group.acronym.lower()
for review_type in review_team.review_types.all():
slug = 'review_completed_{}_{}'.format(team_acronym, review_type.slug)
desc = 'Recipients when a {} {} review is completed'.format(team_acronym, review_type)
if MailTrigger.objects.filter(slug=slug):
# Never overwrite existing triggers
continue
mailtrigger = MailTrigger.objects.create(slug=slug, desc=desc)
mailtrigger.to.set(template.to.all())
mailtrigger.cc.set(template.cc.all())
def reverse(apps, schema_editor):
pass
class Migration(migrations.Migration):
dependencies = [
('mailtrigger', '0008_lengthen_mailtrigger_slug'),
('review', '0014_document_primary_key_cleanup'),
('group', '0019_rename_field_document2'),
]
operations = [
migrations.RunPython(forward, reverse)
]