Consistent use of languages settings, and Django 1.10 fixes.
[django-migdal.git] / migdal / models.py
index 703ef21..7cef388 100644 (file)
@@ -33,7 +33,7 @@ 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),
 })
@@ -46,18 +46,6 @@ class PublishedEntryManager(models.Manager):
             )
 
 
-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 <a href="https://txstyle.org/article/44/an-overview-of-the-textile-syntax">Textile</a> 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()