Implement send deletion mail

This commit is contained in:
Götz 2019-05-16 02:16:13 +02:00
parent 0dc9ee0991
commit 6cd5753056
3 changed files with 21 additions and 6 deletions

View File

@ -44,3 +44,13 @@ def send_welcome_mail(domain, email, protocol, realm, user):
# 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))
p1.start() p1.start()
def send_deletion_mail(realm, user):
mail_subject = 'Aktiviere deinen StuVe Account'
message = render_to_string('registration/deletion_information_email.jinja2', {
'user': user,
})
# TODO failure handling
p1 = Process(target=realm_send_mail, args=(realm, user.email, mail_subject, message))
p1.start()

View File

@ -18,7 +18,7 @@ from account_manager.forms import AddLDAPUserForm, UserDeleteListForm, UpdateLDA
UserGroupListForm UserGroupListForm
from account_manager.main_views import is_realm_admin from account_manager.main_views import is_realm_admin
from account_manager.models import LdapUser, LdapGroup from account_manager.models import LdapUser, LdapGroup
from account_manager.utils.mail_utils import send_welcome_mail from account_manager.utils.mail_utils import send_welcome_mail, send_deletion_mail
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -465,15 +465,11 @@ def user_update_controller(request, realm, ldap_user, redirect_name, update_view
def user_delete_controller(ldap_user, realm): def user_delete_controller(ldap_user, realm):
LdapGroup.base_dn = f'ou=groups,{realm.ldap_base_dn}' LdapGroup.base_dn = f'ou=groups,{realm.ldap_base_dn}'
# user_groups = LdapGroup.objects.filter(members__contains=ldap_user.dn)
# ldap_remove_user_from_groups(ldap_user.dn, user_groups)
# ldap_user.delete()
try: try:
django_user = User.objects.get(username=ldap_user.username) django_user = User.objects.get(username=ldap_user.username)
# django_user.delete()
# TODO user deletion cron
try: try:
DeletedUser.objects.create(user=django_user, ldap_dn=ldap_user.dn) DeletedUser.objects.create(user=django_user, ldap_dn=ldap_user.dn)
send_deletion_mail(realm=realm, user=ldap_user)
except IntegrityError as err: except IntegrityError as err:
pass pass

View File

@ -0,0 +1,9 @@
<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>
<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>
Kontakt: <a href="mailto:fachschaft-wiai.stuve@uni-bamberg.de?subject=LAMa (Dein Betreff)">fachschaft-wiai.stuve@uni-bamberg.de</a>