cbmi/account/models.py

55 lines
2.5 KiB
Python
Raw Normal View History

2013-10-19 00:47:24 +02:00
from django.db import models
from django.contrib.auth.models import User
from django.db.models import signals
from account.signals import create_profile, delete_profile
class UserProfile(models.Model):
user = models.OneToOneField(User, editable=False)
uid = models.CharField(verbose_name="User-ID",
2013-10-19 00:47:24 +02:00
max_length=8,
null=True,
default=None)
sippin = models.CharField(verbose_name="SIP PIN",
2013-10-19 00:47:24 +02:00
max_length=255,
null=True,
blank=True,
default=None)
gastropin = models.CharField(verbose_name="Gastro PIN",
2013-10-19 00:47:24 +02:00
max_length=255,
null=True,
blank=True,
default=None)
rfid = models.CharField(verbose_name="RFID",
2013-10-19 00:47:24 +02:00
max_length=255,
null=True,
blank=True,
default=None)
macaddress = models.CharField(verbose_name="MAC-Address",
2013-10-19 00:47:24 +02:00
max_length=255,
null=True,
blank=True,
default=None)
clabpin = models.CharField(verbose_name="c-lab PIN",
2013-10-19 00:47:24 +02:00
max_length=255,
null=True,
blank=True,
default=None)
preferred_email = models.CharField(verbose_name="preferred e-mail address",
max_length=1024,
null=True,
default=None)
2013-11-24 21:35:01 +01:00
is_member = models.BooleanField(default=False, editable=False)
is_ldap_admin = models.BooleanField(default=False, editable=False)
is_circle_member = models.BooleanField(default=False, editable=False)
is_clab_member = models.BooleanField(default=False, editable=False)
is_cey_member = models.BooleanField(default=False, editable=False)
2013-11-24 22:56:32 +01:00
is_ceymaster = models.BooleanField(default=False, editable=False)
2015-09-24 21:40:54 +02:00
is_soundlab_member = models.BooleanField(default=False, editable=False)
2013-10-19 00:47:24 +02:00
def __unicode__(self):
return 'Profile: %s' % self.user.username
User.profile = property(lambda u: UserProfile.objects.get_or_create(user=u)[0])
signals.post_save.connect(create_profile, sender=User)
2013-11-24 21:35:01 +01:00
signals.pre_delete.connect(delete_profile, sender=User)