|
|
|
|
@ -1,5 +1,7 @@ |
|
|
|
|
# -*- coding: utf-8 -*- |
|
|
|
|
import hashlib |
|
|
|
|
from datetime import datetime |
|
|
|
|
from dateutil.relativedelta import relativedelta |
|
|
|
|
from random import random |
|
|
|
|
|
|
|
|
|
from django.shortcuts import render, redirect, get_object_or_404 |
|
|
|
|
@ -12,7 +14,7 @@ from django.contrib.auth.decorators import login_required |
|
|
|
|
from django.contrib import messages |
|
|
|
|
from django.conf import settings |
|
|
|
|
|
|
|
|
|
from project.customer.models import UserProfile, UserProfileFilters |
|
|
|
|
from project.customer.models import UserProfile, UserProfileFilters, License |
|
|
|
|
|
|
|
|
|
from . import forms, models, emails |
|
|
|
|
|
|
|
|
|
@ -36,7 +38,7 @@ def _create_user(request, **kwargs): |
|
|
|
|
models.ConfirmEmail.objects.unconfirm(user) |
|
|
|
|
# аутентифицировать и залогинить |
|
|
|
|
new_user = auth.authenticate(username=username, password=password) |
|
|
|
|
auth.login(request, new_user) |
|
|
|
|
#auth.login(request, new_user) |
|
|
|
|
return new_user |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -59,7 +61,8 @@ def register(request): |
|
|
|
|
form_class = forms.RegistrationForm |
|
|
|
|
form_prefix = 'register' |
|
|
|
|
template_name = 'myauth/register.html' |
|
|
|
|
success_url = 'customer_profile_edit' |
|
|
|
|
success_url = 'myauth_login' |
|
|
|
|
success_msg = u'Дождитесь письма на указанный Вами адрес и перейдите по ссылке в письме.' |
|
|
|
|
registration_closed_url = 'myauth_registration_closed' |
|
|
|
|
|
|
|
|
|
if not REGISTRATION_OPEN: |
|
|
|
|
@ -71,6 +74,7 @@ def register(request): |
|
|
|
|
new_user = _create_user(request, **form.cleaned_data) |
|
|
|
|
confirm_url = reverse('myauth_confirm_email', args=[new_user.username,]) |
|
|
|
|
emails.send_registration_email(new_user.email, confirm_url) |
|
|
|
|
messages.add_message(request, messages.INFO, success_msg) |
|
|
|
|
return redirect(success_url) |
|
|
|
|
else: |
|
|
|
|
form = form_class(prefix=form_prefix) |
|
|
|
|
@ -81,12 +85,22 @@ def register(request): |
|
|
|
|
@sensitive_variables() |
|
|
|
|
def confirm_registered_email(request, key): |
|
|
|
|
"""Подтверждение зарегистрированного email.""" |
|
|
|
|
success_url = 'customer_profile_view' |
|
|
|
|
success_url = 'customer_profile_edit' |
|
|
|
|
success_msg = u'E-mail подтверждён.' |
|
|
|
|
|
|
|
|
|
user = get_object_or_404(User, username__iexact = key) # ключ = имя пользователя |
|
|
|
|
models.ConfirmEmail.objects.confirm(user) |
|
|
|
|
messages.add_message(request, messages.INFO, success_msg) |
|
|
|
|
licenses = License.objects.filter(user=user) |
|
|
|
|
if not licenses: |
|
|
|
|
license = License(user=user, date_from=datetime.today(), |
|
|
|
|
date_to=datetime.today() + relativedelta(days=44), |
|
|
|
|
pay_sum=0, |
|
|
|
|
term=0, |
|
|
|
|
status=-1, payform=-1) |
|
|
|
|
license.save() |
|
|
|
|
user.profile.active = True |
|
|
|
|
user.profile.save() |
|
|
|
|
|
|
|
|
|
return redirect(success_url) |
|
|
|
|
|
|
|
|
|
@ -199,6 +213,9 @@ def login(request): |
|
|
|
|
form = form_class(data=request.POST, prefix=form_prefix) |
|
|
|
|
if form.is_valid(): |
|
|
|
|
auth.login(request, form.get_user()) |
|
|
|
|
print request.user.profile.check_name_not_filled() |
|
|
|
|
if request.user.profile.check_name_not_filled(): |
|
|
|
|
success_url = 'customer_profile_edit' |
|
|
|
|
return redirect(success_url) |
|
|
|
|
else: |
|
|
|
|
form = form_class(prefix=form_prefix) |
|
|
|
|
|