X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=influences%2Fmodels.py;h=049cbeba4f4a7d5f6d82aba0c15439016685c014;hb=e0314624fa1da2a58161cb43359f72f255aa9b26;hp=7ddd9d53e44300ef16d8dc054fa6626e9086f075;hpb=06863704f30a2025ee82fd89a41716f5ab2cce87;p=matthijs%2Fprojects%2Fxerxes.git diff --git a/influences/models.py b/influences/models.py index 7ddd9d5..049cbeb 100644 --- a/influences/models.py +++ b/influences/models.py @@ -1,5 +1,7 @@ from django.db import models +from django.core.urlresolvers import reverse from django.contrib.auth.models import User +from django.utils.text import normalize_newlines, wrap from django.utils.translation import ugettext_lazy as _ from threadedcomments.models import ThreadedComment @@ -18,6 +20,9 @@ class Character(models.Model): def __str__(self): return self.name + def get_absolute_url(self): + return reverse('influences_influence_detail', kwargs={'object_id' : self.pk}) + class Meta: verbose_name = _("Character") verbose_name_plural = _("Characters") @@ -44,9 +49,20 @@ class Influence(models.Model): def __str__(self): return self.summary + def get_absolute_url(self): + return reverse('influences_influence_detail', kwargs={'object_id' : self.pk}) + def get_comments(self, private): + """ + Gets the comments that have been made on this Influence. Each + comment gets its reply_form attribute set to a Form appropriate + for replying to the comment. + + If private is True, private comments are included in this list. + """ def quote_reply(comment): - return "\n".join(["> " + l for l in comment.comment.split("\n")]) + text = wrap(normalize_newlines(comment.comment), 72) + return "\n".join(["> " + l for l in text.split("\n")]) # Import here to prevent dependency loop, since forms depends on # models as well @@ -60,8 +76,10 @@ class Influence(models.Model): # Annotate each comment with a proper reply form for comment in comments: initial = { 'comment' : quote_reply(comment) } - comment.reply_form = get_influence_comment_form(private, comment)(initial=initial) - + prefix = "reply-to-%s" % (comment.pk) + FormClass = get_influence_comment_form(private, comment) + comment.reply_form = FormClass(initial=initial, + prefix=prefix) return comments class Meta: