]> git.parisson.com Git - teleforma.git/commitdiff
fix user pb import
authorGuillaume Pellerin <yomguy@parisson.com>
Thu, 4 Jul 2013 23:45:25 +0000 (01:45 +0200)
committerGuillaume Pellerin <yomguy@parisson.com>
Thu, 4 Jul 2013 23:45:25 +0000 (01:45 +0200)
teleforma/management/commands/teleforma-import-users-pb.py
teleforma/views/crfpa.py

index 1749c7bd3a2f0027d43e1dc92e8831a36142f1e9..8ed741cf31e973f5203476573783b837fafd711f 100644 (file)
@@ -53,42 +53,39 @@ class Command(BaseCommand):
         first_name  = row[1].value
         email       = row[9].value
 
-        if self.DEBUG:
-            email       = self.admin_email
-
         username = slugify(first_name)[0] + '.' + slugify(last_name)
         username = username[:30]
 
+        # username unicity
         users = User.objects.filter(username=username)
-
-        # if users and self.DEBUG:
-        #     for user in users:
-        #         user.delete()
-
-        i = 1
-        while users:
-            username = slugify(first_name)[:i] + '.' + slugify(last_name)
-            username = username[:30]
-            users = User.objects.filter(username=username)
-            if not users:
-                break
-            i += 1
-
-        date = row[14].value
-        date_joined = datetime.datetime(*xlrd.xldate_as_tuple(date, self.book.datemode))
+        if users:
+            if users[0].email != email:
+                i = 1
+                while users:
+                    username = slugify(first_name)[:i] + '.' + slugify(last_name)
+                    username = username[:30]
+                    users = User.objects.filter(username=username)
+                    if not users:
+                        break
+                    i += 1
 
         user, created = User.objects.get_or_create(username=username, first_name=first_name,
-                                     last_name=last_name, email=email, date_joined = date_joined)
+                                     last_name=last_name, email=email)
         if created:
+            date = row[14].value
+            date_joined = datetime.datetime(*xlrd.xldate_as_tuple(date, self.book.datemode))
+            user.date_joined = date_joined
+            user.save()
             student = Student(user=user)
+            student.save()
             print 'import: ' + first_name + ' ' + last_name + ' ' + username
 
         else:
-            student = Student.objects.filter(user=user)
+            student = Student.objects.filter(user=user)[0]
             print 'update: ' + first_name + ' ' + last_name + ' ' + username
 
         student.platform_only, training = self.get_training(row[3].value)
-        student.training.add(training)
+        student.trainings.add(training)
         student.iej = self.get_iej(row[2].value)
         student.procedure = self.get_courses(row[4].value)
         student.written_speciality = self.get_courses(row[5].value)
index 6545d29f5508d2d3c6f5f8a8b415b900017f6d58..24fa57539aff4569603dcf9906f7ea545693b386 100644 (file)
@@ -140,7 +140,7 @@ class UserLoginView(View):
         backend = get_backends()[0]
         user.backend = "%s.%s" % (backend.__module__, backend.__class__.__name__)
         login(self.request, user)
-        return redirect('teleforma-desk')
+        return redirect('teleforma-home')
 
     @method_decorator(permission_required('is_staff'))
     def dispatch(self, *args, **kwargs):