preliminary work for sending surveylinks out

This commit is contained in:
Benni Baermann 2020-10-22 13:08:58 +02:00
parent 73b41066e9
commit af68b71018
3 changed files with 64 additions and 7 deletions

View file

@ -4,7 +4,7 @@ from django.core.management.base import BaseCommand, CommandError
from django.template.loader import get_template
from django.core.mail import send_mail, BadHeaderError
from input.models import Project
from input.models import Project, Library
from input.settings import URLPREFIX, IF_EMAIL
class Command(BaseCommand):
@ -18,19 +18,23 @@ class Command(BaseCommand):
- travel: mail 3 weeks after end of project.
- assumed end of project (/project) reached: mail to IF, link to project-editpage
- 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
after some amount of time.'''
def handle(self, *args, **options):
def survey_link(self, email, type, pid, name, realname):
print(f'send surveylinkemail to {email}...')
# get all projects which ended 3 weeks ago
old = Project.objects.filter(end__lt = date.today() - timedelta(days=21))\
def end_of_projects_reached(self):
''' end of project reached '''
# get all projects which ended
# - timedelta(days=21))
old = Project.objects.filter(end__lt = date.today())\
.exclude(end_mail_send = True)
print(old)
mail_template = get_template('input/if_end_of_project.txt')
for project in old:
context = {'project': project}
@ -47,4 +51,20 @@ class Command(BaseCommand):
except BadHeaderError:
return HttpResponse('Invalid header found.')
self.stdout.write(self.style.SUCCESS('end_of_projects_reached() executed.'))
def handle(self, *args, **options):
self.end_of_projects_reached()
supported = Library.objects.filter(granted=True)
print(supported)
for item in supported:
self.survey_link(email=item.email,
type=item.type,
pid=9999, ## TODO
name=item.library,
realname=item.realname)
self.stdout.write(self.style.SUCCESS('sendmails custom command executed'))

View file

@ -3,6 +3,7 @@ IF_EMAIL = 'if-test@wikimedia.de'
# prefix for urls
URLPREFIX = 'http://127.0.0.1:8000'
SURVEYPREFIX = 'https://wikimedia.sslsurvey.de/Foerderbarometer/?I=1&'
# some links
DATAPROTECTION = "https://www.wikimedia.de/datenschutz/"

View file

@ -1,4 +1,40 @@
Hallo,
Hallo {{data.realname}},
Vor einiger Zeit durfte Wikimedia Deutschland Deine Aktivität für Freies Wissen
unterstützen.
{% if data.type == 'PRO' %}
Deine Aktivitäten werden von uns unter dem Projekttitel {{data.name}} geführt.
{% elif data.type == 'HON' %}
Du hast von uns eine Bescheinigung ({{data.name}}) erhalten.
{% elif data.type == 'BIB' %}
Du hast von uns ein Bibliotheksstipendium für {{data.name}} erhalten.
{% elif data.type == 'ELIT' %}
Du hast von uns ein eLiteraturstipendium für {{data.name}} erhalten.
{% elif data.type == 'IFG'}
Wir haben Dich bei einer IFG-Anfrage unterstützt: {{data.name}}
{% elif data.type == 'LIT' %}
Du hast von uns ein Literaturstipendium für {{data.name}} erhalten.
{% elif data.type == 'TRAV' %}
Wir haben Dich mit Reisekostenübernahme für {{data.name}} unterstützt.
{% elif data.type == 'SOFT' %}
Du hast von uns ein Softwarestipendium für {{data.name}} erhalten.
{% elif data.type == 'MAIL' %}
Du hast von uns eine E-Mail-Adresse erhalten.
{% elif data.type == 'LIST' %}
Wir haben Dir eine Mailingliste bereit gestellt.
{% elif data.type == 'VIS' %}
Du hast von uns Visitenkarten erhalten.
{% endif %}
Zu dieser Unterstützung kannst du uns ein Feedback über einen kurzen Fragebogen
geben. Deine Teilnahme ist freiwillig und hilft uns dabei, die verschiedenen
Förderprogramme im Sinne der Communitys weiter zu verbessern. Wir freuen uns,
wenn du dir kurz die Zeit dafür nehmen würdest. Die Umfrage mit weiteren
Informationen findest du unter dem folgenden Link:
{{SURVEYPREFIX}}{{data.pid}}=1
Da dies eine automatisch erzeugte Nachricht ist, wende dich bei Rückfragen zur Umfrage bitte an community@wikimedia.de
{% comment %}