From 66621978e6cb21fa5b8ea31286d66281b33c285f Mon Sep 17 00:00:00 2001
From: Dan Braghis <dan.braghis@torchbox.com>
Date: Wed, 7 Mar 2018 10:18:22 +0000
Subject: [PATCH] DRY for staff check

---
 .../users/management/commands/migrate_users.py   | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/opentech/apply/users/management/commands/migrate_users.py b/opentech/apply/users/management/commands/migrate_users.py
index 2883edb94..5db04a85b 100644
--- a/opentech/apply/users/management/commands/migrate_users.py
+++ b/opentech/apply/users/management/commands/migrate_users.py
@@ -67,8 +67,7 @@ class Command(BaseCommand):
             'dev': 'Administrator',
         }
 
-        _, email_domain = user.get('mail').split('@')
-        if email_domain in settings.STAFF_EMAIL_DOMAINS:
+        if self.is_staff(user['mail']):
             groups.append(self.groups.filter(name=STAFF_GROUP_NAME).first())
 
         roles = [role for role in user.get('roles').values() if role != "authenticated user"]
@@ -81,11 +80,12 @@ class Command(BaseCommand):
         return groups
 
     def get_email(self, user, anonymize=False):
-        if not anonymize:
-            return user['mail']
-
-        _, email_domain = user['mail'].split('@')
-        if email_domain in settings.STAFF_EMAIL_DOMAINS:
-            return user['mail']
+        email = user['mail']
+        if not anonymize or self.is_staff(email):
+            return email
 
         return "aeon+%s@torchbox.com" % user['uid']
+
+    def is_staff(self, email):
+        _, email_domain = email.split('@')
+        return email_domain in settings.STAFF_EMAIL_DOMAINS
-- 
GitLab