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)
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):