X-Git-Url: https://git.mdrn.pl/cas.git/blobdiff_plain/37e278e43ece42375352c07d9f04991ef58d992c..3a65fcbfa423d5627e41c2f9e17c464d4a594087:/src/accounts/models.py diff --git a/src/accounts/models.py b/src/accounts/models.py index 71a8362..b0bd496 100644 --- a/src/accounts/models.py +++ b/src/accounts/models.py @@ -1,3 +1,33 @@ +from django.conf import settings from django.db import models +from cas_provider.signals import cas_collect_custom_attributes -# Create your models here. + +class Service(models.Model): + ordering = models.IntegerField() + name = models.CharField(max_length=255) + url = models.URLField() + image = models.ImageField(upload_to='accounts/service/') + + 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)