from django.db import models from django.contrib.auth.models import User # class Feedback(models.Model): content = models.TextField(verbose_name="Your feedback") posted_date = models.DateTimeField(auto_now_add=True,verbose_name="Date posted") lastmodified = models.DateTimeField(auto_now=True, verbose_name="Last modified") is_published = models.BooleanField(default=False, verbose_name="Published? ") def __unicode__(self): return "%s ... %s" % (self.content, self.posted_date) class Participant(models.Model): name = models.CharField(max_length=60, verbose_name="Participant name") department = models.CharField(max_length=50) email = models.EmailField() def __unicode__(self): return "%s - %s" % (self.name, self.department) #class Manager(models.Model): # name = models.CharField(max_length=50, verbose_name="Manager's name") # email = models.EmailField() # def __unicode__(self): # return "%s" % self.name class Visit(models.Model): VISIT_CHOICES = ( (u'U', u'Unverified'), (u'R', u'Rejected'), (u'A', u'Approved') ) date = models.DateTimeField(verbose_name="Proposed visit date") verifyed_date = models.DateTimeField(blank=True, null=True, verbose_name="Confirmed date") verifyier = models.ForeignKey(User, blank=True, null=True, verbose_name="verified by") status = models.CharField(choices=VISIT_CHOICES, default='U', max_length=4) who = models.ForeignKey(Participant, verbose_name="Visitor") feedback = models.OneToOneField(Feedback,blank=True, null=True, verbose_name="Visit feedback") registered = models.DateTimeField(auto_now_add=True, verbose_name="Visit request registered date") lastmodified = models.DateTimeField(auto_now=True, verbose_name="Last modified") class Meta: permissions = ( ("can_approve", "Can approve"), ) def isconfirmed(self): if self.confirmed_date and self.confirmer: return True else: return False def __unicode__(self): return "%s %s" % (self.who, self.date)