12
12
from django.conf import settings
14
14
from pybb.markups import mypostmarkup
15
from pybb.util import urlize, memoize_method, unescape
15
from pybb.util import urlize, unescape
16
16
from pybb import settings as pybb_settings
18
18
from django.conf import settings
85
85
name = models.CharField(_('Name'), max_length=80)
86
86
position = models.IntegerField(_('Position'), blank=True, default=0)
87
87
description = models.TextField(_('Description'), blank=True, default='')
88
moderators = models.ManyToManyField(
89
User, blank=True, verbose_name=_('Moderators'))
90
88
updated = models.DateTimeField(_('Updated'), null=True)
91
89
moderator_group = models.ForeignKey(
361
359
return u'T[%d], U[%d]: %s' % (self.topic.id, self.user.id, unicode(self.time))
364
class PrivateMessage(RenderableItem):
366
dst_user = models.ForeignKey(User, verbose_name=_(
367
'Recipient'), related_name='dst_users')
368
src_user = models.ForeignKey(User, verbose_name=_(
369
'Author'), related_name='src_users')
370
read = models.BooleanField(_('Read'), blank=True, default=False)
371
created = models.DateTimeField(_('Created'), blank=True)
372
markup = models.CharField(_('Markup'), max_length=15,
373
default=pybb_settings.DEFAULT_MARKUP, choices=MARKUP_CHOICES)
374
subject = models.CharField(_('Subject'), max_length=255)
375
body = models.TextField(_('Message'))
376
body_html = models.TextField(_('HTML version'))
377
body_text = models.TextField(_('Text version'))
380
ordering = ['-created']
381
verbose_name = _('Private message')
382
verbose_name_plural = _('Private messages')
384
# TODO: summary and part of the save method is the same as in the Post model
385
# move to common functions
388
tail = len(self.body) > LIMIT and '...' or ''
389
return self.body[:LIMIT] + tail
391
def __unicode__(self):
394
def save(self, *args, **kwargs):
395
if self.created is None:
396
self.created = datetime.now()
399
new = self.id is None
400
super(PrivateMessage, self).save(*args, **kwargs)
402
def get_absolute_url(self):
403
return reverse('pybb_show_pm', args=[self.id])
406
362
class Attachment(models.Model):
407
363
post = models.ForeignKey(Post, verbose_name=_(
408
364
'Post'), related_name='attachments')