taskapp/models.py
author Nishanth Amuluru <nishanth@fossee.in>
Thu, 06 Jan 2011 12:08:36 +0530
changeset 226 b4a3ec34c061
parent 224 c41e38f36299
permissions -rw-r--r--
the upload of attachments works correctly now
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
61
708dd49d531b added custom image storage for profile photo.
nishanth
parents: 59
diff changeset
     1
import os
119
39ab7c460143 did lots and now id field in task is a random key
nishanth
parents: 118
diff changeset
     2
61
708dd49d531b added custom image storage for profile photo.
nishanth
parents: 59
diff changeset
     3
from django.core.files.storage import FileSystemStorage
1
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
     4
from django.db import models
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
     5
from django.contrib.auth.models import User
119
39ab7c460143 did lots and now id field in task is a random key
nishanth
parents: 118
diff changeset
     6
48
8670846be981 installed tagging into the app.
anoop
parents: 38
diff changeset
     7
import tagging
8670846be981 installed tagging into the app.
anoop
parents: 38
diff changeset
     8
from tagging.fields import TagField
8670846be981 installed tagging into the app.
anoop
parents: 38
diff changeset
     9
119
39ab7c460143 did lots and now id field in task is a random key
nishanth
parents: 118
diff changeset
    10
from pytask.taskapp.utilities.helper import get_key
39ab7c460143 did lots and now id field in task is a random key
nishanth
parents: 118
diff changeset
    11
1
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    12
GENDER_CHOICES = (( 'M', 'Male'), ('F', 'Female'))
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    13
RIGHTS_CHOICES = (
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    14
	("AD", "Admin"),
107
4903b4973fc8 completed the process_request part.
nishanth
parents: 104
diff changeset
    15
	("MG", "Manager"),
1
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    16
	("DV", "Developer"),
10
bf0cbea1bd12 removed views.py and made it a package. added auth_profile to settings.py
nishanth
parents: 1
diff changeset
    17
	("CT", "Contributor"),)
1
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    18
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    19
STATUS_CHOICES = (
18
a39549bd5b08 implemented create task view which needed task.py in events. added a method show_msg to views/user.py and used it in logoff view.
nishanth
parents: 12
diff changeset
    20
    ("UP", "Unpublished"),
51
89463859712c added request and notification models.
nishanth
parents: 49
diff changeset
    21
    ("OP", "Open"),
10
bf0cbea1bd12 removed views.py and made it a package. added auth_profile to settings.py
nishanth
parents: 1
diff changeset
    22
    ("LO", "Locked"),
63
1fc027bf99ee added events in task.py for adding subtask and dependencies
nishanth
parents: 61
diff changeset
    23
    ("WR", "Working"),
10
bf0cbea1bd12 removed views.py and made it a package. added auth_profile to settings.py
nishanth
parents: 1
diff changeset
    24
    ("CD", "Closed"),
bf0cbea1bd12 removed views.py and made it a package. added auth_profile to settings.py
nishanth
parents: 1
diff changeset
    25
    ("DL", "Deleted"),
bf0cbea1bd12 removed views.py and made it a package. added auth_profile to settings.py
nishanth
parents: 1
diff changeset
    26
    ("CM", "Completed"))
1
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    27
128
f34e3a3e1439 modified the notifications model. the sent_to is now a foreign key. now if we have a new type to be added, we can generate message and sub while creating notification. we can keep track of history using the role field in notification and task/sent_from
nishanth
parents: 124
diff changeset
    28
