pytask/taskapp/models.py
changeset 82 285320d3063c
parent 69 c6bca38c1cbf
child 84 2120e853f10b
equal deleted inserted replaced
81:70726699ca80 82:285320d3063c
     1 from django.db import models
     1 from django.db import models
       
     2 
       
     3 STATUS_CHOICES = (
       
     4         ("UP", "Unpublished"),
       
     5         ("OP", "Open"),
       
     6         ("LO", "Locked"),
       
     7         ("WR", "Working"),
       
     8         ("CD", "Closed"),
       
     9         ("DL", "Deleted"),
       
    10         ("CM", "Completed"))
     2 
    11 
     3 class Task(models.Model):
    12 class Task(models.Model):
     4     
    13     
     5     uniq_key = models.CharField(max_length = 10, unique = True)
    14     uniq_key = models.CharField(max_length = 10, unique = True)
     6     title = models.CharField(max_length = 100, verbose_name = u"Title", help_text = u"Keep it simple and below 100 chars.")
    15     title = models.CharField(max_length = 100, verbose_name = u"Title", 
       
    16                              help_text = u"Keep it simple and below 100 chars.")
     7     desc = models.TextField(verbose_name = u"Description")
    17     desc = models.TextField(verbose_name = u"Description")
     8 
    18 
     9     status = models.CharField(max_length = 2, choices = STATUS_CHOICES, default = "UP")
    19     status = models.CharField(max_length = 2, choices = STATUS_CHOICES, default = "UP")
    10     tags_field = TagField(verbose_name = u"Tags", help_text = u"Give comma seperated tags") 
    20     tags_field = TagField(verbose_name = u"Tags", 
       
    21                           help_text = u"Give tags seperated by commas") 
    11     
    22     
    12     pynts = models.PositiveSmallIntegerField(help_text = u"No.of pynts a user gets on completing the task")
    23     pynts = models.PositiveSmallIntegerField(help_text = u"No.of pynts a user \
    13         
    24                                              gets on completing the task")
    14     created_by = models.ForeignKey(User, related_name = "%(class)s_created_by")
    25     created_by = models.ForeignKey(User, related_name = "%(class)s_created_by")
       
    26     approved_by = models.ForeignKey(User, related_name = "%(class)s_approved_by")
       
    27     reviewers = models.ManyToManyField(User, related_name = "%(class)s_reviewers")
    15 
    28 
    16     claimed_users = models.ManyToManyField(User, blank = True, related_name = "%(class)s_claimed_users")
    29     claimed_users = models.ManyToManyField(User, blank = True, 
    17     assigned_users = models.ManyToManyField(User, blank = True, related_name = "%(class)s_assigned_users")
    30                                            related_name = "%(class)s_claimed_users")
    18 
    31     selected_users = models.ManyToManyField(User, blank = True, 
    19     reviewers = models.ManyToManyField(User, related_name = "%(class)s_reviewers")
    32                                             related_name = "%(class)s_selected_users")
    20     
    33     
    21     creation_datetime = models.DateTimeField()
    34     creation_datetime = models.DateTimeField()
    22     sub_type = models.CharField(max_length=1, choices = (('D','Dependency'),('S','Subtask')), default = 'D')   
       
    23     
    35     
    24     def __unicode__(self):
    36     def __unicode__(self):
    25         return unicode(self.title)
    37         return unicode(self.title)