Password reset, standardize some stuff.
[cas.git] / src / accounts / models.py
index 126fc11..b0bd496 100644 (file)
@@ -1,4 +1,6 @@
+from django.conf import settings
 from django.db import models
+from cas_provider.signals import cas_collect_custom_attributes
 
 
 class Service(models.Model):
@@ -9,3 +11,23 @@ class Service(models.Model):
 
     class Meta:
         ordering = ('ordering', )
+
+
+class ServiceUser(models.Model):
+    service = models.ForeignKey(Service, on_delete=models.CASCADE)
+    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
+
+
+class ServiceGroup(models.Model):
+    service = models.ForeignKey(Service, on_delete=models.CASCADE)
+    group = models.ForeignKey('auth.Group', on_delete=models.CASCADE)
+
+
+def user_attributes(sender, user, **kwargs):
+    return {
+        'firstname': user.first_name,
+        'lastname': user.last_name,
+        'cn': ' '.join((user.first_name, user.last_name)),
+        'email': user.email,
+    }
+cas_collect_custom_attributes.connect(user_attributes)