From: Guillaume Pellerin Date: Thu, 4 Jul 2013 23:45:25 +0000 (+0200) Subject: fix user pb import X-Git-Tag: 1.1~598 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=b290c6e438b223931579953b1aa86b5a7480652c;p=teleforma.git fix user pb import --- diff --git a/teleforma/management/commands/teleforma-import-users-pb.py b/teleforma/management/commands/teleforma-import-users-pb.py index 1749c7bd..8ed741cf 100644 --- a/teleforma/management/commands/teleforma-import-users-pb.py +++ b/teleforma/management/commands/teleforma-import-users-pb.py @@ -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) diff --git a/teleforma/views/crfpa.py b/teleforma/views/crfpa.py index 6545d29f..24fa5753 100644 --- a/teleforma/views/crfpa.py +++ b/teleforma/views/crfpa.py @@ -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):