Skip to content
Snippets Groups Projects
Commit 3c1db933 authored by Tom Teichler's avatar Tom Teichler :beers:
Browse files

Add guardian model, advances #9.

parent d20061ee
No related branches found
No related tags found
No related merge requests found
......@@ -81,6 +81,26 @@ class TeckidsLdapMixin(object):
elif attr.endswith('__rel'):
return self.get_image_rel(attr[:-5])
class TeckidsParent(ldapdb.models.Model, TeckidsLdapMixin):
class Meta:
managed = False
app_label = 'ticdesk_account'
ordering = ('sn', 'given_name')
base_dn = 'ou=Guardians,ou=Contacts,dc=teckids,dc=org'
object_classes = ['inetOrgPerson', 'teckidsParent', 'teckidsPerson',]
# Name
cn = CharField(db_column='cn', max_length=200, primary_key=True, verbose_name=_('Name'))
given_name = CharField(db_column='givenName', max_length=100, verbose_name=_('Vorname'))
sn = CharField(db_column='sn', max_length=100, verbose_name=_('Nachname'))
# Contact / identity details
mail = CharField(db_column='mail', max_length=200, verbose_name=_('E-Mail'))
home_postal_address = CharField(db_column='homePostalAddress', max_length=100, verbose_name=_('Anschrift (privat)'))
home_phone = CharField(db_column='homePhone', max_length=20, verbose_name=_('Telefon (Festnetz privat)'))
mobile = CharField(db_column='mobile', max_length=20, verbose_name=_('Handy'))
class TeckidsGroup(ldapdb.models.Model, TeckidsLdapMixin):
class Meta:
managed = False
......@@ -224,6 +244,9 @@ class TeckidsPerson(ldapdb.models.Model, TeckidsLdapMixin):
# Group membership
member_of = ListField(db_column='memberOf')
# Guardians
guardians = ListField(db_column='guardian')
# Settings
setting_birthday_mail_days = IntegerField(db_column='teckidsSettingsBirthdayMailDays',
default=0, verbose_name=_('Geburtstags-E-Mail-Tage')
......@@ -400,6 +423,10 @@ class TeckidsPerson(ldapdb.models.Model, TeckidsLdapMixin):
if self.teckids_hour:
return time.strftime('%A %H:%M', time.strptime(self.teckids_hour, '%w %H:%M'))
@property
def guardians_parents(self):
return self._get_objects('guardians', TeckidsParent)
class TeckidsKrbPrinc(ldapdb.models.Model):
class Meta:
managed = False
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment