from django.db import models
from mail.models import EmailAddress
class Address(models.Model):
#Max's stuff
uri = models.SlugField()
class Admin:
pass
class Place(models.Model):
#Max's stuff
uri = models.SlugField()
class Admin:
pass
class Organization(models.Model):
#uri = models.SlugField()
name = models.CharField(max_length=128,editable=True)
webpage = models.URLField(blank=True)
addresses = models.ManyToManyField(Address,related_name='organization_address',blank=True)
parent_organization = models.ManyToManyField("self",editable=True,related_name='suborganization',blank=True)
def __unicode__(self):
return self.name
class Admin:
pass
class PersonAffiliation(models.Model):
STATUS_CHOICES = ( ('A','Active'),('NA','Inactive'))
organization = models.ForeignKey(Organization)
startdate = models.DateField(null=True,blank=True)
enddate = models.DateField(null=True,blank=True)
status = models.CharField(max_length=1,editable=True,choices=STATUS_CHOICES)
affliationid = models.CharField("ID",max_length=128,editable=True,blank=True)
addresses = models.ManyToManyField(Address,editable=True,blank=True)
class Admin:
pass
# class Group(models.Model):
# members = models.ManyToManyField(Person)
class Person(models.Model):
#uri = models.SlugField()
name = models.CharField(max_length=128,editable=True)
birthday = models.DateField()
sex = models.CharField(max_length=1, choices=(('M', 'Male'), ('F', 'Female')))
mobile = models.CharField(max_length=128,blank=True)
emails = models.ManyToManyField(EmailAddress, null=True, blank=True,related_name='person_emails')
affiliations = models.ManyToManyField(PersonAffiliation,related_name='person_affiliations',blank=True)
manager = models.ManyToManyField("self",related_name='manager of',symmetrical=False,blank=True)
secretary = models.ManyToManyField("self",related_name='secretary of',symmetrical=False,blank=True)
knows = models.ManyToManyField("self",blank=True)
homeaddress = models.ForeignKey(Address,related_name='person_home_address',verbose_name='Home Address')
def __unicode__(self):
return self.name
class Admin:
pass