Ejemplo n.º 1
0
    class Meta:
        verbose_name = 'inline'
        verbose_name_plural = 'inlines'

    def __unicode__(self):
        return self.title

class Photo(models.Model):
    """ An article can have multiple photo's """
    photo = models.ImageField(_('photo'), upload_to=upload_to_photo)
    title = models.CharField(_('title'),
                             max_length=256,
                             help_text=_('This will be shown when people hover above the photo.'))
    date_added = models.DateTimeField(_('date added'),
                                      auto_now_add=True)

    def __unicode__(self):
        return '%(title)s' % {'title': self.title }

    @property
    def slug(self):
        return slugify(self.title)

    class Meta:
        verbose_name = _('photo')
        verbose_name_plural = _('photo\'s')
        ordering = ['-date_added']

publisa.register(Article, allow_banners=True, admin_preview=True)
Ejemplo n.º 2
0
    def get_absolute_url(self):
        return ('columnadia-column-detail', (), {'columnist': self.columnist.slug,
                                                 'column': self.slug})

    def publish_banner_image(self):
        return self.columnist.headshot

    @property
    def publish_rss_title(self):
        return '%(author)s: %(title)s' % {'author': self.columnist,
                                          'title': self.title }

    @property
    def publish_rss_description(self):
        return '%(description)s' % {'description': self.teaser_or_body }

    @property
    def teaser_or_body(self):
        """ If the teaser is not filled in, than return the body """
        if not self.teaser:
            return self.body_html
        else: return self.teaser_html

    def save(self, force_insert=False, force_update=False):
        """ Overwrite the save model so the HTML parts get filled in """
        self.teaser_html = markdown.markdown(self.teaser)
        self.body_html = markdown.markdown(self.body)
        super(Column, self).save(force_insert=force_insert, force_update=force_update)

publisa.register(Column, allow_banners=True, admin_preview=True)