projects
/
matthijs
/
projects
/
xerxes.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use the rewrap function for wrapping comments.
[matthijs/projects/xerxes.git]
/
influences
/
models.py
diff --git
a/influences/models.py
b/influences/models.py
index 7ddd9d53e44300ef16d8dc054fa6626e9086f075..78daa15992304ee33882f4da9922ee38a930f3c7 100644
(file)
--- a/
influences/models.py
+++ b/
influences/models.py
@@
-1,7
+1,10
@@
from django.db import models
from django.db import models
+from django.core.urlresolvers import reverse
from django.contrib.auth.models import User
from django.contrib.auth.models import User
+from django.utils.text import normalize_newlines
from django.utils.translation import ugettext_lazy as _
from threadedcomments.models import ThreadedComment
from django.utils.translation import ugettext_lazy as _
from threadedcomments.models import ThreadedComment
+from xerxes.tools.text import rewrap
# Create your models here.
class Character(models.Model):
# Create your models here.
class Character(models.Model):
@@
-18,6
+21,9
@@
class Character(models.Model):
def __str__(self):
return self.name
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")
class Meta:
verbose_name = _("Character")
verbose_name_plural = _("Characters")
@@
-44,9
+50,21
@@
class Influence(models.Model):
def __str__(self):
return self.summary
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):
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):
def quote_reply(comment):
- return "\n".join(["> " + l for l in comment.comment.split("\n")])
+ regex = "^([ >]*)(.*)$"
+ text = rewrap(normalize_newlines(comment.comment), 72, regex)
+ return "\n".join(["> " + l for l in text.split("\n")])
# Import here to prevent dependency loop, since forms depends on
# models as well
# Import here to prevent dependency loop, since forms depends on
# models as well
@@
-60,8
+78,10
@@
class Influence(models.Model):
# Annotate each comment with a proper reply form
for comment in comments:
initial = { 'comment' : quote_reply(comment) }
# 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:
return comments
class Meta: