diff options
author | Magnus Hagander | 2015-02-14 12:07:48 +0000 |
---|---|---|
committer | Magnus Hagander | 2015-02-14 12:07:48 +0000 |
commit | 27cba025a501c9dbcfb08da0c4db95dc6111d647 (patch) | |
tree | 6c793f942597c9aee7cc31435baf8eaaabd9b3a9 /pgcommitfest/commitfest/models.py | |
parent | 4800696f20614bd2017d671a1b28df55f9952345 (diff) |
Implement simple message annotations
This feature makes it possible to "pull in" a message in a thread and highlight
it with an annotation (free text format). This will list the message in a table
along with the annotation and who made it.
Annotations have to be attached to a specific message - for a "generic" one it
makes sense to attach it to the latest message available, as that will put it
at the correct place in time.
Diffstat (limited to 'pgcommitfest/commitfest/models.py')
-rw-r--r-- | pgcommitfest/commitfest/models.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/pgcommitfest/commitfest/models.py b/pgcommitfest/commitfest/models.py index e1b83b4..0aa66dc 100644 --- a/pgcommitfest/commitfest/models.py +++ b/pgcommitfest/commitfest/models.py @@ -232,6 +232,23 @@ class MailThreadAttachment(models.Model): ordering = ('-date',) unique_together = (('mailthread', 'messageid',), ) +class MailThreadAnnotation(models.Model): + mailthread = models.ForeignKey(MailThread, null=False, blank=False) + date = models.DateTimeField(null=False, blank=False, auto_now_add=True) + user = models.ForeignKey(User, null=False, blank=False) + msgid = models.CharField(max_length=1000, null=False, blank=False) + annotationtext = models.TextField(null=False, blank=False, max_length=2000) + mailsubject = models.CharField(max_length=500, null=False, blank=False) + maildate = models.DateTimeField(null=False, blank=False) + mailauthor = models.CharField(max_length=500, null=False, blank=False) + + @property + def user_string(self): + return "%s %s (%s)" % (self.user.first_name, self.user.last_name, self.user.username) + + class Meta: + ordering = ('date', ) + class PatchStatus(models.Model): status = models.IntegerField(null=False, blank=False, primary_key=True) statusstring = models.TextField(max_length=50, null=False, blank=False) |