NOTIFY_CHOICES = (
218
59107ce0a618 Replaced the word mentor with reviewer
Nishanth Amuluru <nishanth@fossee.in>
parents: 215
diff changeset
    29
    ("MT", "Add Reviewer"),
128
f34e3a3e1439 modified the notifications model. the sent_to is now a foreign key. now if we have a new type to be added, we can generate message and sub while creating notification. we can keep track of history using the role field in notification and task/sent_from
nishanth
parents: 124
diff changeset
    30
    ("DV", "Developer"),
f34e3a3e1439 modified the notifications model. the sent_to is now a foreign key. now if we have a new type to be added, we can generate message and sub while creating notification. we can keep track of history using the role field in notification and task/sent_from
nishanth
parents: 124
diff changeset
    31
    ("MG", "Manager"),
f34e3a3e1439 modified the notifications model. the sent_to is now a foreign key. now if we have a new type to be added, we can generate message and sub while creating notification. we can keep track of history using the role field in notification and task/sent_from
nishanth
parents: 124
diff changeset
    32
    ("AD", "Admin"),
219
f04a1ec7a07f Replaced the word credit with pynt
Nishanth Amuluru <nishanth@fossee.in>
parents: 218
diff changeset
    33
    ("PY", "Assign pynts"),
128
f34e3a3e1439 modified the notifications model. the sent_to is now a foreign key. now if we have a new type to be added, we can generate message and sub while creating notification. we can keep track of history using the role field in notification and task/sent_from
nishanth
parents: 124
diff changeset
    34
    ("CM", "Task completed"),
f34e3a3e1439 modified the notifications model. the sent_to is now a foreign key. now if we have a new type to be added, we can generate message and sub while creating notification. we can keep track of history using the role field in notification and task/sent_from
nishanth
parents: 124
diff changeset
    35
    ("CD", "Task closed"),
f34e3a3e1439 modified the notifications model. the sent_to is now a foreign key. now if we have a new type to be added, we can generate message and sub while creating notification. we can keep track of history using the role field in notification and task/sent_from
nishanth
parents: 124
diff changeset
    36
    ("DL", "Task deleted"),
131
85276c5aee5c added notifications for approval and rejection of a mentor.
nishanth
parents: 130
diff changeset
    37
    ("NU", "New User"),
218
59107ce0a618 Replaced the word mentor with reviewer
Nishanth Amuluru <nishanth@fossee.in>
parents: 215
diff changeset
    38
    ("NT", "New Reviewer"),
162
d378eff02f2e added au ru notifications.
nishanth
parents: 153
diff changeset
    39
    ("ND", "New Developer"),
d378eff02f2e added au ru notifications.
nishanth
parents: 153
diff changeset
    40
    ("NG", "New Manager"),
d378eff02f2e added au ru notifications.
nishanth
parents: 153
diff changeset
    41
    ("NA", "New Admin"),
d378eff02f2e added au ru notifications.
nishanth
parents: 153
diff changeset
    42
    ("AU", "Assign user"), ## i mean assign the task
d378eff02f2e added au ru notifications.
nishanth
parents: 153
diff changeset
    43
    ("RU", "Remove user"), ## remove from working users list in task
128
f34e3a3e1439 modified the notifications model. the sent_to is now a foreign key. now if we have a new type to be added, we can generate message and sub while creating notification. we can keep track of history using the role field in notification and task/sent_from
nishanth
parents: 124
diff changeset
    44
)
f34e3a3e1439 modified the notifications model. the sent_to is now a foreign key. now if we have a new type to be added, we can generate message and sub while creating notification. we can keep track of history using the role field in notification and task/sent_from
nishanth
parents: 124
diff changeset
    45
1
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    46
IMAGES_DIR = "./images"
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    47
UPLOADS_DIR = "./uploads"
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    48
61
708dd49d531b added custom image storage for profile photo.
nishanth
parents: 59
diff changeset
    49
class CustomImageStorage(FileSystemStorage):
708dd49d531b added custom image storage for profile photo.
nishanth
parents: 59
diff changeset
    50
708dd49d531b added custom image storage for profile photo.
nishanth
parents: 59
diff changeset
    51
    def path(self, name):
708dd49d531b added custom image storage for profile photo.
nishanth
parents: 59
diff changeset
    52
        """ we return images directory path.
708dd49d531b added custom image storage for profile photo.
nishanth
parents: 59
diff changeset
    53
        """
