From 689da900830fe836c33d6bca65e14bbc5a2683df Mon Sep 17 00:00:00 2001 From: corsaronero Date: Fri, 13 Jan 2023 18:18:29 +0000 Subject: [PATCH] last version, talked to admin today --- input/management/commands/sendmails.py | 14 +++-- input/migrations/0096_auto_20230106_1338.py | 68 +++++++++++++++++++++ input/models.py | 5 +- 3 files changed, 79 insertions(+), 8 deletions(-) create mode 100644 input/migrations/0096_auto_20230106_1338.py diff --git a/input/management/commands/sendmails.py b/input/management/commands/sendmails.py index 4e1ad64..f22fa8f 100755 --- a/input/management/commands/sendmails.py +++ b/input/management/commands/sendmails.py @@ -68,12 +68,13 @@ class Command(BaseCommand): # get all projects which ended old = Project.objects.filter(end__lt = date.today())\ - .exclude(end_mail_send = False)\ + .exclude(end_mail_send = True)\ .filter(mail_state = 'NONE') txt_mail_template = get_template('input/if_end_of_project.txt') html_mail_template = get_template('input/if_end_of_project.html') + for project in old: context = {'project': project} context['URLPREFIX'] = settings.URLPREFIX @@ -92,7 +93,7 @@ class Command(BaseCommand): # IF_EMAIL, # [IF_EMAIL], # fail_silently=False) - project.end_mail_send = False + project.end_mail_send = True project.mail_state = 'INF' try: project.save() @@ -149,8 +150,8 @@ class Command(BaseCommand): # IF_EMAIL, # [IF_EMAIL], # fail_silently=False) - - project.mail_state = 'END' + project.end_mail_send = True + project.mail_state = 'CLOSE' try: project.save() except: @@ -207,8 +208,8 @@ class Command(BaseCommand): # IF_EMAIL, # [IF_EMAIL], # fail_silently=False) - - project.mail_state = 'END' + project.end_mail_send = True + project.mail_state = 'CLOSE' project.save() except BadHeaderError: self.stdout.write(self.style.ERROR('Invalid header found.')) @@ -231,6 +232,7 @@ class Command(BaseCommand): name=myname, realname=item.realname) item.survey_mail_send = True + item.mail_state = 'END' item.survey_mail_date = date.today() item.save() self.stdout.write(self.style.SUCCESS(f'surveymails for object type {type} sent')) diff --git a/input/migrations/0096_auto_20230106_1338.py b/input/migrations/0096_auto_20230106_1338.py new file mode 100644 index 0000000..ecca5e3 --- /dev/null +++ b/input/migrations/0096_auto_20230106_1338.py @@ -0,0 +1,68 @@ +# Generated by Django 3.1.2 on 2023-01-06 13:38 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('input', '0095_auto_20221214_1207'), + ] + + operations = [ + migrations.AlterField( + model_name='businesscard', + name='mail_state', + field=models.CharField(choices=[('NONE', 'noch keine Mail versendet'), ('INF', 'die Benachrichtigung zur Projektabschlussmail wurde versendet'), ('CLOSE', 'die Projektabschlussmail wurde versendet'), ('END', 'alle automatischen Mails, auch surveyMail, wurden versendet')], default='NONE', max_length=6), + ), + migrations.AlterField( + model_name='concreteextern', + name='mail_state', + field=models.CharField(choices=[('NONE', 'noch keine Mail versendet'), ('INF', 'die Benachrichtigung zur Projektabschlussmail wurde versendet'), ('CLOSE', 'die Projektabschlussmail wurde versendet'), ('END', 'alle automatischen Mails, auch surveyMail, wurden versendet')], default='NONE', max_length=6), + ), + migrations.AlterField( + model_name='concretevolunteer', + name='mail_state', + field=models.CharField(choices=[('NONE', 'noch keine Mail versendet'), ('INF', 'die Benachrichtigung zur Projektabschlussmail wurde versendet'), ('CLOSE', 'die Projektabschlussmail wurde versendet'), ('END', 'alle automatischen Mails, auch surveyMail, wurden versendet')], default='NONE', max_length=6), + ), + migrations.AlterField( + model_name='email', + name='mail_state', + field=models.CharField(choices=[('NONE', 'noch keine Mail versendet'), ('INF', 'die Benachrichtigung zur Projektabschlussmail wurde versendet'), ('CLOSE', 'die Projektabschlussmail wurde versendet'), ('END', 'alle automatischen Mails, auch surveyMail, wurden versendet')], default='NONE', max_length=6), + ), + migrations.AlterField( + model_name='honorarycertificate', + name='mail_state', + field=models.CharField(choices=[('NONE', 'noch keine Mail versendet'), ('INF', 'die Benachrichtigung zur Projektabschlussmail wurde versendet'), ('CLOSE', 'die Projektabschlussmail wurde versendet'), ('END', 'alle automatischen Mails, auch surveyMail, wurden versendet')], default='NONE', max_length=6), + ), + migrations.AlterField( + model_name='ifg', + name='mail_state', + field=models.CharField(choices=[('NONE', 'noch keine Mail versendet'), ('INF', 'die Benachrichtigung zur Projektabschlussmail wurde versendet'), ('CLOSE', 'die Projektabschlussmail wurde versendet'), ('END', 'alle automatischen Mails, auch surveyMail, wurden versendet')], default='NONE', max_length=6), + ), + migrations.AlterField( + model_name='library', + name='mail_state', + field=models.CharField(choices=[('NONE', 'noch keine Mail versendet'), ('INF', 'die Benachrichtigung zur Projektabschlussmail wurde versendet'), ('CLOSE', 'die Projektabschlussmail wurde versendet'), ('END', 'alle automatischen Mails, auch surveyMail, wurden versendet')], default='NONE', max_length=6), + ), + migrations.AlterField( + model_name='list', + name='mail_state', + field=models.CharField(choices=[('NONE', 'noch keine Mail versendet'), ('INF', 'die Benachrichtigung zur Projektabschlussmail wurde versendet'), ('CLOSE', 'die Projektabschlussmail wurde versendet'), ('END', 'alle automatischen Mails, auch surveyMail, wurden versendet')], default='NONE', max_length=6), + ), + migrations.AlterField( + model_name='literature', + name='mail_state', + field=models.CharField(choices=[('NONE', 'noch keine Mail versendet'), ('INF', 'die Benachrichtigung zur Projektabschlussmail wurde versendet'), ('CLOSE', 'die Projektabschlussmail wurde versendet'), ('END', 'alle automatischen Mails, auch surveyMail, wurden versendet')], default='NONE', max_length=6), + ), + migrations.AlterField( + model_name='project', + name='mail_state', + field=models.CharField(choices=[('NONE', 'noch keine Mail versendet'), ('INF', 'die Benachrichtigung zur Projektabschlussmail wurde versendet'), ('CLOSE', 'die Projektabschlussmail wurde versendet'), ('END', 'alle automatischen Mails, auch surveyMail, wurden versendet')], default='NONE', max_length=6), + ), + migrations.AlterField( + model_name='travel', + name='mail_state', + field=models.CharField(choices=[('NONE', 'noch keine Mail versendet'), ('INF', 'die Benachrichtigung zur Projektabschlussmail wurde versendet'), ('CLOSE', 'die Projektabschlussmail wurde versendet'), ('END', 'alle automatischen Mails, auch surveyMail, wurden versendet')], default='NONE', max_length=6), + ), + ] diff --git a/input/models.py b/input/models.py index 2e70b41..6e0e58a 100755 --- a/input/models.py +++ b/input/models.py @@ -7,8 +7,9 @@ from .settings import ACCOUNTS EMAIL_STATES = {'NONE': 'noch keine Mail versendet', - 'INF': 'die Benachrichtigung End-Mail wurde bereits versendet', - 'END': 'alle automatischen Mails, auch surveyMail, wurden bereits versendet'} + 'INF': 'die Benachrichtigung zur Projektabschlussmail wurde versendet', + 'CLOSE': 'die Projektabschlussmail wurde versendet', + 'END': 'alle automatischen Mails, auch surveyMail, wurden versendet'} class Volunteer(models.Model): realname = models.CharField(max_length=200, null=True, verbose_name="Realname",