|
@@ -0,0 +1,36 @@
|
|
|
+from django.contrib.auth.models import User
|
|
|
+from django.core.mail import send_mail
|
|
|
+from django.db.models import signals
|
|
|
+
|
|
|
+from website.settings import *
|
|
|
+
|
|
|
+def post_user_save(sender, instance: User, *args, **kwargs):
|
|
|
+ #oldUser: User = User.objects.get(id=instance.id)
|
|
|
+ #print(oldUser.get_all_permissions(), args, kwargs)
|
|
|
+ #if instance.get_all_permissions() != oldUser.get_all_permissions():
|
|
|
+ perm_list = []
|
|
|
+ if instance.has_perm("stammbaum.view"):
|
|
|
+ perm_list.append("Du darfst den gesamten Stammbaum ansehen.")
|
|
|
+ if instance.has_perm("stammbaum.upload_image"):
|
|
|
+ perm_list.append("Du darfst Bilder für Personen im Stammbaum hochladen.")
|
|
|
+ if instance.is_staff and instance.has_perm("stammbaum.change_person"):
|
|
|
+ perm_list.append("Du darfst Personen im Stammbaum bearbeiten.")
|
|
|
+ if instance.is_staff and instance.has_perm("stammbaum.add_person"):
|
|
|
+ perm_list.append("Du darfst Personen zum Stammbaum hinzufügen.")
|
|
|
+ if instance.is_staff and instance.has_perm("stammbaum.add_group"):
|
|
|
+ perm_list.append("Du darfst deinen eigenen Stammbaum hinzufügen. (Stammbaum bearbeiten -> Gruppe hinzufügen)")
|
|
|
+
|
|
|
+ send_mail(
|
|
|
+ subject='Deine Berechtigungen wurden geändert',
|
|
|
+ message=f'Hallo {instance.get_full_name()}, \n\n' +
|
|
|
+ "deine Berechtigungen auf der Stammbaum-Webseite wurden gerade angepasst.\n\n" +
|
|
|
+ "Jetzt hast du folgende Berechtigungen:\n" +
|
|
|
+ '\n'.join([' - ' + p for p in perm_list]) + '\n\n' +
|
|
|
+ "LG\nWebsite-Admins\n\n" +
|
|
|
+ "https://pi.justprojects.de/stammbaum\n" +
|
|
|
+ f"Login vergessen? Dein Benutzername lautet {instance.username}.",
|
|
|
+ from_email='stammbaum@justprojects.de',
|
|
|
+ recipient_list=[instance.email],
|
|
|
+ fail_silently=False
|
|
|
+ )
|
|
|
+signals.post_save.connect(post_user_save, sender=User, dispatch_uid='post_user_save')
|