Fixed some migrations issues that prevented the review assignment refactoring migrations from being reversed and re-applied.

- Legacy-Id: 16182
This commit is contained in:
Henrik Levkowetz 2019-05-02 13:49:14 +00:00
parent ca1f3340c0
commit 9282195d6c
4 changed files with 16 additions and 7 deletions

View file

@ -12,7 +12,7 @@ class Migration(migrations.Migration):
dependencies = [
('review', '0009_refactor_review_request'),
('name', '0005_reviewassignmentstatename'),
('doc', '0010_auto_20190225_1302'),
('doc', '0010_alter_field_documenturl_url'),
]
operations = [

View file

@ -10,7 +10,13 @@ def forward(apps, schema_editor):
# TODO: Remove these newly unused states in a future release
ReviewRequestStateName.objects.filter(slug__in=['accepted', 'rejected', 'no-response', 'part-completed', 'completed', 'unknown']).update(used=False)
ReviewRequestStateName.objects.create(slug = 'assigned', name = 'Assigned', desc = 'The ReviewRequest has been assigned to at least one reviewer' , used = True, order = 0)
name, created = ReviewRequestStateName.objects.get_or_create(slug = 'assigned')
if created:
name.name = 'Assigned'
name.desc = 'The ReviewRequest has been assigned to at least one reviewer'
name.used = True
name.order = 0
name.save()
assignment_states = [
{ 'slug': 'assigned',

View file

@ -2,6 +2,8 @@
# Generated by Django 1.11.18 on 2019-01-04 14:34
from __future__ import unicode_literals
import sys
from tqdm import tqdm
from django.db import migrations
@ -32,8 +34,7 @@ def forward(apps, schema_editor):
ReviewRequestDocEvent = apps.get_model('doc','ReviewRequestDocEvent')
ReviewAssignmentDocEvent = apps.get_model('doc','ReviewAssignmentDocEvent')
print('') # introduce a newline before tqdm starts writing
sys.stderr.write('\n') # introduce a newline before tqdm starts writing
for request in tqdm(ReviewRequest.objects.exclude(unused_reviewer__isnull=True)):
assignment_state = map_request_state_to_assignment_state(request.state_id)
if not (assignment_state in (u'assigned', u'accepted', u'completed', u'no-response', u'overtaken', u'part-completed', u'rejected', u'withdrawn', u'unknown')):
@ -90,9 +91,11 @@ def reverse(apps, schema_editor):
ReviewRequestDocEvent = apps.get_model('doc','ReviewRequestDocEvent')
ReviewAssignmentDocEvent = apps.get_model('doc','ReviewAssignmentDocEvent')
sys.stderr.write('\n')
for assignment in tqdm(ReviewAssignment.objects.all()):
assignment.review_request.unused_review.external_url = assignment.mailarch_url
assignment.review_request.unused_review.save()
if assignment.review_request.unused_review:
assignment.review_request.unused_review.external_url = assignment.mailarch_url
assignment.review_request.unused_review.save()
assignment.review_request.state_id = assignment.state_id
assignment.review_request.save()
@ -104,7 +107,7 @@ def reverse(apps, schema_editor):
doc = asgn_event.doc,
rev = asgn_event.rev,
desc = asgn_event.desc,
review_request = asgn_event.review_request,
review_request = asgn_event.review_assignment.review_request,
state_id = asgn_event.state_id
)
ReviewAssignmentDocEvent.objects.all().delete()