X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fprojects%2Fxerxes.git;a=blobdiff_plain;f=influences%2Fmodels.py;h=7ddd9d53e44300ef16d8dc054fa6626e9086f075;hp=1079b0a62b3518cf22992e8317c31a6204b15360;hb=06863704f30a2025ee82fd89a41716f5ab2cce87;hpb=0cc5c005cc3e24e3859fe00edfa01f560025a7ee diff --git a/influences/models.py b/influences/models.py index 1079b0a..7ddd9d5 100644 --- a/influences/models.py +++ b/influences/models.py @@ -1,6 +1,7 @@ from django.db import models from django.contrib.auth.models import User from django.utils.translation import ugettext_lazy as _ +from threadedcomments.models import ThreadedComment # Create your models here. class Character(models.Model): @@ -43,6 +44,26 @@ class Influence(models.Model): def __str__(self): return self.summary + def get_comments(self, private): + def quote_reply(comment): + return "\n".join(["> " + l for l in comment.comment.split("\n")]) + + # Import here to prevent dependency loop, since forms depends on + # models as well + from forms import get_influence_comment_form + + if private: + comments = ThreadedComment.objects.get_tree(self) + else: + comments = ThreadedComment.public.get_tree(self) + + # 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) + + return comments + class Meta: verbose_name = _("Influence") verbose_name_plural = _("Influences")