From 3165a4ab16de71358a1740fc3685aa1f757926b8 Mon Sep 17 00:00:00 2001
From: Valentin Rigal <rigal@teklia.com>
Date: Wed, 16 Dec 2020 13:28:03 +0000
Subject: [PATCH] Split the user display name migration

---
 .../migrations/0007_user_display_name.py      | 15 -----------
 .../0008_populate_user_display_name.py        | 26 +++++++++++++++++++
 ...=> 0009_membership_uuid_and_validation.py} |  2 +-
 .../{0009_right_gfk.py => 0010_right_gfk.py}  |  2 +-
 4 files changed, 28 insertions(+), 17 deletions(-)
 create mode 100644 arkindex/users/migrations/0008_populate_user_display_name.py
 rename arkindex/users/migrations/{0008_membership_uuid_and_validation.py => 0009_membership_uuid_and_validation.py} (96%)
 rename arkindex/users/migrations/{0009_right_gfk.py => 0010_right_gfk.py} (97%)

diff --git a/arkindex/users/migrations/0007_user_display_name.py b/arkindex/users/migrations/0007_user_display_name.py
index 0a4b5b4903..f215bd45da 100644
--- a/arkindex/users/migrations/0007_user_display_name.py
+++ b/arkindex/users/migrations/0007_user_display_name.py
@@ -3,16 +3,6 @@
 from django.db import migrations, models
 
 
-def get_name_from_email(apps, schema_editor):
-    User = apps.get_model('users', 'User')
-    for user in User.objects.all():
-        try:
-            user.display_name = user.email.split('@')[0].replace('.', ' ').title()
-        except Exception:
-            user.display_name = user.email
-        user.save()
-
-
 class Migration(migrations.Migration):
 
     dependencies = [
@@ -25,10 +15,5 @@ class Migration(migrations.Migration):
             name='display_name',
             field=models.CharField(default='default name', max_length=120),
             preserve_default=False,
-        ),
-        migrations.RunPython(
-            get_name_from_email,
-            reverse_code=migrations.RunPython.noop,
-            elidable=True
         )
     ]
diff --git a/arkindex/users/migrations/0008_populate_user_display_name.py b/arkindex/users/migrations/0008_populate_user_display_name.py
new file mode 100644
index 0000000000..187cc1596c
--- /dev/null
+++ b/arkindex/users/migrations/0008_populate_user_display_name.py
@@ -0,0 +1,26 @@
+from django.db import migrations
+
+
+def get_name_from_email(apps, schema_editor):
+    User = apps.get_model('users', 'User')
+    for user in User.objects.filter(display_name='default name'):
+        try:
+            user.display_name = user.email.split('@')[0].replace('.', ' ').title()
+        except Exception:
+            user.display_name = user.email
+        user.save()
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('users', '0007_user_display_name'),
+    ]
+
+    operations = [
+        migrations.RunPython(
+            get_name_from_email,
+            reverse_code=migrations.RunPython.noop,
+            elidable=True
+        )
+    ]
diff --git a/arkindex/users/migrations/0008_membership_uuid_and_validation.py b/arkindex/users/migrations/0009_membership_uuid_and_validation.py
similarity index 96%
rename from arkindex/users/migrations/0008_membership_uuid_and_validation.py
rename to arkindex/users/migrations/0009_membership_uuid_and_validation.py
index 7e8e553bc0..a54857f9c0 100644
--- a/arkindex/users/migrations/0008_membership_uuid_and_validation.py
+++ b/arkindex/users/migrations/0009_membership_uuid_and_validation.py
@@ -10,7 +10,7 @@ from django.db import migrations, models
 class Migration(migrations.Migration):
 
     dependencies = [
-        ('users', '0007_user_display_name'),
+        ('users', '0008_populate_user_display_name'),
     ]
 
     operations = [
diff --git a/arkindex/users/migrations/0009_right_gfk.py b/arkindex/users/migrations/0010_right_gfk.py
similarity index 97%
rename from arkindex/users/migrations/0009_right_gfk.py
rename to arkindex/users/migrations/0010_right_gfk.py
index e548c9b0e0..956364df21 100644
--- a/arkindex/users/migrations/0009_right_gfk.py
+++ b/arkindex/users/migrations/0010_right_gfk.py
@@ -12,7 +12,7 @@ class Migration(migrations.Migration):
 
     dependencies = [
         ('contenttypes', '0002_remove_content_type_name'),
-        ('users', '0008_membership_uuid_and_validation'),
+        ('users', '0009_membership_uuid_and_validation'),
     ]
 
     operations = [
-- 
GitLab