708dd49d531b added custom image storage for profile photo.
nishanth
parents: 59
diff changeset
    54
708dd49d531b added custom image storage for profile photo.
nishanth
parents: 59
diff changeset
    55
        return os.path.join(IMAGES_DIR, name)
708dd49d531b added custom image storage for profile photo.
nishanth
parents: 59
diff changeset
    56
708dd49d531b added custom image storage for profile photo.
nishanth
parents: 59
diff changeset
    57
    def get_available_name(self, name):
708dd49d531b added custom image storage for profile photo.
nishanth
parents: 59
diff changeset
    58
        """ here we are going with username as the name of image.
708dd49d531b added custom image storage for profile photo.
nishanth
parents: 59
diff changeset
    59
        """
708dd49d531b added custom image storage for profile photo.
nishanth
parents: 59
diff changeset
    60
    
708dd49d531b added custom image storage for profile photo.
nishanth
parents: 59
diff changeset
    61
        root, ext = os.path.splitext(name)
118
5bbb29a07b87 modified image storage.
nishanth
parents: 116
diff changeset
    62
        file_name = get_key() + ext
5bbb29a07b87 modified image storage.
nishanth
parents: 116
diff changeset
    63
        while self.exists(file_name):
5bbb29a07b87 modified image storage.
nishanth
parents: 116
diff changeset
    64
            file_name = get_key() + ext
5bbb29a07b87 modified image storage.
nishanth
parents: 116
diff changeset
    65
        return file_name
61
708dd49d531b added custom image storage for profile photo.
nishanth
parents: 59
diff changeset
    66
10
bf0cbea1bd12 removed views.py and made it a package. added auth_profile to settings.py
nishanth
parents: 1
diff changeset
    67
class Profile(models.Model):
59
f6a3bf088a9e made changes to models.
anoop
parents: 58
diff changeset
    68
    
1
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    69
    user = models.ForeignKey(User, unique = True)
38
7910ff503036 added help_text and verbose_name to models where required and removed import of seed_db from urls.py
nishanth
parents: 33
diff changeset
    70
    dob = models.DateField(verbose_name = u"Date of Birth", help_text = "YYYY-MM-DD")
1
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    71
    gender = models.CharField(max_length = 1, choices = GENDER_CHOICES)
12
a93eebabfeb1 created forms, views, templates, actions for home_page, browse_task.
nishanth
parents: 10
diff changeset
    72
    rights = models.CharField(max_length = 2, choices = RIGHTS_CHOICES, default = u"CT")
219
f04a1ec7a07f Replaced the word credit with pynt
Nishanth Amuluru <nishanth@fossee.in>
parents: 218
diff changeset
    73
    pynts = models.PositiveSmallIntegerField(default = 0)
1
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    74
    
12
a93eebabfeb1 created forms, views, templates, actions for home_page, browse_task.
nishanth
parents: 10
diff changeset
    75
    aboutme = models.TextField(blank = True)
182
1b4253350a3c added a verbose_name for tags_field in task and foss_comm in user.
nishanth
parents: 167
diff changeset
    76
    foss_comm = TagField(verbose_name="FOSS Communities")
38
7910ff503036 added help_text and verbose_name to models where required and removed import of seed_db from urls.py
nishanth
parents: 33
diff changeset
    77
    phonenum = models.CharField(max_length = 15, blank = True, verbose_name = u"Phone Number")
7910ff503036 added help_text and verbose_name to models where required and removed import of seed_db from urls.py
nishanth
parents: 33
diff changeset
    78
    homepage = models.URLField(blank = True, verbose_name = u"Homepage/Blog")
1
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    79
    street = models.CharField(max_length = 80, blank = True)
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    80
    city = models.CharField(max_length = 25, blank = True)
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    81
    country = models.CharField(max_length = 25, blank = True)
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    82
    nick = models.CharField(max_length = 20, blank = True)
