Implement changable deletion wait time

This commit is contained in:
Götz 2019-05-16 14:39:02 +02:00
parent a614b1f160
commit b8416e7f8b
5 changed files with 39 additions and 4 deletions

32
example.env Normal file
View File

@ -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

View File

@ -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': []}

View File

@ -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):

View File

@ -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))

View File

@ -1,7 +1,7 @@
<h1>StuVe Accountlöschung</h1>
<p>Dein Account mit dem Nutzernamen <strong>{{ user.username }}</strong> 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. </p>
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. </p>
<p>Möchtest du weiter Teil der StuVe Services sein, bitte kontaktiere zuvor deinen Administrator.</p>
<p>Wir wünschen dir noch einen schöne Studienzeit</p>
<p>Das Fachschaft WIAI Admin Team</p>