X-Git-Url: https://git.mdrn.pl/django-migdal.git/blobdiff_plain/336f39228c9206e9ff728b65f14d838076452a13..c176b125612945be925d25922a6fe1db4d1def50:/migdal/models.py diff --git a/migdal/models.py b/migdal/models.py index 89a194d..7cef388 100644 --- a/migdal/models.py +++ b/migdal/models.py @@ -33,31 +33,19 @@ class Category(models.Model): return 'migdal_category', [self.slug] -add_translatable(Category, { +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_query_set(self): - return super(PublishedEntryManager, self).get_query_set().filter( + def get_queryset(self): + return super(PublishedEntryManager, self).get_queryset().filter( tQ(published=True) ) -class PhotoGallery(models.Model): - key = models.CharField(max_length=64) - - def __unicode__(self): - return self.key - - -class Photo(models.Model): - gallery = models.ForeignKey(PhotoGallery) - image = models.ImageField(_('image'), upload_to='entry/photo/', null=True, blank=True) - - class Entry(models.Model): type = models.CharField( max_length=16, @@ -75,7 +63,6 @@ class Entry(models.Model): categories = models.ManyToManyField(Category, blank=True, verbose_name=_('categories')) first_published_at = models.DateTimeField(_('published at'), null=True, blank=True) canonical_url = models.URLField(_('canonical link'), null=True, blank=True) - gallery = models.ForeignKey(PhotoGallery, null=True, blank=True) objects = models.Manager() published_objects = PublishedEntryManager() @@ -90,7 +77,7 @@ class Entry(models.Model): def save(self, *args, **kwargs): published_now = False - for lc, ln in settings.LANGUAGES: + for lc, ln in app_settings.LANGUAGES: if (getattr(self, "published_%s" % lc) and getattr(self, "published_at_%s" % lc) is None): now = datetime.now() @@ -103,7 +90,7 @@ class Entry(models.Model): self.notify_author_published() def clean(self): - for lc, ln in settings.LANGUAGES: + for lc, ln in app_settings.LANGUAGES: if (getattr(self, "published_%s" % lc) and not getattr(self, "slug_%s" % lc)): raise ValidationError( @@ -145,7 +132,7 @@ add_translatable(Entry, languages=app_settings.OPTIONAL_LANGUAGES, fields={ TEXTILE_HELP = _('Use Textile syntax.') -add_translatable(Entry, { +add_translatable(Entry, languages=app_settings.LANGUAGES, fields={ 'slug': SlugNullField(unique=True, db_index=True, null=True, blank=True), 'title': models.CharField(_('title'), max_length=255, null=True, blank=True), 'lead': TextileField( @@ -167,6 +154,14 @@ class Attachment(models.Model): return self.file.url if self.file else '' +class Photo(models.Model): + image = models.ImageField(_('image'), upload_to='entry/photo/') + entry = models.ForeignKey(Entry) + + def url(self): + return self.image.url if self.image else '' + + def notify_new_comment(sender, instance, created, **kwargs): if created and isinstance(instance.content_object, Entry) and instance.content_object.author_email: site = Site.objects.get_current()