X-Git-Url: https://git.mdrn.pl/prawokultury.git/blobdiff_plain/44090c986d9a16f6913047c25319c446bb9308ad..9f02a501d14c64933d1cea2107cf0bd5ff93d429:/migdal/models.py?ds=sidebyside diff --git a/migdal/models.py b/migdal/models.py index d735ba6..97fbab3 100644 --- a/migdal/models.py +++ b/migdal/models.py @@ -6,10 +6,13 @@ from django.db import models from django.utils.translation import get_language, ugettext_lazy as _, ugettext from markupfield.fields import MarkupField from migdal.helpers import add_translatable -from migdal import settings +from migdal import app_settings + class Category(models.Model): + taxonomy = models.CharField(_('taxonomy'), max_length=32, + choices=app_settings.TAXONOMIES) class Meta: verbose_name = _('category') @@ -30,15 +33,13 @@ add_translatable(Category, { class Entry(models.Model): - #type = models.CharField(max_length=16, - # choices=((t.db, t.slug) for t in settings.TYPES), - # db_index=True) type = models.CharField(max_length=16, - choices=((t.db, t.slug) for t in settings.TYPES), + choices=((t.db, t.slug) for t in app_settings.TYPES), db_index=True) date = models.DateTimeField(auto_now_add=True, db_index=True) author = models.CharField(_('author'), max_length=128) - author_email = models.EmailField(_('author email'), max_length=128, null=True, blank=True) + author_email = models.EmailField(_('author email'), max_length=128, null=True, blank=True, + help_text=_('Used only to display gravatar and send notifications.')) image = models.ImageField(_('image'), upload_to='entry/image/', null=True, blank=True) promo = models.BooleanField(_('promoted'), default=False) categories = models.ManyToManyField(Category, null=True, blank=True) @@ -53,7 +54,7 @@ class Entry(models.Model): def save(self, *args, **kwargs): # convert blank to null for slug uniqueness check to work - for lc, ln in settings.OPTIONAL_LANGUAGES: + for lc, ln in app_settings.OPTIONAL_LANGUAGES: slug_name = "slug_%s" % lc if hasattr(self, slug_name) == u'': setattr(self, slug_name, None) @@ -64,31 +65,25 @@ class Entry(models.Model): return ('migdal_entry_%s' % self.type, [self.slug]) def get_type(self): - return dict(settings.TYPES_DICT)[self.type] - - -add_translatable(Entry, languages=settings.OBLIGATORY_LANGUAGES, fields={ - 'slug': models.SlugField(unique=True, db_index=True), - 'title': models.CharField(_('title'), max_length=255), - 'lead': MarkupField(_('lead'), markup_type='textile_pl'), -}) + return dict(app_settings.TYPES_DICT)[self.type] -add_translatable(Entry, languages=settings.OPTIONAL_LANGUAGES, fields={ - 'slug': models.SlugField(unique=True, db_index=True, null=True, blank=True), - 'title': models.CharField(_('title'), max_length=255, null=True, blank=True), - 'lead': MarkupField(_('lead'), markup_type='textile_pl', null=True, blank=True), +add_translatable(Entry, languages=app_settings.OPTIONAL_LANGUAGES, fields={ 'needed': models.CharField(_('needed'), max_length=1, db_index=True, choices=( ('n', _('Unneeded')), ('w', _('Needed')), ('y', _('Done'))), default='n'), }) add_translatable(Entry, { - 'body': MarkupField(_('body'), markup_type='textile_pl', null=True, blank=True), + 'slug': models.SlugField(unique=True, db_index=True, null=True, blank=True), + 'title': models.CharField(_('title'), max_length=255, null=True, blank=True), + 'lead': MarkupField(_('lead'), markup_type='textile_pl', null=True, blank=True, + help_text=_('Use Textile syntax.')), + 'body': MarkupField(_('body'), markup_type='textile_pl', null=True, blank=True, + help_text=_('Use Textile syntax.')), 'published': models.BooleanField(_('published'), default=False), }) - class Attachment(models.Model): file = models.FileField(_('file'), upload_to='entry/attach/') entry = models.ForeignKey(Entry)