|
|
|
|
@ -1,3 +1,5 @@ |
|
|
|
|
from datetime import datetime |
|
|
|
|
|
|
|
|
|
from django.core.management.base import BaseCommand |
|
|
|
|
from email.mime.image import MIMEImage |
|
|
|
|
from django.contrib.staticfiles.storage import staticfiles_storage |
|
|
|
|
@ -22,6 +24,11 @@ class Command(BaseCommand): |
|
|
|
|
dest='email', |
|
|
|
|
help='Test email', |
|
|
|
|
) |
|
|
|
|
parser.add_argument( |
|
|
|
|
'--date', |
|
|
|
|
dest='date', |
|
|
|
|
help='Date in format 22-03-2018', |
|
|
|
|
) |
|
|
|
|
parser.add_argument( |
|
|
|
|
'--dry-run', |
|
|
|
|
action='store_true', |
|
|
|
|
@ -44,11 +51,13 @@ class Command(BaseCommand): |
|
|
|
|
file.close() |
|
|
|
|
return |
|
|
|
|
|
|
|
|
|
date = datetime.strptime(options['date'], '%d-%m-%Y') if options.get('date') else now().date() |
|
|
|
|
today = now().date() |
|
|
|
|
users = SchoolPayment.objects.filter(date_end=today, add_days=False).values_list('user_id', flat=True) |
|
|
|
|
users = set(list(SchoolPayment.objects.filter(date_end=date, add_days=False).values_list('user_id', flat=True))) |
|
|
|
|
user_notifications_qs = UserNotification.objects.filter(user_id__in=users) |
|
|
|
|
user_notifications = {un.user.id: un for un in user_notifications_qs} |
|
|
|
|
notified_users = user_notifications_qs.filter(certificate_last_email__date=today).values_list('user_id', flat=True) |
|
|
|
|
user_notifications = {un.user_id: un for un in user_notifications_qs} |
|
|
|
|
notified_users = user_notifications_qs.filter(certificate_last_email__date=today).values_list( |
|
|
|
|
'user_id', flat=True).distinct() |
|
|
|
|
for user_id in users: |
|
|
|
|
if user_id in notified_users: |
|
|
|
|
continue |
|
|
|
|
|