From 01490677a3d97f9ac0a80790b71db1697cd41855 Mon Sep 17 00:00:00 2001 From: Jorran de Wit <jorrandewit@outlook.com> Date: Fri, 30 Nov 2018 16:00:15 +0100 Subject: [PATCH] Renovation 2 --- .../0045_submission_is_resubmission_of.py | 21 +++++++++++++++ .../migrations/0046_auto_20181130_1013.py | 26 +++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 submissions/migrations/0045_submission_is_resubmission_of.py create mode 100644 submissions/migrations/0046_auto_20181130_1013.py diff --git a/submissions/migrations/0045_submission_is_resubmission_of.py b/submissions/migrations/0045_submission_is_resubmission_of.py new file mode 100644 index 000000000..a0ea4d2eb --- /dev/null +++ b/submissions/migrations/0045_submission_is_resubmission_of.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.4 on 2018-11-30 09:13 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('submissions', '0044_auto_20181115_1009'), + ] + + operations = [ + migrations.AddField( + model_name='submission', + name='is_resubmission_of', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='successor', to='submissions.Submission'), + ), + ] diff --git a/submissions/migrations/0046_auto_20181130_1013.py b/submissions/migrations/0046_auto_20181130_1013.py new file mode 100644 index 000000000..41769a5db --- /dev/null +++ b/submissions/migrations/0046_auto_20181130_1013.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.4 on 2018-11-30 09:13 +from __future__ import unicode_literals + +from django.db import migrations + + +def populate_explicit_resubmission_links(apps, schema_editor): + Submission = apps.get_model('submissions', 'Submission') + + for resubmission in Submission.objects.filter(preprint__vn_nr__gt=1): + resub_of = Submission.objects.filter( + preprint__identifier_wo_vn_nr=resubmission.preprint.identifier_wo_vn_nr).order_by( + '-preprint__vn_nr').exclude(id=resubmission.id).first() + Submission.objects.filter(id=resubmission.id).update(is_resubmission_of=resub_of) + + +class Migration(migrations.Migration): + + dependencies = [ + ('submissions', '0045_submission_is_resubmission_of'), + ] + + operations = [ + migrations.RunPython(populate_explicit_resubmission_links, reverse_code=migrations.RunPython.noop), + ] -- GitLab