diff --git a/Makefile b/Makefile index 71a13eb..8949670 100644 --- a/Makefile +++ b/Makefile @@ -68,4 +68,4 @@ clean: clean_temp clean_venv clean_db # target: worker - Run celery worker worker: - cd src && celery -A dokumentor worker -l info -E + cd src && celery -A dokumentor worker -l info -E -B diff --git a/conf/supervisor.conf b/conf/supervisor.conf index 4edc850..1ee2d8c 100644 --- a/conf/supervisor.conf +++ b/conf/supervisor.conf @@ -27,7 +27,7 @@ stderr_events_enabled=true autorestart=true [program:celeryd] -command=celery -A dokumentor worker -l info -E +command=celery -A dokumentor worker -l info -E -B directory=/opt/app/src stdout_logfile=/var/log/celery-worker.log stderr_logfile=/var/log/celery-worker.log diff --git a/src/customer/tasks.py b/src/customer/tasks.py index da88dde..65e0330 100644 --- a/src/customer/tasks.py +++ b/src/customer/tasks.py @@ -7,6 +7,9 @@ import traceback from django.core.mail import mail_admins from celery import shared_task +from myauth.models import DokUser, ConfirmEmail + + from .models import License, UserProfile from .utils import check_one_profile @@ -33,3 +36,9 @@ def check_license(): ) return None + + +def check_not_activated_users(): + profiles = UserProfile.objects.filter(active=False, confirmed=False) + users = DokUser.objects.filter(profile__active=False, profile__confirmed=False) + confirms = ConfirmEmail.objects.filter(is_confirmed=False) diff --git a/src/myauth/admin.py b/src/myauth/admin.py index 66005b3..9ad9a34 100644 --- a/src/myauth/admin.py +++ b/src/myauth/admin.py @@ -3,7 +3,7 @@ from django.contrib import admin from django.contrib.auth.admin import UserAdmin from django.utils.translation import ugettext_lazy as _ -from myauth.models import DokUser +from myauth.models import DokUser, ConfirmEmail from myauth.forms import CustomUserChangeForm, CustomUserCreationForm @@ -33,3 +33,4 @@ class CustomUserAdmin(UserAdmin): ordering = ('email',) admin.site.register(DokUser, CustomUserAdmin) +admin.site.register(ConfirmEmail) diff --git a/src/myauth/managers.py b/src/myauth/managers.py index 2af44e7..5ce5708 100644 --- a/src/myauth/managers.py +++ b/src/myauth/managers.py @@ -9,13 +9,19 @@ from django.contrib.auth.models import BaseUserManager class ConfirmEmailManager(models.Manager): def confirm(self, user): - """Создает или обновляет запись, что email подтвержден.""" - rec, created = self.get_or_create(user=user, defaults={'is_confirmed': True,}) + """ + Создает или обновляет запись, что email подтвержден. + """ + rec, created = self.get_or_create(user=user) + setattr(rec, 'is_confirmed', True) + rec.save() return rec def unconfirm(self, user): """Создает или обновляет запись, что нужно подтвердить email.""" - rec, created = self.get_or_create(user=user, defaults={'is_confirmed': False,}) + rec, created = self.get_or_create(user=user) + setattr(rec, 'is_confirmed', False) + rec.save() return rec