61
708dd49d531b added custom image storage for profile photo.
nishanth
parents: 59
diff changeset
    83
    photo = models.ImageField(storage = CustomImageStorage(),upload_to = IMAGES_DIR, blank = True)
1
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    84
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    85
    def __unicode__(self):
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    86
        return unicode(self.user.username)
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    87
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    88
class Task(models.Model):
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    89
    
119
39ab7c460143 did lots and now id field in task is a random key
nishanth
parents: 118
diff changeset
    90
    prim_key = models.AutoField(primary_key = True)
39ab7c460143 did lots and now id field in task is a random key
nishanth
parents: 118
diff changeset
    91
    id = models.CharField(max_length = 10, unique = True)
165
8ea5bcf3bd01 implemented edit_task functionality.
nishanth
parents: 162
diff changeset
    92
    title = models.CharField(max_length = 100, verbose_name = u"Title", help_text = u"Keep it simple and below 100 chars.")
38
7910ff503036 added help_text and verbose_name to models where required and removed import of seed_db from urls.py
nishanth
parents: 33
diff changeset
    93
    desc = models.TextField(verbose_name = u"Description")
18
a39549bd5b08 implemented create task view which needed task.py in events. added a method show_msg to views/user.py and used it in logoff view.
nishanth
parents: 12
diff changeset
    94
    status = models.CharField(max_length = 2, choices = STATUS_CHOICES, default = "UP")
194
e43ceb9c4ec3 added help text in models.py
nishanth
parents: 182
diff changeset
    95
    tags_field = TagField(verbose_name = u"Tags", help_text = u"Give comma seperated tags") 
1
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    96
    
219
f04a1ec7a07f Replaced the word credit with pynt
Nishanth Amuluru <nishanth@fossee.in>
parents: 218
diff changeset
    97
    pynts = models.PositiveSmallIntegerField(help_text = u"No.of pynts a user gets on completing the task")
18
a39549bd5b08 implemented create task view which needed task.py in events. added a method show_msg to views/user.py and used it in logoff view.
nishanth
parents: 12
diff changeset
    98
    progress = models.PositiveSmallIntegerField(default = 0)
1
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
    99
        
218
59107ce0a618 Replaced the word mentor with reviewer
Nishanth Amuluru <nishanth@fossee.in>
parents: 215
diff changeset
   100
    reviewers = models.ManyToManyField(User, related_name = "%(class)s_reviewers")
10
bf0cbea1bd12 removed views.py and made it a package. added auth_profile to settings.py
nishanth
parents: 1
diff changeset
   101
    created_by = models.ForeignKey(User, related_name = "%(class)s_created_by")
bf0cbea1bd12 removed views.py and made it a package. added auth_profile to settings.py
nishanth
parents: 1
diff changeset
   102
    claimed_users = models.ManyToManyField(User, blank = True, related_name = "%(class)s_claimed_users")
bf0cbea1bd12 removed views.py and made it a package. added auth_profile to settings.py
nishanth
parents: 1
diff changeset
   103
    assigned_users = models.ManyToManyField(User, blank = True, related_name = "%(class)s_assigned_users")
1
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
   104
    
10
bf0cbea1bd12 removed views.py and made it a package. added auth_profile to settings.py
nishanth
parents: 1
diff changeset
   105
    creation_datetime = models.DateTimeField()
124
6d92b7cd2a37 taking care if publish task post request is made again. added published_date field to task.
nishanth
parents: 123
diff changeset
   106
    published_datetime = models.DateTimeField()
