48 lines
2.1 KiB
Python
48 lines
2.1 KiB
Python
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("User-ID",
|
|
max_length=8,
|
|
null=True,
|
|
default=None)
|
|
sippin = models.CharField("SIP PIN",
|
|
max_length=255,
|
|
null=True,
|
|
blank=True,
|
|
default=None)
|
|
gastropin = models.CharField("Gastro PIN",
|
|
max_length=255,
|
|
null=True,
|
|
blank=True,
|
|
default=None)
|
|
rfid = models.CharField("RFID",
|
|
max_length=255,
|
|
null=True,
|
|
blank=True,
|
|
default=None)
|
|
macaddress = models.CharField("MAC-Address",
|
|
max_length=255,
|
|
null=True,
|
|
blank=True,
|
|
default=None)
|
|
clabpin = models.CharField("c-lab PIN",
|
|
max_length=255,
|
|
null=True,
|
|
blank=True,
|
|
default=None)
|
|
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_ceymaster = models.BooleanField(default=False, editable=False)
|
|
|
|
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)
|
|
signals.pre_delete.connect(delete_profile, sender=User)
|