send mails two weeks after HonoraryCertificate is granted
This commit is contained in:
parent
a6474e07e8
commit
aa5de1c08d
2 changed files with 25 additions and 7 deletions
10
README.md
10
README.md
|
@ -2,8 +2,12 @@
|
||||||
|
|
||||||
purpose: gather data from intern(WMDE) and extern(volunteers) forms to create a database ('förderdatenbank') and send emails with links for a questionary.
|
purpose: gather data from intern(WMDE) and extern(volunteers) forms to create a database ('förderdatenbank') and send emails with links for a questionary.
|
||||||
|
|
||||||
|
Should be executed daily:
|
||||||
|
|
||||||
|
python manage.py sendmails
|
||||||
|
|
||||||
versions used in development:
|
versions used in development:
|
||||||
|
|
||||||
python 3.8.2
|
python 3.8.2
|
||||||
django 3.1.1
|
django 3.1.1
|
||||||
django-formtools 2.2
|
django-formtools 2.2
|
||||||
|
|
|
@ -4,7 +4,7 @@ from django.core.management.base import BaseCommand, CommandError
|
||||||
from django.template.loader import get_template
|
from django.template.loader import get_template
|
||||||
from django.core.mail import send_mail, BadHeaderError
|
from django.core.mail import send_mail, BadHeaderError
|
||||||
|
|
||||||
from input.models import Project, Library
|
from input.models import Project, Library, HonoraryCertificate
|
||||||
from input.settings import URLPREFIX, IF_EMAIL, SURVEYPREFIX
|
from input.settings import URLPREFIX, IF_EMAIL, SURVEYPREFIX
|
||||||
|
|
||||||
class Command(BaseCommand):
|
class Command(BaseCommand):
|
||||||
|
@ -13,13 +13,13 @@ class Command(BaseCommand):
|
||||||
- two weeks after confirmation of support for volunteer (/extern) send link
|
- two weeks after confirmation of support for volunteer (/extern) send link
|
||||||
with surveylink
|
with surveylink
|
||||||
|
|
||||||
- same for HonoraryCertificate and accreditation (/intern)
|
- TODO: same for HonoraryCertificate (/intern)
|
||||||
|
|
||||||
- travel: mail 3 weeks after end of project.
|
- TODO: travel: mail 3 weeks after end of project.
|
||||||
|
|
||||||
- assumed end of project (/project) reached: mail to IF, link to project-editpage
|
- assumed end of project (/project) reached: mail to IF, link to project-editpage
|
||||||
|
|
||||||
- 4 weeks after end of project reached: mail with surveylink
|
- TODO: 4 weeks after end of project reached: mail with surveylink
|
||||||
'''
|
'''
|
||||||
|
|
||||||
help = '''This command sends mail with some links to the database or to the survey
|
help = '''This command sends mail with some links to the database or to the survey
|
||||||
|
@ -86,4 +86,18 @@ class Command(BaseCommand):
|
||||||
item.survey_mail_send = True
|
item.survey_mail_send = True
|
||||||
item.save()
|
item.save()
|
||||||
|
|
||||||
|
# get all HonoraryCertificate objects which where granted two weeks ago
|
||||||
|
supported = HonoraryCertificate.objects.filter(granted=True)\
|
||||||
|
.filter(granted_date__lt = date.today() - timedelta(days=14))\
|
||||||
|
.exclude(survey_mail_send=True)
|
||||||
|
print(supported)
|
||||||
|
for item in supported:
|
||||||
|
self.survey_link(email=item.email,
|
||||||
|
type='HON',
|
||||||
|
pid=9999, ## TODO
|
||||||
|
name=item.request_url,
|
||||||
|
realname=item.realname)
|
||||||
|
item.survey_mail_send = True
|
||||||
|
item.save()
|
||||||
|
|
||||||
self.stdout.write(self.style.SUCCESS('sendmails custom command executed'))
|
self.stdout.write(self.style.SUCCESS('sendmails custom command executed'))
|
||||||
|
|
Loading…
Reference in a new issue