|
|
|
@ -2,7 +2,7 @@ from django.db import models
@@ -2,7 +2,7 @@ from django.db import models
|
|
|
|
|
from django.contrib.auth.models import User |
|
|
|
|
from django.db.models.signals import post_save |
|
|
|
|
from django.dispatch import receiver |
|
|
|
|
|
|
|
|
|
from django_auth_ldap.backend import populate_user |
|
|
|
|
|
|
|
|
|
class Account(models.Model): |
|
|
|
|
user = models.OneToOneField(User) |
|
|
|
@ -16,10 +16,16 @@ class Account(models.Model):
@@ -16,10 +16,16 @@ class Account(models.Model):
|
|
|
|
|
return self.user.username |
|
|
|
|
|
|
|
|
|
@receiver(post_save, sender=User) |
|
|
|
|
def user_post_save_handler(sender, **kwargs): |
|
|
|
|
if kwargs['created']: |
|
|
|
|
account = Account(user=kwargs['instance']) |
|
|
|
|
def user_post_save_handler(sender, instance, created, **kwargs): |
|
|
|
|
if created: |
|
|
|
|
# We don't have ldap_user on creation, so just add the account |
|
|
|
|
account = Account(user=instance) |
|
|
|
|
account.save() |
|
|
|
|
else: |
|
|
|
|
# When we alraedy have an account, we can add the number form LDAP (mongo shit) |
|
|
|
|
if hasattr(instance, 'ldap_user') and instance.ldap_user.attrs.has_key('employeenumber'): |
|
|
|
|
instance.account.card_number = instance.ldap_user.attrs['employeenumber'][0] |
|
|
|
|
instance.account.save() |
|
|
|
|
|
|
|
|
|
def buy_products(self, products): |
|
|
|
|
# TODO place it somewhere else |
|
|
|
|