From b8416e7f8b6ddc77ee571eab7c8b21d3a20c58db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20G=C3=B6tz?= Date: Thu, 16 May 2019 14:39:02 +0200 Subject: [PATCH] Implement changable deletion wait time --- example.env | 32 +++++++++++++++++++ .../management/commands/deletable.py | 2 +- src/account_helper/models.py | 3 +- src/account_manager/utils/mail_utils.py | 2 ++ .../deletion_information_email.jinja2 | 4 +-- 5 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 example.env diff --git a/example.env b/example.env new file mode 100644 index 0000000..1f640cd --- /dev/null +++ b/example.env @@ -0,0 +1,32 @@ +DJANGO_SETTINGS_MODULE=core.docker_settings +DOMAIN=localhost + +SITE_NAME=LAMa + +SECRET_KEY=supersecret +ALLOWED_HOSTS=localhost + +DATABASE_HOST=dblama +DATABASE_PORT=5432 + +POSTGRES_USER=lama +POSTGRES_PASSWORD=secret + +DEBUG=True + +LDAP_SERVER_URI=ldap://ldap:389 +LDAP_ADMIN_USER_NAME=cn=admin,dc=test,dc=de +LDAP_ADMIN_USER_PASSWORD=secret + +LDAP_USER_ENTRY=dc=test,dc=de +LDAP_USER_SELECTOR=(uid=%(user)s) + +LDAP_GROUP_ENTRY=dc=test,dc=de +LDAP_GROUP_SELECTOR=(objectClass=groupOfNames) +LDAP_GROUP_NAME_ATTR=cn + +EMAIL_BACKEND=file +DEFAULT_FROM_EMAIL= +SERVER_EMAIL= + +DELETION_WAIT_DAYS=14 diff --git a/src/account_helper/management/commands/deletable.py b/src/account_helper/management/commands/deletable.py index da34868..e0788a6 100644 --- a/src/account_helper/management/commands/deletable.py +++ b/src/account_helper/management/commands/deletable.py @@ -24,7 +24,7 @@ class Command(BaseCommand): ) def handle(self, *args, **options): - deletables = DeletedUser.objects.filter(deletion_date__lte=timezone.now() + timezone.timedelta(+15)) + deletables = DeletedUser.objects.filter(deletion_date__lte=timezone.now()) output = "" if options['json']: json_output = {'deletables': []} diff --git a/src/account_helper/models.py b/src/account_helper/models.py index f363f52..29a87c3 100644 --- a/src/account_helper/models.py +++ b/src/account_helper/models.py @@ -1,6 +1,7 @@ from django.contrib.auth.models import Group, User from django.db import models from django.utils import timezone +from django.conf import settings # Create your models here. @@ -16,7 +17,7 @@ class Realm(models.Model): def get_deletion_time(): - return timezone.now() + timezone.timedelta(+14) + return timezone.now() + timezone.timedelta(settings.DELETION_WAIT_DAYS) class DeletedUser(models.Model): diff --git a/src/account_manager/utils/mail_utils.py b/src/account_manager/utils/mail_utils.py index 6ef2372..a6eef7d 100644 --- a/src/account_manager/utils/mail_utils.py +++ b/src/account_manager/utils/mail_utils.py @@ -8,6 +8,7 @@ from django.contrib.auth.tokens import default_token_generator from django.template.loader import render_to_string from django.utils.encoding import force_bytes from django.utils.http import urlsafe_base64_encode +from django.conf import settings from core.settings import EMAIL_HOST, EMAIL_PORT, EMAIL_USE_SSL, EMAIL_USE_TLS @@ -50,6 +51,7 @@ def send_deletion_mail(realm, user): mail_subject = 'Aktiviere deinen StuVe Account' message = render_to_string('registration/deletion_information_email.jinja2', { 'user': user, + 'deletion_wait_days': settings.DELETION_WAIT_DAYS, }) # TODO failure handling p1 = Process(target=realm_send_mail, args=(realm, user.email, mail_subject, message)) diff --git a/src/templates/registration/deletion_information_email.jinja2 b/src/templates/registration/deletion_information_email.jinja2 index 1009efb..e726c02 100644 --- a/src/templates/registration/deletion_information_email.jinja2 +++ b/src/templates/registration/deletion_information_email.jinja2 @@ -1,7 +1,7 @@

StuVe Accountlöschung

Dein Account mit dem Nutzernamen {{ user.username }} wurde als gelöscht markiert. Deine Nutzerdaten - werden in zwei Wochen gelöscht. Falls du noch wichtige Daten in den StuVe Services gespeichert hast, bitte kopiere - diese noch vor der Löschung. Danach werden diese nicht mehr zugänglich sein.

+ werden in {{ deletion_wait_days }} Tagen gelöscht. Falls du noch wichtige Daten in den StuVe Services gespeichert + hast, bitte kopiere diese noch vor der Löschung. Danach werden diese nicht mehr zugänglich sein.

Möchtest du weiter Teil der StuVe Services sein, bitte kontaktiere zuvor deinen Administrator.

Wir wünschen dir noch einen schöne Studienzeit

Das Fachschaft WIAI Admin Team