From 42d35abc071af2bf63972d1de8ebb69b74b7b264 Mon Sep 17 00:00:00 2001
From: Dan Braghis <dan.braghis@torchbox.com>
Date: Wed, 28 Feb 2018 11:47:27 +0000
Subject: [PATCH] Change migration to OTF-provided export

---
 .../apply/users/management/commands/migrate_users.py | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/opentech/apply/users/management/commands/migrate_users.py b/opentech/apply/users/management/commands/migrate_users.py
index eb2bb3524..9e13f18e6 100644
--- a/opentech/apply/users/management/commands/migrate_users.py
+++ b/opentech/apply/users/management/commands/migrate_users.py
@@ -9,7 +9,7 @@ class Command(BaseCommand):
     help = "User migration script. Requires a source JSON file."
 
     def add_arguments(self, parser):
-        parser.add_argument('source', nargs='?', type=argparse.FileType('r'))
+        parser.add_argument('source', nargs='?', type=argparse.FileType('r'), help='Migration source JSON file')
         parser.add_argument(
             '--dry-run',
             action='store_true',
@@ -22,8 +22,14 @@ class Command(BaseCommand):
             User = get_user_model()
             users = json.load(json_data)
 
-            for user in users:
+            from pprint import pprint
+            for uid in users:
+                user = users[uid]
+
                 full_name = user.get('field_otf_real_name', None)
+                if isinstance(name, dict) and 'und' in name:
+                    full_name = name['und'][0]['safe_value']
+
                 if not full_name:
                     full_name = user.get('name')
 
@@ -33,4 +39,4 @@ class Command(BaseCommand):
                 )
 
                 if created:
-                    print("Imported user %s (%s)" % (user['uid'], full_name))
+                    print("Imported user %s (%s)" % (uid, full_name))
-- 
GitLab