--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/iconolab/migrations/0021_folder_display_image.py Fri Apr 28 15:55:03 2017 +0200
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.5 on 2017-04-28 13:07
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('iconolab', '0020_auto_20170414_1424'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='folder',
+ name='display_image',
+ field=models.ImageField(blank=True, null=True, upload_to='uploads/'),
+ ),
+ ]
--- a/src/iconolab/models.py Fri Apr 28 11:38:44 2017 +0200
+++ b/src/iconolab/models.py Fri Apr 28 15:55:03 2017 +0200
@@ -55,6 +55,7 @@
name = models.TextField(null=False, blank=False)
description = models.TextField(null=True, blank=True)
original_id = models.CharField(max_length=256, null=True, blank=True)
+ display_image = models.ImageField(blank=True, null=True, upload_to='uploads/')
@property
def items(self):
@@ -66,9 +67,14 @@
@property
def image(self):
+ if self.display_image:
+ return self.display_image
first_item = self.items.first()
+ if not first_item:
+ return None
images = Image.objects.filter(item=first_item)
- return images.first()
+ first_image = images.first()
+ return first_image.media if first_image else None
def __str__(self):
return 'Folder ' + self.name
--- a/src/iconolab/templates/iconolab/collection_home.html Fri Apr 28 11:38:44 2017 +0200
+++ b/src/iconolab/templates/iconolab/collection_home.html Fri Apr 28 15:55:03 2017 +0200
@@ -33,7 +33,7 @@
{% endif %}
</p>
<div>
- {% thumbnail folder.image.media "250x250" crop=False as folder_image %}
+ {% thumbnail folder.image "250x250" crop=False as folder_image %}
<a href="{% if folder_guid == folder.folder_guid|slugify %}{% url 'collection_home' collection_name %}{% else %}{% url 'collection_home' collection_name %}?folder={{ folder.folder_guid|slugify }}{% endif %}">
<img src="{{ folder_image.url}}" width="100%" />
</a>