~widelands-dev/widelands-website/trunk

« back to all changes in this revision

Viewing changes to pybb/models.py

  • Committer: franku
  • Date: 2019-03-04 17:47:12 UTC
  • mfrom: (521 widelands)
  • mto: This revision was merged to the branch mainline in revision 523.
  • Revision ID: somal@arcor.de-20190304174712-rlkrxc939fmcveuo
merged trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
from django.conf import settings
13
13
 
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
17
17
 
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(
92
90
        Group,
361
359
        return u'T[%d], U[%d]: %s' % (self.topic.id, self.user.id, unicode(self.time))
362
360
 
363
361
 
364
 
class PrivateMessage(RenderableItem):
365
 
 
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'))
378
 
 
379
 
    class Meta:
380
 
        ordering = ['-created']
381
 
        verbose_name = _('Private message')
382
 
        verbose_name_plural = _('Private messages')
383
 
 
384
 
    # TODO: summary and part of the save method is the same as in the Post model
385
 
    # move to common functions
386
 
    def summary(self):
387
 
        LIMIT = 50
388
 
        tail = len(self.body) > LIMIT and '...' or ''
389
 
        return self.body[:LIMIT] + tail
390
 
 
391
 
    def __unicode__(self):
392
 
        return self.subject
393
 
 
394
 
    def save(self, *args, **kwargs):
395
 
        if self.created is None:
396
 
            self.created = datetime.now()
397
 
        self.render()
398
 
 
399
 
        new = self.id is None
400
 
        super(PrivateMessage, self).save(*args, **kwargs)
401
 
 
402
 
    def get_absolute_url(self):
403
 
        return reverse('pybb_show_pm', args=[self.id])
404
 
 
405
 
 
406
362
class Attachment(models.Model):
407
363
    post = models.ForeignKey(Post, verbose_name=_(
408
364
        'Post'), related_name='attachments')