Aucune description

user.py 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. from django.contrib.auth.models import User
  2. from django.core.urlresolvers import reverse
  3. from django.shortcuts import render
  4. from django.utils.translation import ugettext as _
  5. from counter.models import Counter
  6. def create(request):
  7. if (request.method == 'POST'):
  8. # create a form instance and populate it with data from the request:
  9. data = dict(request.POST)
  10. email = data['email'][0]
  11. username = email.split('@')[0]
  12. trigramme = data['trigramme'][0]
  13. nick = data['nick'][0]
  14. password1 = data['password1'][0]
  15. password2 = data['password2'][0]
  16. email_notifications = 'email_notifications' in data.keys()
  17. if password1 != password2:
  18. error = _("Passwords do not match.")
  19. return render(request, 'createUser.html', {'error': error})
  20. try:
  21. test_user = User.objects.get(email=email)
  22. error = _("A user with this email address already exists.")
  23. return render(request, 'createUser.html', {'error': error})
  24. except User.DoesNotExist:
  25. try:
  26. user = User.objects.create_user(username, email, password1)
  27. except IntegrityError:
  28. error = _("Use another email address, another user has already this login.")
  29. return render(request, 'createUser.html', {'error': error})
  30. counter = Counter.objects.create(name=nick, email=email, trigramme=trigramme, user=user, email_notifications=email_notifications)
  31. return render(request, 'createUserDone.html', {'login': username})
  32. else:
  33. return render(request, 'createUser.html', {'error': None})