projects
/
matthijs
/
projects
/
xerxes.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add code to support disabling new influences.
[matthijs/projects/xerxes.git]
/
influences
/
models.py
diff --git
a/influences/models.py
b/influences/models.py
index 7ddd9d53e44300ef16d8dc054fa6626e9086f075..6464e683deb20a1277c4cdf2537a4be5661640b8 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):
@@
-15,9
+18,12
@@
class Character(models.Model):
status = models.CharField(max_length=2, choices=STATUS_CHOICES, default='N', verbose_name = _("Status"))
player = models.ForeignKey(User, verbose_name = _("Player"))
status = models.CharField(max_length=2, choices=STATUS_CHOICES, default='N', verbose_name = _("Status"))
player = models.ForeignKey(User, verbose_name = _("Player"))
- def __
str
__(self):
+ def __
unicode
__(self):
return self.name
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")
@@
-36,17
+42,30
@@
class Influence(models.Model):
contact = models.CharField(max_length=255, verbose_name = _("Contact Name"))
summary = models.CharField(max_length=255, verbose_name = _("Summary"))
description = models.TextField(verbose_name = _("Description"))
contact = models.CharField(max_length=255, verbose_name = _("Contact Name"))
summary = models.CharField(max_length=255, verbose_name = _("Summary"))
description = models.TextField(verbose_name = _("Description"))
- status = models.TextField(max_length=1, choices=STATUS_CHOICES, default='N', verbose_name = _("Status"))
+ todo = models.TextField(blank=True, verbose_name = _("Todo"))
+ status = models.CharField(max_length=1, choices=STATUS_CHOICES, default='N', verbose_name = _("Status"))
longterm = models.BooleanField(default=False, verbose_name = _("Long term"))
result = models.TextField(blank=True,verbose_name = _("Result"))
longterm = models.BooleanField(default=False, verbose_name = _("Long term"))
result = models.TextField(blank=True,verbose_name = _("Result"))
- def __
str
__(self):
+ def __
unicode
__(self):
return self.summary
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
+79,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: