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)
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)
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
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), })