From 119f48699cc7cedc4def3cc572ab5a8f7b8aa158 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Fri, 3 Mar 2017 21:14:45 +0000 Subject: [PATCH] Added a data migration to add author information to existing reviews. - Legacy-Id: 12960 --- .../migrations/0011_auto_20170303_1009.py | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 ietf/review/migrations/0011_auto_20170303_1009.py diff --git a/ietf/review/migrations/0011_auto_20170303_1009.py b/ietf/review/migrations/0011_auto_20170303_1009.py new file mode 100644 index 000000000..891b2bfa6 --- /dev/null +++ b/ietf/review/migrations/0011_auto_20170303_1009.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.5 on 2017-03-03 10:09 +from __future__ import unicode_literals + +from django.db import migrations + +import debug # pyflakes:ignore + +def email(person): + e = person.email_set.filter(primary=True).first() + if not e: + e = person.email_set.filter(active=True).order_by("-time").first() + return e + +def forwards(apps, schema_editor): + ReviewRequest = apps.get_model('review', 'ReviewRequest') + DocumentAuthor = apps.get_model('doc', 'DocumentAuthor') + for r in ReviewRequest.objects.filter(review__isnull=False): + if r.review and not r.review.authors.exists(): + role = r.reviewer.person.role_set.filter(group=r.team, name='reviewer').first() + if role: + author = role.email + else: + author = email(r.reviewer.person) + DocumentAuthor.objects.create(document=r.review, author=author) + +def backwards(apps, schema_editor): + pass + +class Migration(migrations.Migration): + + dependencies = [ + ('review', '0010_auto_20161214_1537'), + ] + + operations = [ + migrations.RunPython(forwards, backwards) + ]