From 5395a5648085bcd9a215f1adcfbb3e5dee833a57 Mon Sep 17 00:00:00 2001 From: Dmitriy Shesterkin Date: Mon, 26 Jun 2017 09:48:47 +0300 Subject: [PATCH] add delete users tasks --- src/customer/tasks.py | 25 +++++++++++++++++++------ src/tests/__init__.py | 1 + 2 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 src/tests/__init__.py diff --git a/src/customer/tasks.py b/src/customer/tasks.py index 65e0330..cf885f1 100644 --- a/src/customer/tasks.py +++ b/src/customer/tasks.py @@ -1,12 +1,15 @@ # -*- coding: utf-8 -*- from __future__ import absolute_import -from datetime import datetime, timedelta import traceback -from django.core.mail import mail_admins +from datetime import datetime, timedelta + from celery import shared_task +from django.utils import timezone +from django.core.mail import mail_admins + from myauth.models import DokUser, ConfirmEmail @@ -38,7 +41,17 @@ 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) +@shared_task +def delete_not_activated_users(): + now = timezone.now() + users = DokUser.objects.filter(profile__active=False, profile__confirmed=False).\ + filter(profile__created_at__lte=now - timedelta(5)) + if users: + for user in users: + profile = user.profile + confirm = ConfirmEmail.objects.filter(user=user, is_confirmed=False) + if profile: + profile.delete() + if confirm: + confirm.delete() + user.delete() diff --git a/src/tests/__init__.py b/src/tests/__init__.py new file mode 100644 index 0000000..40a96af --- /dev/null +++ b/src/tests/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*-