pytask/taskapp/models.py
changeset 103 e7302ae73e53
parent 93 54152e4f5cd7
child 104 2e344786ce4f
equal deleted inserted replaced
102:0f9d485609ac 103:e7302ae73e53
    32     tags_field = TagField(verbose_name = u"Tags", 
    32     tags_field = TagField(verbose_name = u"Tags", 
    33                           help_text = u"Give tags seperated by commas") 
    33                           help_text = u"Give tags seperated by commas") 
    34     
    34     
    35     pynts = models.PositiveSmallIntegerField(help_text = u"No.of pynts a user \
    35     pynts = models.PositiveSmallIntegerField(help_text = u"No.of pynts a user \
    36                                              gets on completing the task")
    36                                              gets on completing the task")
    37     created_by = models.ForeignKey(User, related_name = "%(class)s_created_by")
    37     created_by = models.ForeignKey(User,
    38     approved_by = models.ForeignKey(User, related_name = "%(class)s_approved_by")
    38                                    related_name = "%(class)s_created_by")
    39     reviewers = models.ManyToManyField(User, related_name = "%(class)s_reviewers")
    39     approved_by = models.ForeignKey(User, blank = True, null = True,
       
    40                                     related_name = "%(class)s_approved_by")
       
    41     reviewers = models.ManyToManyField(User, blank = True, null = True,
       
    42                                        related_name = "%(class)s_reviewers")
    40 
    43 
    41     claimed_users = models.ManyToManyField(User, blank = True, 
    44     claimed_users = models.ManyToManyField(User, blank = True, null = True, 
    42                                            related_name = "%(class)s_claimed_users")
    45                                            related_name = "%(class)s_claimed_users")
    43     selected_users = models.ManyToManyField(User, blank = True, 
    46     selected_users = models.ManyToManyField(User, blank = True, null = True, 
    44                                             related_name = "%(class)s_selected_users")
    47                                             related_name = "%(class)s_selected_users")
    45     
    48     
    46     creation_datetime = models.DateTimeField()
    49     creation_datetime = models.DateTimeField()
    47     approval_datetime = models.DateTimeField()
    50     approval_datetime = models.DateTimeField(blank = True)
    48     
    51     
    49     def __unicode__(self):
    52     def __unicode__(self):
    50         return unicode(self.title)
    53         return unicode(self.title)
    51 
    54 
    52 class TaskComment(models.Model):
    55 class TaskComment(models.Model):
    53 
    56 
    54     uniq_key = models.CharField(max_length = 10, unique = True)
    57     uniq_key = models.CharField(max_length = 10, unique = True)
    55     task = models.ForeignKey('Task', related_name = "%(class)s_task")
    58     task = models.ForeignKey('Task', related_name = "%(class)s_task")
    56             
    59             
    57     data = models.TextField()
    60     data = models.TextField()
    58     commented_by = models.ForeignKey(User, related_name = "%(class)s_created_by")
    61     commented_by = models.ForeignKey(User,
       
    62                                      related_name = "%(class)s_created_by")
    59     deleted_by = models.ForeignKey(User, null = True, blank = True,
    63     deleted_by = models.ForeignKey(User, null = True, blank = True,
    60                                    related_name = "%(class)s_deleted_by")
    64                                    related_name = "%(class)s_deleted_by")
    61     comment_datetime = models.DateTimeField()
    65     comment_datetime = models.DateTimeField()
    62     is_deleted = models.BooleanField(default=False)
    66     is_deleted = models.BooleanField(default=False)
    63 
    67 
    67 class TaskClaim(models.Model):
    71 class TaskClaim(models.Model):
    68 
    72 
    69     uniq_key = models.CharField(max_length = 10, unique = True)
    73     uniq_key = models.CharField(max_length = 10, unique = True)
    70     task = models.ForeignKey('Task', related_name = "%(class)s_task")
    74     task = models.ForeignKey('Task', related_name = "%(class)s_task")
    71             
    75             
    72     claimed_by = models.ForeignKey(User, related_name = "%(class)s_created_by")
    76     claimed_by = models.ForeignKey(User,
       
    77                                    related_name = "%(class)s_created_by")
    73     proposal = models.TextField()
    78     proposal = models.TextField()
    74 
    79 
    75     comment_datetime = models.DateTimeField()
    80     comment_datetime = models.DateTimeField()
    76     is_deleted = models.BooleanField(default=False)
       
    77 
    81 
    78     def __unicode__(self):
    82     def __unicode__(self):
    79         return unicode(self.task.title)
    83         return unicode(self.task.title)
    80 
    84 
    81 class WorkReport(models.Model):
    85 class WorkReport(models.Model):
    82 
    86 
    83     uniq_key = models.CharField(max_length = 10, unique = True)
    87     uniq_key = models.CharField(max_length = 10, unique = True)
    84     task = models.ForeignKey(Task, related_name = "%(class)s_task")
    88     task = models.ForeignKey(Task, related_name = "%(class)s_task")
    85     submitted_by = models.ForeignKey(User, 
    89     submitted_by = models.ForeignKey(User, null = True, blank = True,
    86                                      related_name = "%(class)s_submitted_by")
    90                                      related_name = "%(class)s_submitted_by")
    87     approved_by = models.ForeignKey(User, 
    91     approved_by = models.ForeignKey(User, null = True, blank = True,
    88                                     related_name = "%(class)s_approved_by")
    92                                     related_name = "%(class)s_approved_by")
    89 
    93 
    90     data = models.TextField()
    94     data = models.TextField()
    91     summary = models.CharField(max_length=100, verbose_name="Summary",
    95     summary = models.CharField(max_length=100, verbose_name="Summary",
    92                                help_text="A one line summary")
    96                                help_text="A one line summary")
   116     requested_by = models.ForeignKey(User, 
   120     requested_by = models.ForeignKey(User, 
   117                                      related_name = "%(class)s_requested_by")
   121                                      related_name = "%(class)s_requested_by")
   118     requested_for = models.ForeignKey(User, 
   122     requested_for = models.ForeignKey(User, 
   119                                      related_name = "%(class)s_requested_for")
   123                                      related_name = "%(class)s_requested_for")
   120 
   124 
   121     responded_by = models.ForeignKey(User,
   125     responded_by = models.ForeignKey(User, null = True, blank = True,
   122                                     related_name = "%(class)s_responded_by")
   126                                     related_name = "%(class)s_responded_by")
   123 
   127 
   124     is_accepted = models.BooleanField(default=False)
   128     is_accepted = models.BooleanField(default=False)
   125     remarks = models.CharField(max_length=100, blank=True,
   129     remarks = models.CharField(max_length=100, blank=True,
   126                                help_text="Reason in case of rejection")
   130                                help_text="Reason in case of rejection")
   133     uniq_key = models.CharField(max_length = 10, unique = True)
   137     uniq_key = models.CharField(max_length = 10, unique = True)
   134     chapters = models.ManyToManyField(Task, related_name="%(class)s_chapters")
   138     chapters = models.ManyToManyField(Task, related_name="%(class)s_chapters")
   135     tags_field = TagField(verbose_name="Tags")
   139     tags_field = TagField(verbose_name="Tags")
   136 
   140 
   137     created_by = models.ForeignKey(User, related_name = "%(class)s_created_by")
   141     created_by = models.ForeignKey(User, related_name = "%(class)s_created_by")
   138     approved_by = models.ForeignKey(User, related_name = "%(class)s_approved_by")
   142     approved_by = models.ForeignKey(User, null = True, blank = True,
       
   143                                     related_name = "%(class)s_approved_by")
   139 
   144 
   140     status = models.CharField(max_length = 2, choices = TB_STATUS_CHOICES, default = "UP")
   145     status = models.CharField(max_length = 2, choices = TB_STATUS_CHOICES, default = "UP")
   141     creation_datetime = models.DateTimeField()
   146     creation_datetime = models.DateTimeField()
   142     approval_datetime = models.DateTimeField()
   147     approval_datetime = models.DateTimeField(blank = True)
   143 
   148 
   144 tagging.register(Task)
   149 tagging.register(Task)