From 317be6f25c9d71b48aec3aaa0df6f1bdc922d9c4 Mon Sep 17 00:00:00 2001
From: Jorran de Wit <jorrandewit@outlook.com>
Date: Sat, 8 Apr 2017 16:23:10 +0200
Subject: [PATCH] Improve journals migration scripts

---
 .../migrations/0013_auto_20170407_0954.py     | 32 +++++++++++++++----
 journals/migrations/0014_journal_active.py    |  2 +-
 2 files changed, 26 insertions(+), 8 deletions(-)

diff --git a/journals/migrations/0013_auto_20170407_0954.py b/journals/migrations/0013_auto_20170407_0954.py
index 77ee437c0..d7cd736a6 100644
--- a/journals/migrations/0013_auto_20170407_0954.py
+++ b/journals/migrations/0013_auto_20170407_0954.py
@@ -10,37 +10,55 @@ def auto_remove_scipost_physics_proc(apps, schema_editor):
     try:
         journal = Journal.objects.get(name='SciPostPhysProc')
         journal.delete()
-        print('\n...SciPost Physics Proceedings deleted.')
+        print('\n   - SciPost Physics Proceedings deleted...')
     except Journal.DoesNotExist:
-        print('\n...No SciPost Physics Proceedings does not exist.')
+        print('   - No SciPost Physics Proceedings does not exist...')
 
 
 def auto_add_scipost_physics_proc(apps, schema_editor):
     Journal = apps.get_model('journals', 'Journal')
     Journal.objects.create(name='SciPostPhysProc', doi_string='SciPostPhysProc')
-    print('\n...SciPost Physics Proceedings created.')
+    print('   - SciPost Physics Proceedings created...')
 
 
 def alter_existing_journal_name(apps, schema_editor):
     Journal = apps.get_model('journals', 'Journal')
+    Submission = apps.get_model('submissions', 'Submission')
     try:
         journal = Journal.objects.get(name='SciPost Physics')
         journal.name = 'SciPostPhys'
         journal.save()
-        print('\n...SciPost Physics name updated.')
+        print('\n   - SciPost Physics name updated...')
+
+        Submission.objects.filter(submitted_to_journal='SciPost Physics').update(
+                                  submitted_to_journal='SciPostPhys'
+        )
+        Submission.objects.filter(submitted_to_journal='SciPost Physics Lecture Notes').update(
+                                  submitted_to_journal='SciPostPhysLectNotes'
+        )
+        print('   - Submission `submitted_to_journal` keys updated...')
     except Journal.DoesNotExist:
-        print('\n...No Journal Names altered.')
+        print('   - No Journal Names altered...')
 
 
 def reverse_alter_existing_journal_name(apps, schema_editor):
     Journal = apps.get_model('journals', 'Journal')
+    Submission = apps.get_model('submissions', 'Submission')
     try:
         journal = Journal.objects.get(name='SciPostPhys')
         journal.name = 'SciPost Physics'
         journal.save()
-        print('\n...SciPost Physics name updated.')
+        print('   - SciPost Physics name updated...')
+
+        Submission.objects.filter(submitted_to_journal='SciPostPhys').update(
+                                  submitted_to_journal='SciPost Physics'
+        )
+        Submission.objects.filter(submitted_to_journal='SciPostPhysLectNotes').update(
+                                  submitted_to_journal='SciPost Physics Lecture Notes'
+        )
+        print('   - Submission `submitted_to_journal` keys updated...')
     except Journal.DoesNotExist:
-        print('\n...No Journal Names altered.')
+        print('   - No Journal Names altered...')
 
 
 class Migration(migrations.Migration):
diff --git a/journals/migrations/0014_journal_active.py b/journals/migrations/0014_journal_active.py
index bbfa86cd9..a4e7c58cc 100644
--- a/journals/migrations/0014_journal_active.py
+++ b/journals/migrations/0014_journal_active.py
@@ -15,7 +15,7 @@ def auto_deactivate_scipost_physics_proc(apps, schema_editor):
         journal = Journal.objects.get(name='SciPostPhysProc', doi_string='SciPostPhysProc')
         journal.active = False
         journal.save()
-        print('\n...SciPost Physics Proceedings deactivated.')
+        print('\n   - SciPost Physics Proceedings deactivated...')
     except Journal.DoesNotExist:
         pass
 
-- 
GitLab