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

Person (last edited 2008-07-17 20:17:19 by DeepaliKhushraj)