Example #1
0
    taxonomy = models.CharField(_('taxonomy'), max_length=32, choices=app_settings.TAXONOMIES)

    class Meta:
        verbose_name = _('category')
        verbose_name_plural = _('categories')

    def __unicode__(self):
        return self.title or u""

    @models.permalink
    def get_absolute_url(self):
        return 'migdal_category', [self.slug]


add_translatable(Category, {
    'title': models.CharField(max_length=64, unique=True, db_index=True),
    'slug': models.SlugField(unique=True, db_index=True),
})


class PublishedEntryManager(models.Manager):
    def get_query_set(self):
        return super(PublishedEntryManager, self).get_query_set().filter(
                tQ(published=True)
            )


class Entry(models.Model):
    type = models.CharField(
        max_length=16,
        choices=((t.db, t.slug) for t in app_settings.TYPES),
        db_index=True)
Example #2
0
    taxonomy = models.CharField(_('taxonomy'), max_length=32, choices=app_settings.TAXONOMIES)

    class Meta:
        verbose_name = _('category')
        verbose_name_plural = _('categories')

    def __unicode__(self):
        return self.title or u""

    @models.permalink
    def get_absolute_url(self):
        return 'migdal_category', [self.slug]


add_translatable(Category, languages=app_settings.LANGUAGES, fields={
    'title': models.CharField(max_length=64, unique=True, db_index=True),
    'slug': models.SlugField(unique=True, db_index=True),
})


class PublishedEntryManager(models.Manager):
    def get_queryset(self):
        return super(PublishedEntryManager, self).get_queryset().filter(
                tQ(published=True)
            )


class Entry(models.Model):
    type = models.CharField(
        max_length=16,
        choices=((t.db, t.slug) for t in app_settings.TYPES),
        db_index=True)
Example #3
0
        verbose_name = _('chunk')
        verbose_name_plural = _('chunks')

    def __unicode__(self):
        return self.key

    def cache_key(self):
        return 'chunk_' + self.key

    def save(self, *args, **kwargs):
        ret = super(Chunk, self).save(*args, **kwargs)
        cache.delete(self.cache_key())
        return ret

add_translatable(Chunk, {
    'content': MarkupField(_('content'), blank=True, markup_type='textile_pl',
        help_text=_('Use <a href="http://txstyle.org/">Textile</a> syntax.')),
})


class Attachment(models.Model):
    key = models.CharField(_('key'), help_text=_('A unique name for this attachment'), primary_key=True, max_length=255)
    attachment = models.FileField(upload_to='chunks/attachment')

    class Meta:
        ordering = ('key',)
        verbose_name, verbose_name_plural = _('attachment'), _('attachments')

    def __unicode__(self):
        return self.key
Example #4
0
    class Meta:
        verbose_name = _('event')
        verbose_name_plural = _('events')
        ordering = ['date']

    def __unicode__(self):
        return self.title

    def clean(self):
        if self.date_end:
            if self.date_end < self.date:
                raise ValidationError(
                    ugettext("End date must not be earlier than start."))
        else:
            self.date_end = self.date
        for lc, ln in settings.LANGUAGES:
            if (getattr(self, "published_%s" % lc) and
                    not getattr(self, "title_%s" % lc)):
                raise ValidationError(
                    ugettext("Published event should have a title in relevant language (%s).") % lc)


add_translatable(Event, {
    'title': models.CharField(_('title'), max_length=255, blank=True),
    'organizer': models.CharField(_('organizer'), max_length=255,
            db_index=True, blank=True),
    'place': models.CharField(_('place'), max_length=255, blank=True),
    'published': models.BooleanField(_('published'), default=False),
})