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 0000000000000000000000000000000000000000..a0ea4d2ebea14f5bcd7a740717c053fc4624bb36 --- /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 0000000000000000000000000000000000000000..41769a5dbba9f9eb31028ebaa50a8379bfe39623 --- /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), + ]