Advertisement
Guest User

Untitled

a guest
Mar 13th, 2017
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.71 KB | None | 0 0
  1. def signup(request):
  2.  
  3. massege = ''
  4. if request.user.is_authenticated():
  5. user = User.objects.get(id=request.user.id)
  6. user.password_reset_token = None
  7. user.register_token = None
  8. user.save()
  9. return redirect('profile')
  10. else:
  11. if request.method == 'POST':
  12. form = RegisterForm(request.POST)
  13. if form.is_valid():
  14. email = form.cleaned_data['email']
  15. password = form.cleaned_data['password1']
  16. register_token = uuid.uuid4().hex
  17. new_user = User.objects.create_user(
  18. username=email,
  19. email=email,
  20. password=password,
  21. #is_active=False,
  22. register_token=register_token
  23. )
  24. new_user.is_active = False
  25. new_user.save()
  26.  
  27. # подтягиваем данные шабллона
  28. obj = ''
  29. try:
  30. obj = LetterTemplate.objects.get(type='signup')
  31. except LetterTemplate.DoesNotExist:
  32. pass
  33.  
  34. # формируем письмо пользователю
  35. finish_link='https://mnetatu.ru{}'.format(reverse('finish_registration', kwargs=dict(token=register_token)))
  36. #send_signup(new_user, finish_link)
  37.  
  38. if obj.name:
  39. subject = obj.name
  40. else:
  41. subject = 'Регистрация нового пользователя'
  42.  
  43. context = dict(
  44. user = new_user,
  45. #config = config,
  46. finish_link = finish_link,
  47. obj = obj
  48. )
  49. message = get_template('mail/signup_to_user.html').render(context)
  50. recipients = [new_user.email]
  51. from_email = settings.DEFAULT_FROM_EMAIL
  52.  
  53. email_message = EmailMessage(subject, message, from_email, recipients)
  54. email_message.content_subtype = 'html'
  55. email_message.send()
  56.  
  57. finish_link='https://mnetatu.ru{}'.format(reverse('finish_registration', kwargs=dict(token=register_token)))
  58. #send_signup(new_user, finish_link)
  59.  
  60. if obj.name:
  61. subject = obj.name
  62. else:
  63. subject = 'Регистрация нового пользователя'
  64.  
  65. context = dict(
  66. user = new_user,
  67. #config = config,
  68. finish_link = finish_link,
  69. obj = obj
  70. )
  71. message = get_template('mail/signup_to_user.html').render(context)
  72. recipients = [new_user.email]
  73. from_email = settings.DEFAULT_FROM_EMAIL
  74.  
  75. email_message = EmailMessage(subject, message, from_email, recipients)
  76. email_message.content_subtype = 'html'
  77. email_message.send()
  78.  
  79. #формируем письмо админу
  80. subject_admin = 'Регистрация нового пользователя'
  81.  
  82. context = dict(
  83. user = new_user,
  84. obj = obj
  85. )
  86. message_admin = get_template('mail/signup_to_admin.html').render(context)
  87. recipients_admin = [settings.DEFAULT_FROM_EMAIL, 'mail@mnetatu.ru']
  88. from_email_admin = settings.DEFAULT_FROM_EMAIL
  89.  
  90. email_message = EmailMessage(subject_admin, message_admin, from_email_admin, recipients_admin)
  91. email_message.content_subtype = 'html'
  92. email_message.send()
  93.  
  94. return redirect('registration_accepted')
  95.  
  96. else:
  97. form = RegisterForm
  98.  
  99. context = dict(
  100. form = form,
  101. massege = massege
  102. )
  103. return render(request, 'auth/signup.html', context)
  104.  
  105.  
  106. def registration_accepted(request):
  107. return render(request, 'auth/accepted.html')
  108.  
  109.  
  110. def registration_success(request):
  111. return render(request, 'auth/registration_success.html')
  112.  
  113.  
  114. def finish_registration(request, token=''):
  115.  
  116. try:
  117. user = User.objects.get(register_token=token)
  118. user.is_active = True
  119. user.register_token = None
  120. user.password_reset_token = None
  121. user.save()
  122. #send_regitration_to_admin(user)
  123. return redirect('registration_success')
  124. except User.DoesNotExist:
  125. return render(request, 'auth/registration_wrong_token.html')
  126.  
  127. return render(request, 'auth/finish_registration.html')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement