Add resend verify email functional

remotes/origin/hasaccess
Ivlev Denis 8 years ago
parent b23420d163
commit dc112f2149
  1. 16
      apps/user/templates/user/notification-settings.html
  2. 30
      apps/user/templates/user/payment-history.html
  3. 20
      apps/user/templates/user/profile-settings.html
  4. 14
      apps/user/views.py
  5. 3
      project/urls.py

@ -8,26 +8,20 @@
</div>
</div>
</div>
{% if not user.is_email_proved %}
<div class="section section_confirm">
<div class="section__center center center_xs">
<div class="confirm">
<div class="confirm__title title">Подтверждение почты</div>
<div class="confirm__content">На электронный адрес
<strong>sasha@lil.city</strong> отправлено письмо с кодом подтверждения. Введите код, чтобы подтвердить почту.</div>
<div class="confirm__form">
<div class="confirm__field field field_code">
<div class="field__wrap">
<input class="field__input" type="text" placeholder="Введите код подтверждения">
</div>
</div>
<button class="confirm__btn btn btn_dark">ПОДТВЕРДИТЬ</button>
</div>
<div class="confirm__content">
Если у вас нет кода или письмо где-то затерялось, вы можете получить новый код подтверждения. Отправить новый код?
<strong>{{ user.email }}</strong> отправлено письмо для подтверждения.</div>
<div class="confirm__content">Если письмо где-то затерялось, вы можете повторить отправку письма для подтверждения. Отправить?</div>
<a href="{% url 'resend-email-verify' %}" class="confirm__btn btn btn_dark">ОТПРАВИТЬ</a>
</div>
</div>
</div>
</div>
{% endif %}
<div class="section section_gray">
<div class="section__center center center_xs">
<div class="form">

@ -1,14 +1,28 @@
{% extends "templates/lilcity/index.html" %} {% load static %} {% block content %}
<div class="section section_gray section_menu">
<div class="section__center center center_xs">
<div class="menu">
<a class="menu__link" href="{% url 'user-edit-profile' user.id %}">Профиль</a>
<a class="menu__link" href="{% url 'user-edit-notifications' user.id %}">Уведомления</a>
<a class="menu__link active" href="{% url 'user-edit-payments' user.id %}">Платежи</a>
<div class="section__center center center_xs">
<div class="menu">
<a class="menu__link" href="{% url 'user-edit-profile' user.id %}">Профиль</a>
<a class="menu__link" href="{% url 'user-edit-notifications' user.id %}">Уведомления</a>
<a class="menu__link active" href="{% url 'user-edit-payments' user.id %}">Платежи</a>
</div>
</div>
</div>
{% if not user.is_email_proved %}
<div class="section section_confirm">
<div class="section__center center center_xs">
<div class="confirm">
<div class="confirm__title title">Подтверждение почты</div>
<div class="confirm__content">На электронный адрес
<strong>{{ user.email }}</strong> отправлено письмо для подтверждения.</div>
<div class="confirm__content">Если письмо где-то затерялось, вы можете повторить отправку письма для подтверждения. Отправить?</div>
<a href="{% url 'resend-email-verify' %}" class="confirm__btn btn btn_dark">ОТПРАВИТЬ</a>
</div>
</div>
</div>
<div class="section">
</div>
{% endif %}
<div class="section">
<div class="section__center center center_xs">
<div class="title title_sm">Вывести деньги со счета</div>
<div class="form">
@ -28,7 +42,7 @@
<div class="field__wrap">
<input class="field__input" type="email" placeholder="0000 0000 0000 0000">
<div class="field__preview">
<img class="field__pic" src="img/paysys.png">
<img class="field__pic" src="{% static 'img/paysys.png' %}">
</div>
</div>
</div>
@ -66,4 +80,4 @@
</div>
</div>
</div>
{% endblock content %}
{% endblock content %}

@ -8,26 +8,20 @@
</div>
</div>
</div>
{% comment %}
<!-- <div class="section section_confirm">
{% if not user.is_email_proved %}
<div class="section section_confirm">
<div class="section__center center center_xs">
<div class="confirm">
<div class="confirm__title title">Подтверждение почты</div>
<div class="confirm__content">На электронный адрес
<strong>sasha@lil.city</strong> отправлено письмо с кодом подтверждения. Введите код, чтобы подтвердить почту.</div>
<div class="confirm__form">
<div class="confirm__field field field_code">
<div class="field__wrap">
<input class="field__input" type="text" placeholder="Введите код подтверждения">
</div>
</div>
<button class="confirm__btn btn btn_dark">ПОДТВЕРДИТЬ</button>
<strong>{{ user.email }}</strong> отправлено письмо для подтверждения.</div>
<div class="confirm__content">Если письмо где-то затерялось, вы можете повторить отправку письма для подтверждения. Отправить?</div>
<a href="{% url 'resend-email-verify' %}" class="confirm__btn btn btn_dark">ОТПРАВИТЬ</a>
</div>
<div class="confirm__content">Если у вас нет кода или письмо где-то затерялось, вы можете получить новый код подтверждения. Отправить новый код?</div>
</div>
</div>
</div> -->
{% endcomment %}
</div>
{% endif %}
{% if messages %}
<div class="section section_gray section_menu">
<div class="section__center center center_xs">

@ -2,22 +2,34 @@ from io import BytesIO
from PIL import Image
from os.path import splitext
from django.contrib.auth import login
from django.shortcuts import render, reverse
from django.shortcuts import render, reverse, redirect
from django.views.generic import DetailView, UpdateView, TemplateView
from django.contrib import messages
from django.contrib.auth import get_user_model
from django.contrib.auth.decorators import login_required, permission_required
from django.contrib.auth.hashers import check_password, make_password
from django.http import Http404
from django.urls import reverse_lazy
from django.utils.decorators import method_decorator
from apps.auth.tokens import verification_email_token
from apps.course.models import Course
from apps.notification.utils import send_email
from .forms import UserEditForm
User = get_user_model()
@login_required
def resend_email_verify(request):
token = verification_email_token.make_token(request.user)
url = request.scheme + '://' + request.get_host() + str(reverse_lazy('lilcity:verification-email', args=[token]))
send_email('Verification Email', request.user.email, "notification/email/verification_email.html", url=url)
messages.info(request, 'Письмо подтверждения отправлено.')
return redirect('user-edit-profile', request.user.id)
class UserView(DetailView):
model = User
template_name = 'user/profile.html'

@ -24,7 +24,7 @@ from apps.course.views import (
lessoncomment, CourseEditView,
)
from apps.course.models import Course
from apps.user.views import UserView, UserEditView, NotificationEditView, PaymentHistoryView
from apps.user.views import UserView, UserEditView, NotificationEditView, PaymentHistoryView, resend_email_verify
urlpatterns = [
path('admin/', admin.site.urls),
@ -43,6 +43,7 @@ urlpatterns = [
path('user/<int:pk>/edit', UserEditView.as_view(), name='user-edit-profile'),
path('user/<int:pk>/notifications', NotificationEditView.as_view(), name='user-edit-notifications'),
path('user/<int:pk>/payments', PaymentHistoryView.as_view(), name='user-edit-payments'),
path('user/resend-email-verify', resend_email_verify, name='resend-email-verify'),
path('privacy', TemplateView.as_view(template_name="templates/lilcity/privacy_policy.html"), name='privacy'),
path('terms', TemplateView.as_view(template_name="templates/lilcity/terms.html"), name='terms'),
path('refund-policy', TemplateView.as_view(template_name="templates/lilcity/refund_policy.html"), name='refund_policy'),

Loading…
Cancel
Save