90
b2426897ff18 our task model does not meet out needs. so modified it and added a model called map. made the changes in views accordingly.phew!!!. this one took the hell out of me :( .
nishanth
parents: 86
diff changeset
   107
    sub_type = models.CharField(max_length=1, choices = (('D','Dependency'),('S','Subtask')), default = 'D')   
1
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
   108
    
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
   109
    def __unicode__(self):
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
   110
        return unicode(self.title)
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
   111
90
b2426897ff18 our task model does not meet out needs. so modified it and added a model called map. made the changes in views accordingly.phew!!!. this one took the hell out of me :( .
nishanth
parents: 86
diff changeset
   112
class Map(models.Model):
b2426897ff18 our task model does not meet out needs. so modified it and added a model called map. made the changes in views accordingly.phew!!!. this one took the hell out of me :( .
nishanth
parents: 86
diff changeset
   113
b2426897ff18 our task model does not meet out needs. so modified it and added a model called map. made the changes in views accordingly.phew!!!. this one took the hell out of me :( .
nishanth
parents: 86
diff changeset
   114
    main = models.ForeignKey('Task', related_name = "%(class)s_main")
b2426897ff18 our task model does not meet out needs. so modified it and added a model called map. made the changes in views accordingly.phew!!!. this one took the hell out of me :( .
nishanth
parents: 86
diff changeset
   115
    subs = models.ManyToManyField('Task', blank = True, null = True, related_name = "%(class)s_subs")
b2426897ff18 our task model does not meet out needs. so modified it and added a model called map. made the changes in views accordingly.phew!!!. this one took the hell out of me :( .
nishanth
parents: 86
diff changeset
   116
1
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
   117
class Comment(models.Model):
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
   118
    
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
   119
    task = models.ForeignKey('Task')
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
   120
    data = models.TextField()
10
bf0cbea1bd12 removed views.py and made it a package. added auth_profile to settings.py
nishanth
parents: 1
diff changeset
   121
    created_by = models.ForeignKey(User, related_name = "%(class)s_created_by")
bf0cbea1bd12 removed views.py and made it a package. added auth_profile to settings.py
nishanth
parents: 1
diff changeset
   122
    creation_datetime = models.DateTimeField()
59
f6a3bf088a9e made changes to models.
anoop
parents: 58
diff changeset
   123
    deleted_by = models.ForeignKey(User, null = True, blank = True, related_name = "%(class)s_deleted_by")
112
eadff01e395e now task page displays only undeleted comments. and publish task removes previous comments.
nishanth
parents: 107
diff changeset
   124
    is_deleted = models.BooleanField()
59
f6a3bf088a9e made changes to models.
anoop
parents: 58
diff changeset
   125
    attachment = models.FileField(upload_to = UPLOADS_DIR, blank = True)
1
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
   126
    
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
   127
    def __unicode__(self):
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
   128
        return unicode(self.task.title)
7818992cbf83 Created taskapp and added data to models.py and edited settings.py to make it usable in admin interface.
Nishanth <nishanth@fossee.in>
parents:
diff changeset
   129
51
89463859712c added request and notification models.
nishanth
parents: 49
diff changeset
   130
class Request(models.Model):
89463859712c added request and notification models.
nishanth
parents: 49
diff changeset
   131
85
9cf299c47990 changed request model.
anoop
parents: 83
diff changeset
   132
    sent_to = models.ManyToManyField(User, related_name = "%(class)s_sent_to", blank = False)
9cf299c47990 changed request model.
anoop
parents: 83
diff changeset
   133
    sent_by = models.ForeignKey(User, related_name = "%(class)s_sent_by", blank = False)
51
89463859712c added request and notification models.
nishanth
parents: 49
diff changeset
   134
    role = models.CharField(max_length = 2, blank = False)
116
cb7f54ed5866 modified request model.
nishanth
parents: 115
diff changeset
   135
    reply = models.BooleanField(default = False, blank = False)
104
d1bdd5d6c1a6 added the field remarks in request model.
nishanth
parents: 90
diff changeset
   136
    remarks = models.TextField(default = "",blank = True)
119
39ab7c460143 did lots and now id field in task is a random key
nishanth
parents: 118
diff changeset
   137
    
116
cb7f54ed5866 modified request model.
nishanth
parents: 115
diff changeset
   138
    is_read = models.BooleanField(default = False, blank = False)
cb7f54ed5866 modified request model.
nishanth
parents: 115
diff changeset
   139
    is_valid = models.BooleanField(default = True, blank = False)
119
39ab7c460143 did lots and now id field in task is a random key
nishanth
parents: 118
diff changeset
   140
    
51
89463859712c added request and notification models.
nishanth
parents: 49
diff changeset
   141
    creation_date = models.DateTimeField()
89463859712c added request and notification models.
nishanth
parents: 49
diff changeset
   142
    reply_date = models.DateTimeField()
85
9cf299c47990 changed request model.
anoop
parents: 83
diff changeset
   143
    is_replied = models.BooleanField(default = False)
86
fcbdf372857c modified requests to match the new model.
nishanth
parents: 85
diff changeset
   144
    replied_by = models.ForeignKey(User, related_name = "%(class)s_replied_by", blank = True, null = True)
119
39ab7c460143 did lots and now id field in task is a random key
nishanth
parents: 118
diff changeset
   145
    
59
f6a3bf088a9e made changes to models.
anoop
parents: 58
diff changeset
   146
    task = models.ForeignKey(Task,related_name = "%(class)s_task", blank = True, null = True)
85
9cf299c47990 changed request model.
anoop
parents: 83
diff changeset
   147
    receiving_user = models.ForeignKey(User, related_name = "%(class)s_receiving_user", blank = True, null = True)
80
8917b190c4c4 added attribute pynts to request model.
anoop
parents: 71
diff changeset
   148
    pynts = models.PositiveIntegerField(default=0)
51
89463859712c added request and notification models.
nishanth
parents: 49
diff changeset
   149
83
fd2e1bd7af82 added accept_assign_credits request
nishanth
parents: 80
diff changeset
   150
    def __unicode__(self):
fd2e1bd7af82 added accept_assign_credits request
nishanth
parents: 80
diff changeset
   151
86
fcbdf372857c modified requests to match the new model.
nishanth
parents: 85
diff changeset
   152
        return u"Request %s %s"%(self.sent_by.username, self.role)
83
fd2e1bd7af82 added accept_assign_credits request
nishanth
parents: 80
diff changeset
   153
51
89463859712c added request and notification models.
nishanth
parents: 49
diff changeset
   154
class Notification(models.Model):
89463859712c added request and notification models.
nishanth
parents: 49
diff changeset
   155
128
f34e3a3e1439 modified the notifications model. the sent_to is now a foreign key. now if we have a new type to be added, we can generate message and sub while creating notification. we can keep track of history using the role field in notification and task/sent_from
nishanth
parents: 124
diff changeset
   156
    role = models.CharField(max_length = 2, choices = NOTIFY_CHOICES, blank = False)
f34e3a3e1439 modified the notifications model. the sent_to is now a foreign key. now if we have a new type to be added, we can generate message and sub while creating notification. we can keep track of history using the role field in notification and task/sent_from
nishanth
parents: 124
diff changeset
   157
    sent_to = models.ForeignKey(User, related_name = "%(class)s_sent_to", blank = False)
129
e747da8bc110 notifications work for approving and rejecting credits.
nishanth
parents: 128
diff changeset
   158
    sent_from = models.ForeignKey(User, related_name = "%(class)s_sent_from", null = True, blank = True)
204
fa1da06d25c9 now claims are read from notifications. we can ditchax claims model now.
nishanth
parents: 203
diff changeset
   159
    task = models.ForeignKey(Task, related_name = "%(class)s_task", null = True, blank = True)
128
f34e3a3e1439 modified the notifications model. the sent_to is now a foreign key. now if we have a new type to be added, we can generate message and sub while creating notification. we can keep track of history using the role field in notification and task/sent_from
nishanth
parents: 124
diff changeset
   160
51
89463859712c added request and notification models.
nishanth
parents: 49
diff changeset
   161
    sub = models.CharField(max_length = 100)
89463859712c added request and notification models.
nishanth
parents: 49
diff changeset
   162
    message = models.TextField()
129
e747da8bc110 notifications work for approving and rejecting credits.
nishanth
parents: 128
diff changeset
   163
    remarks = models.CharField(max_length = 100)
123
a6b4234388c8 now notification depends on id and not pos.
nishanth
parents: 119
diff changeset
   164
a6b4234388c8 now notification depends on id and not pos.
nishanth
parents: 119
diff changeset
   165
    sent_date = models.DateTimeField()
a6b4234388c8 now notification depends on id and not pos.
nishanth
parents: 119
diff changeset
   166
    is_read = models.BooleanField(default = False)
a6b4234388c8 now notification depends on id and not pos.
nishanth
parents: 119
diff changeset
   167
    is_deleted = models.BooleanField(default = False)
130
9417ae986d2a added __unicode__ method to notification and removed useless comments in reply_to_request.
nishanth
parents: 129
diff changeset
   168
9417ae986d2a added __unicode__ method to notification and removed useless comments in reply_to_request.
nishanth
parents: 129
diff changeset
   169
    def __unicode__(self):
203
4774f6875a2d changed __unicode__ method of notification model.
nishanth
parents: 194
diff changeset
   170
        return u"%s %s %s"%(self.sent_to, self.message, self.sent_date.ctime())
21
c28774fe7ffd implemented "add another mentor" functionality to a task.
nishanth
parents: 18
diff changeset
   171
    
220
807e4b701a20 added a submit_report link for each task
Nishanth Amuluru <nishanth@fossee.in>
parents: 219
diff changeset
   172
class WorkReport(models.Model):
807e4b701a20 added a submit_report link for each task
Nishanth Amuluru <nishanth@fossee.in>
parents: 219
diff changeset
   173
226
b4a3ec34c061 the upload of attachments works correctly now
Nishanth Amuluru <nishanth@fossee.in>
parents: 224
diff changeset
   174
    attachment = models.FileField(upload_to=IMAGES_DIR)
220
807e4b701a20 added a submit_report link for each task
Nishanth Amuluru <nishanth@fossee.in>
parents: 219
diff changeset
   175
    remarks = models.TextField()
807e4b701a20 added a submit_report link for each task
Nishanth Amuluru <nishanth@fossee.in>
parents: 219
diff changeset
   176
    revision = models.PositiveIntegerField(default=0)
807e4b701a20 added a submit_report link for each task
Nishanth Amuluru <nishanth@fossee.in>
parents: 219
diff changeset
   177
    task = models.ForeignKey(Task, related_name = "%(class)s_report")
224
c41e38f36299 added saving of attachments
Nishanth Amuluru <nishanth@fossee.in>
parents: 220
diff changeset
   178
    submitted_by = models.ForeignKey(User, related_name = "%(class)s_submitted_by")
220
807e4b701a20 added a submit_report link for each task
Nishanth Amuluru <nishanth@fossee.in>
parents: 219
diff changeset
   179
807e4b701a20 added a submit_report link for each task
Nishanth Amuluru <nishanth@fossee.in>
parents: 219
diff changeset
   180
    created_at = models.DateTimeField()
807e4b701a20 added a submit_report link for each task
Nishanth Amuluru <nishanth@fossee.in>
parents: 219
diff changeset
   181
215
84ec0ca5bc68 Added a page for displaying all the textbooks
Nishanth Amuluru <nishanth@fossee.in>
parents: 205
diff changeset
   182
#tagging.register(Profile)
84ec0ca5bc68 Added a page for displaying all the textbooks
Nishanth Amuluru <nishanth@fossee.in>
parents: 205
diff changeset
   183
#tagging.register(Task)