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): 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 = "" output = ""
if options['json']: if options['json']:
json_output = {'deletables': []} json_output = {'deletables': []}

View File

@ -1,6 +1,7 @@
from django.contrib.auth.models import Group, User from django.contrib.auth.models import Group, User
from django.db import models from django.db import models
from django.utils import timezone from django.utils import timezone
from django.conf import settings
# Create your models here. # Create your models here.
@ -16,7 +17,7 @@ class Realm(models.Model):
def get_deletion_time(): def get_deletion_time():
return timezone.now() + timezone.timedelta(+14) return timezone.now() + timezone.timedelta(settings.DELETION_WAIT_DAYS)
class DeletedUser(models.Model): 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.template.loader import render_to_string
from django.utils.encoding import force_bytes from django.utils.encoding import force_bytes
from django.utils.http import urlsafe_base64_encode 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 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' mail_subject = 'Aktiviere deinen StuVe Account'
message = render_to_string('registration/deletion_information_email.jinja2', { message = render_to_string('registration/deletion_information_email.jinja2', {
'user': user, 'user': user,
'deletion_wait_days': settings.DELETION_WAIT_DAYS,
}) })
# TODO failure handling # TODO failure handling
p1 = Process(target=realm_send_mail, args=(realm, user.email, mail_subject, message)) p1 = Process(target=realm_send_mail, args=(realm, user.email, mail_subject, message))

View File

@ -1,7 +1,7 @@
<h1>StuVe Accountlöschung</h1> <h1>StuVe Accountlöschung</h1>
<p>Dein Account mit dem Nutzernamen <strong>{{ user.username }}</strong> wurde als gelöscht markiert. Deine Nutzerdaten <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 werden in {{ deletion_wait_days }} Tagen gelöscht. Falls du noch wichtige Daten in den StuVe Services gespeichert
diese noch vor der Löschung. Danach werden diese nicht mehr zugänglich sein. </p> 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>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>Wir wünschen dir noch einen schöne Studienzeit</p>
<p>Das Fachschaft WIAI Admin Team</p> <p>Das Fachschaft WIAI Admin Team</p>