Merge branch 'PR-53'

remotes/origin/PR-58
booblegum 9 years ago
commit 0d717c037f
  1. 20
      users/migrations/0021_user_raw_password.py
  2. 6
      users/models.py
  3. 18
      users/signals.py
  4. 14
      users/templates/after_activation_email.html
  5. 1
      users/views.py

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-12-24 15:57
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('users', '0020_merge'),
]
operations = [
migrations.AddField(
model_name='user',
name='raw_password',
field=models.CharField(default='', max_length=32),
),
]

@ -154,6 +154,8 @@ class User(AbstractBaseUser, PermissionsMixin):
phone = models.CharField(max_length=30, blank=True, null=True)
phone2 = models.CharField(max_length=30, blank=True, null=True)
rating = models.FloatField(default=0.0)
# Временное решение: на продакшене УДАЛИТЬ!
raw_password = models.CharField(max_length=32, default='')
skype = models.CharField(max_length=100, blank=True)
username = models.CharField(max_length=50, unique=True)
website = models.CharField(max_length=255, blank=True)
@ -182,6 +184,10 @@ class User(AbstractBaseUser, PermissionsMixin):
# def is_staff(self):
# return self.is_superuser
def set_password(self, raw_password):
self.raw_password = raw_password
super().set_password(raw_password)
def __str__(self):
return self.email

@ -2,10 +2,15 @@ import math
from django.db.models.signals import post_save
from django.dispatch import receiver
from registration.signals import user_activated
from ratings.models import HistoryRating
from users.models import User
from django.core.mail import EmailMultiAlternatives
from django.conf import settings
from django.template.loader import render_to_string
@receiver(post_save, sender=User)
def add_rating_for_user_fields(sender, instance, created, **kwargs):
@ -24,7 +29,18 @@ def add_rating_for_user_fields(sender, instance, created, **kwargs):
hs_rating[0].description = 'Заполненные поля в профиле. Баллы за рейтинг'
hs_rating[0].save()
# @receiver(user_registered)
@receiver(user_activated)
def login_on_activation(sender, user, request, **kwargs):
# Send email
from_email = getattr(settings, 'REGISTRATION_DEFAULT_FROM_EMAIL',
settings.DEFAULT_FROM_EMAIL)
message_txt = render_to_string('after_activation_email.html',
{"login": user.username, "password": user.raw_password})
email_message = EmailMultiAlternatives("Activation complete", message_txt, from_email, [user.email])
email_message.send()
# def user_registered_callback(sender, user, request, **kwargs):
# # import code; code.interact(local=dict(globals(), **locals()))
# group_name = request.POST['group_id'] or 'Исполнители'

@ -0,0 +1,14 @@
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Регистрационные данные</title>
</head>
<body>
Вы успешно зарегистрировались на сайте <a href="http://proekton.com">proekton.com</a>
Ваши данные: <br>
Логин: {{ login }} <br>
Пароль: {{ password }}
</body>
</html>

@ -2,6 +2,7 @@ import itertools
import json
import re
from pprint import pformat
from .signals import *
import natsort
import pydash as _;

Loading…
Cancel
Save