# HG changeset patch # User Madhusudan.C.S # Date 1295217366 -19800 # Node ID f861c753e55a06025a037f9579238b11f73b5d21 # Parent b5a93feac34dfcbc9b2d19404b66ca8ab668b14f Use the right names for the roles and all other choices. diff -r b5a93feac34d -r f861c753e55a pytask/profile/models.py --- a/pytask/profile/models.py Mon Jan 17 02:58:27 2011 +0530 +++ b/pytask/profile/models.py Mon Jan 17 04:06:06 2011 +0530 @@ -2,69 +2,103 @@ from django.contrib.auth.models import User -GENDER_CHOICES = (( 'M', 'Male'), ('F', 'Female')) + +GENDER_CHOICES = ( + ( 'Male', 'Male'), + ('Female', 'Female'), +) + -RIGHTS_CHOICES = ( - ("DC", "Director"), - ("MG", "Manager"), - ("CR", "Co-ordinator"), - ("CT", "Contributor"),) +ROLES_CHOICES = ( + ("Administrator", "Administrator"), + ("Coordinator", "Coordinator"), + ("Mentor", "Mentor"), + ("Contributor", "Contributor"), +) + ROLE_CHOICES = ( - ("DC", "Request sent by Director \ - to a user at lower level, asking him to act as a director"), - ("MG", "Request sent by Manager \ - to a user at lower level, asking him to act as a manager"),) + ("Administrator", "Request sent by Administrator \ + to a user at lower level, asking him to act as a administrator"), + ("Coordinator", "Request sent by Coordinator \ + to a user at lower level, asking him to act as a coordinator"), +) + class Profile(models.Model): - full_name = models.CharField(max_length=50, verbose_name="Name as on bank\ - account", help_text="Any DD/Cheque will be\ - issued on this name") + full_name = models.CharField( + max_length=50, verbose_name="Name as on bank account", + help_text="Any DD/Cheque will be issued on this name") + user = models.ForeignKey(User, unique = True) - rights = models.CharField(max_length = 2, choices = RIGHTS_CHOICES, default = u"CT") - pynts = models.PositiveSmallIntegerField(default = 0) - - aboutme = models.TextField(blank = True, help_text="This information will\ - be used to judge the eligibility for any task") + + role = models.CharField(max_length=2, + choices=ROLES_CHOICES, + default=u"Contributor") + + pynts = models.PositiveSmallIntegerField(default=0) + + aboutme = models.TextField( + blank = True, + help_text="This information will be used to judge the eligibility " + "for any task") - dob = models.DateField(verbose_name = u"Date of Birth", help_text = "YYYY-MM-DD") - gender = models.CharField(max_length = 1, choices = GENDER_CHOICES) + dob = models.DateField(verbose_name=u"Date of Birth", + help_text="YYYY-MM-DD") + + gender = models.CharField(max_length=24, choices=GENDER_CHOICES) - address = models.TextField(blank = False, help_text="This information will\ - be used to send any DDs/Cheques") - phonenum = models.CharField(max_length = 15, blank = True, verbose_name = u"Phone Number") + address = models.TextField( + blank=False, help_text="This information will be used to send " + "any DDs/Cheques.") + + phonenum = models.CharField(max_length = 15, blank = True, + verbose_name = u"Phone Number") def __unicode__(self): return unicode(self.user.username) + class Notification(models.Model): """ A model to hold notifications. All these are sent by the site to users. Hence there is no sent_from option. """ - sent_to = models.ForeignKey(User, related_name = "%(class)s_sent_to", blank = False) + sent_to = models.ForeignKey(User, + related_name = "%(class)s_sent_to", + blank = False) subject = models.CharField(max_length=100, blank=True) + message = models.TextField() sent_date = models.DateTimeField() + is_read = models.BooleanField(default = False) + is_deleted = models.BooleanField(default = False) + class RoleRequest(models.Model): """ A request sent by one user to the other. Typically requesting to raise one's status. """ role = models.CharField(max_length=2, choices=ROLE_CHOICES) + is_accepted = models.BooleanField(default=False) message = models.TextField() + response = models.TextField() - sent_from = models.ForeignKey(User, related_name = "%(class)s_sent_from", null = True, blank = True) + sent_from = models.ForeignKey(User, + related_name = "%(class)s_sent_from", + null = True, blank = True) sent_date = models.DateTimeField() + is_read = models.BooleanField(default = False) + is_deleted = models.BooleanField(default = False) diff -r b5a93feac34d -r f861c753e55a pytask/taskapp/models.py --- a/pytask/taskapp/models.py Mon Jan 17 02:58:27 2011 +0530 +++ b/pytask/taskapp/models.py Mon Jan 17 04:06:06 2011 +0530 @@ -4,72 +4,92 @@ import tagging from tagging.fields import TagField + TASK_STATUS_CHOICES = ( - ("UP", "Unpublished"), - ("OP", "Open"), - ("LO", "Locked"), - ("WR", "Working"), - ("CD", "Closed"), - ("DL", "Deleted"), - ("CM", "Completed")) + ("Unpublished", "Unpublished"), + ("Open", "Open"), + ("Locked", "Locked"), + ("Working", "Working"), + ("Closed", "Closed"), + ("Deleted", "Deleted"), + ("Completed", "Completed")) TB_STATUS_CHOICES = ( - ("UP", "Unpublished"), - ("OP", "Open"), - ("WR", "All tasks have users selected"), - ("CM", "Completed")) + ("Unpublished", "Unpublished"), + ("Open", "Open"), + ("All tasks have users selected", "All tasks have users selected"), + ("Completed", "Completed")) -UPLOADS_DIR = "./pytask/static/uploads" +UPLOADS_DIR = "/pytask/static/uploads" + class Task(models.Model): - title = models.CharField(max_length = 100, verbose_name = u"Title", - help_text = u"Keep it simple and below 100 chars.") - desc = models.TextField(verbose_name = u"Description") + + title = models.CharField( + max_length=100, verbose_name=u"Title", + help_text=u"Keep it simple and below 100 chars.") + + desc = models.TextField(verbose_name=u"Description") - status = models.CharField(max_length = 2, choices = TASK_STATUS_CHOICES, default = "UP") - tags_field = TagField(verbose_name = u"Tags", - help_text = u"Give tags seperated by commas") + status = models.CharField(max_length=255, + choices=TASK_STATUS_CHOICES, + default="Unpublished") + + tags_field = TagField(verbose_name=u"Tags", + help_text=u"Give tags seperated by commas") - pynts = models.PositiveSmallIntegerField(help_text = u"No.of pynts a user \ - gets on completing the task") + pynts = models.PositiveSmallIntegerField( + help_text=u"No.of pynts a user gets on completing the task") + created_by = models.ForeignKey(User, - related_name = "created_tasks") - approved_by = models.ForeignKey(User, blank = True, null = True, - related_name = "approved_tasks") - reviewers = models.ManyToManyField(User, blank = True, null = True, - related_name = "reviewing_tasks") + related_name="created_tasks") + + approved_by = models.ForeignKey(User, blank=True, null=True, + related_name="approved_tasks") + + reviewers = models.ManyToManyField(User, blank=True, null=True, + related_name="reviewing_tasks") - claimed_users = models.ManyToManyField(User, blank = True, null = True, - related_name = "claimed_tasks") - selected_users = models.ManyToManyField(User, blank = True, null = True, - related_name = "selected_tasks") - + claimed_users = models.ManyToManyField(User, blank=True, null=True, + related_name="claimed_tasks") + + selected_users = models.ManyToManyField(User, blank=True, null=True, + related_name="selected_tasks") + creation_datetime = models.DateTimeField() - approval_datetime = models.DateTimeField(blank = True, null = True) - + + approval_datetime = models.DateTimeField(blank=True, null=True) + def __unicode__(self): return unicode(self.title) + class TaskComment(models.Model): - task = models.ForeignKey('Task', related_name = "comments") + task = models.ForeignKey('Task', related_name="comments") data = models.TextField(verbose_name='Comment') + commented_by = models.ForeignKey(User, - related_name = "commented_taskcomments") - deleted_by = models.ForeignKey(User, null = True, blank = True, - related_name = "deleted_taskcomments") + related_name="commented_taskcomments") + + deleted_by = models.ForeignKey(User, null=True, blank=True, + related_name="deleted_taskcomments") + comment_datetime = models.DateTimeField() + is_deleted = models.BooleanField(default=False) def __unicode__(self): return unicode(self.task.title) + class TaskClaim(models.Model): - task = models.ForeignKey('Task', related_name = "claims") + + task = models.ForeignKey('Task', related_name="claims") claimed_by = models.ForeignKey(User, - related_name = "claimed_claims") + related_name="claimed_claims") proposal = models.TextField() claim_datetime = models.DateTimeField() @@ -77,64 +97,91 @@ def __unicode__(self): return unicode(self.task.title) + class WorkReport(models.Model): - task = models.ForeignKey(Task, related_name = "reports") - submitted_by = models.ForeignKey(User, null = True, blank = True, - related_name = "submitted_reports") - approved_by = models.ForeignKey(User, null = True, blank = True, - related_name = "approved_reports") + + task = models.ForeignKey(Task, related_name="reports") + + submitted_by = models.ForeignKey(User, null=True, blank=True, + related_name="submitted_reports") + + approved_by = models.ForeignKey(User, null=True, blank=True, + related_name="approved_reports") data = models.TextField(verbose_name="Report") + summary = models.CharField(max_length=100, verbose_name="Summary", help_text="A one line summary") - attachment = models.FileField(upload_to = UPLOADS_DIR) + + attachment = models.FileField(upload_to=UPLOADS_DIR) revision = models.PositiveIntegerField(default=0) + submitted_at = models.DateTimeField() + class ReportComment(models.Model): - report = models.ForeignKey('WorkReport', related_name = "%(class)s_report") + + report = models.ForeignKey('WorkReport', related_name="%(class)s_report") data = models.TextField() + commented_by = models.ForeignKey(User, - related_name = "commented_reportcomments") - deleted_by = models.ForeignKey(User, null = True, blank = True, - related_name = "deleted_reportcomments") + related_name="commented_reportcomments") + + deleted_by = models.ForeignKey(User, null=True, blank=True, + related_name="deleted_reportcomments") + comment_datetime = models.DateTimeField() + is_deleted = models.BooleanField(default=False) + class PyntRequest(models.Model): - task = models.ForeignKey(Task, related_name = "pynt_requests") + task = models.ForeignKey(Task, related_name="pynt_requests") + pynts = models.PositiveIntegerField(default=0, help_text="No.of pynts") requested_by = models.ForeignKey(User, - related_name = "requested_by_pynts") + related_name="requested_by_pynts") + requested_for = models.ForeignKey(User, - related_name = "requested_for_pynts") + related_name="requested_for_pynts") - responded_by = models.ForeignKey(User, null = True, blank = True, - related_name = "responded_requests") + responded_by = models.ForeignKey(User, null=True, blank=True, + related_name="responded_requests") is_accepted = models.BooleanField(default=False) + remarks = models.CharField(max_length=100, blank=True, help_text="Reason in case of rejection") request_datetime = models.DateTimeField() + is_responded = models.BooleanField(default=False) + class TextBook(models.Model): - name = models.CharField(max_length = 100) + name = models.CharField(max_length=100) + chapters = models.ManyToManyField(Task, related_name="textbooks") + tags_field = TagField(verbose_name="Tags") - created_by = models.ForeignKey(User, related_name = "created_textbooks") - approved_by = models.ForeignKey(User, null = True, blank = True, - related_name = "approved_textbooks") + created_by = models.ForeignKey(User, related_name="created_textbooks") + + approved_by = models.ForeignKey(User, null=True, blank=True, + related_name="approved_textbooks") - status = models.CharField(max_length = 2, choices = TB_STATUS_CHOICES, default = "UP") + status = models.CharField(max_length=255, + choices=TB_STATUS_CHOICES, + default="Unpublished") + creation_datetime = models.DateTimeField() - approval_datetime = models.DateTimeField(blank = True, null = True) + + approval_datetime = models.DateTimeField(blank=True, null=True) + tagging.register(Task) tagging.register(TextBook)