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, |
37 created_by = models.ForeignKey(User, |
38 related_name = "%(class)s_created_by") |
38 related_name = "created_tasks") |
39 approved_by = models.ForeignKey(User, blank = True, null = True, |
39 approved_by = models.ForeignKey(User, blank = True, null = True, |
40 related_name = "%(class)s_approved_by") |
40 related_name = "approved_tasks") |
41 reviewers = models.ManyToManyField(User, blank = True, null = True, |
41 reviewers = models.ManyToManyField(User, blank = True, null = True, |
42 related_name = "%(class)s_reviewers") |
42 related_name = "reviewing_tasks") |
43 |
43 |
44 claimed_users = models.ManyToManyField(User, blank = True, null = True, |
44 claimed_users = models.ManyToManyField(User, blank = True, null = True, |
45 related_name = "%(class)s_claimed_users") |
45 related_name = "claimed_tasks") |
46 selected_users = models.ManyToManyField(User, blank = True, null = True, |
46 selected_users = models.ManyToManyField(User, blank = True, null = True, |
47 related_name = "%(class)s_selected_users") |
47 related_name = "selected_tasks") |
48 |
48 |
49 creation_datetime = models.DateTimeField() |
49 creation_datetime = models.DateTimeField() |
50 approval_datetime = models.DateTimeField(blank = True, null = True) |
50 approval_datetime = models.DateTimeField(blank = True, null = True) |
51 |
51 |
52 def __unicode__(self): |
52 def __unicode__(self): |
53 return unicode(self.title) |
53 return unicode(self.title) |
54 |
54 |
55 class TaskComment(models.Model): |
55 class TaskComment(models.Model): |
56 |
56 |
57 uniq_key = models.CharField(max_length = 10, unique = True) |
57 uniq_key = models.CharField(max_length = 10, unique = True) |
58 task = models.ForeignKey('Task', related_name = "%(class)s_task") |
58 task = models.ForeignKey('Task', related_name = "comments") |
59 |
59 |
60 data = models.TextField() |
60 data = models.TextField() |
61 commented_by = models.ForeignKey(User, |
61 commented_by = models.ForeignKey(User, |
62 related_name = "%(class)s_created_by") |
62 related_name = "commented_taskcomments") |
63 deleted_by = models.ForeignKey(User, null = True, blank = True, |
63 deleted_by = models.ForeignKey(User, null = True, blank = True, |
64 related_name = "%(class)s_deleted_by") |
64 related_name = "deleted_taskcomments") |
65 comment_datetime = models.DateTimeField() |
65 comment_datetime = models.DateTimeField() |
66 is_deleted = models.BooleanField(default=False) |
66 is_deleted = models.BooleanField(default=False) |
67 |
67 |
68 def __unicode__(self): |
68 def __unicode__(self): |
69 return unicode(self.task.title) |
69 return unicode(self.task.title) |
70 |
70 |
71 class TaskClaim(models.Model): |
71 class TaskClaim(models.Model): |
72 |
72 |
73 uniq_key = models.CharField(max_length = 10, unique = True) |
73 uniq_key = models.CharField(max_length = 10, unique = True) |
74 task = models.ForeignKey('Task', related_name = "%(class)s_task") |
74 task = models.ForeignKey('Task', related_name = "claims") |
75 |
75 |
76 claimed_by = models.ForeignKey(User, |
76 claimed_by = models.ForeignKey(User, |
77 related_name = "%(class)s_created_by") |
77 related_name = "claimed_claims") |
78 proposal = models.TextField() |
78 proposal = models.TextField() |
79 |
79 |
80 comment_datetime = models.DateTimeField() |
80 comment_datetime = models.DateTimeField() |
81 |
81 |
82 def __unicode__(self): |
82 def __unicode__(self): |
83 return unicode(self.task.title) |
83 return unicode(self.task.title) |
84 |
84 |
85 class WorkReport(models.Model): |
85 class WorkReport(models.Model): |
86 |
86 |
87 uniq_key = models.CharField(max_length = 10, unique = True) |
87 uniq_key = models.CharField(max_length = 10, unique = True) |
88 task = models.ForeignKey(Task, related_name = "%(class)s_task") |
88 task = models.ForeignKey(Task, related_name = "reports") |
89 submitted_by = models.ForeignKey(User, null = True, blank = True, |
89 submitted_by = models.ForeignKey(User, null = True, blank = True, |
90 related_name = "%(class)s_submitted_by") |
90 related_name = "submitted_reports") |
91 approved_by = models.ForeignKey(User, null = True, blank = True, |
91 approved_by = models.ForeignKey(User, null = True, blank = True, |
92 related_name = "%(class)s_approved_by") |
92 related_name = "approved_reports") |
93 |
93 |
94 data = models.TextField() |
94 data = models.TextField() |
95 summary = models.CharField(max_length=100, verbose_name="Summary", |
95 summary = models.CharField(max_length=100, verbose_name="Summary", |
96 help_text="A one line summary") |
96 help_text="A one line summary") |
97 attachment = models.FileField(upload_to = UPLOADS_DIR) |
97 attachment = models.FileField(upload_to = UPLOADS_DIR) |
103 |
103 |
104 uniq_key = models.CharField(max_length = 10, unique = True) |
104 uniq_key = models.CharField(max_length = 10, unique = True) |
105 report = models.ForeignKey('WorkReport', related_name = "%(class)s_report") |
105 report = models.ForeignKey('WorkReport', related_name = "%(class)s_report") |
106 |
106 |
107 data = models.TextField() |
107 data = models.TextField() |
108 commented_by = models.ForeignKey(User, related_name = "%(class)s_created_by") |
108 commented_by = models.ForeignKey(User, |
|
109 related_name = "commented_reportcomments") |
109 deleted_by = models.ForeignKey(User, null = True, blank = True, |
110 deleted_by = models.ForeignKey(User, null = True, blank = True, |
110 related_name = "%(class)s_deleted_by") |
111 related_name = "deleted_reportcomments") |
111 comment_datetime = models.DateTimeField() |
112 comment_datetime = models.DateTimeField() |
112 is_deleted = models.BooleanField(default=False) |
113 is_deleted = models.BooleanField(default=False) |
113 |
114 |
114 class RequestPynts(models.Model): |
115 class PyntRequests(models.Model): |
115 |
116 |
116 uniq_key = models.CharField(max_length = 10, unique = True) |
117 uniq_key = models.CharField(max_length = 10, unique = True) |
117 task = models.ForeignKey(Task, related_name = "%(class)s_task") |
118 task = models.ForeignKey(Task, related_name = "pynt_requests") |
118 pynts = models.PositiveIntegerField(default=0, help_text="No.of pynts") |
119 pynts = models.PositiveIntegerField(default=0, help_text="No.of pynts") |
119 |
120 |
120 requested_by = models.ForeignKey(User, |
121 requested_by = models.ForeignKey(User, |
121 related_name = "%(class)s_requested_by") |
122 related_name = "requested_by_pynts") |
122 requested_for = models.ForeignKey(User, |
123 requested_for = models.ForeignKey(User, |
123 related_name = "%(class)s_requested_for") |
124 related_name = "requested_for_pynts") |
124 |
125 |
125 responded_by = models.ForeignKey(User, null = True, blank = True, |
126 responded_by = models.ForeignKey(User, null = True, blank = True, |
126 related_name = "%(class)s_responded_by") |
127 related_name = "responded_requests") |
127 |
128 |
128 is_accepted = models.BooleanField(default=False) |
129 is_accepted = models.BooleanField(default=False) |
129 remarks = models.CharField(max_length=100, blank=True, |
130 remarks = models.CharField(max_length=100, blank=True, |
130 help_text="Reason in case of rejection") |
131 help_text="Reason in case of rejection") |
131 |
132 |
133 is_responded = models.BooleanField(default=False) |
134 is_responded = models.BooleanField(default=False) |
134 |
135 |
135 class TextBook(models.Model): |
136 class TextBook(models.Model): |
136 |
137 |
137 uniq_key = models.CharField(max_length = 10, unique = True) |
138 uniq_key = models.CharField(max_length = 10, unique = True) |
138 chapters = models.ManyToManyField(Task, related_name="%(class)s_chapters") |
139 chapters = models.ManyToManyField(Task, related_name="%(class)s_set") |
139 tags_field = TagField(verbose_name="Tags") |
140 tags_field = TagField(verbose_name="Tags") |
140 |
141 |
141 created_by = models.ForeignKey(User, related_name = "%(class)s_created_by") |
142 created_by = models.ForeignKey(User, related_name = "created_textbooks") |
142 approved_by = models.ForeignKey(User, null = True, blank = True, |
143 approved_by = models.ForeignKey(User, null = True, blank = True, |
143 related_name = "%(class)s_approved_by") |
144 related_name = "approved_textbooks") |
144 |
145 |
145 status = models.CharField(max_length = 2, choices = TB_STATUS_CHOICES, default = "UP") |
146 status = models.CharField(max_length = 2, choices = TB_STATUS_CHOICES, default = "UP") |
146 creation_datetime = models.DateTimeField() |
147 creation_datetime = models.DateTimeField() |
147 approval_datetime = models.DateTimeField(blank = True, null = True) |
148 approval_datetime = models.DateTimeField(blank = True, null = True) |
148 |
149 |