Display image & item count for folders.
authorAlexandre Segura <mex.zktk@gmail.com>
Wed, 19 Apr 2017 15:10:06 +0200
changeset 471 d80f62757142
parent 470 6c43539e5c67
child 472 49fd4be4c469
Display image & item count for folders.
src/iconolab/models.py
src/iconolab/templates/iconolab/collection_home.html
--- a/src/iconolab/models.py	Mon Apr 17 14:42:38 2017 +0200
+++ b/src/iconolab/models.py	Wed Apr 19 15:10:06 2017 +0200
@@ -56,6 +56,20 @@
     description = models.TextField(null=True, blank=True)
     original_id = models.CharField(max_length=256, null=True, blank=True)
 
+    @property
+    def items(self):
+        return Item.objects.filter(folders=self)
+
+    @property
+    def items_count(self):
+        return self.items.count()
+
+    @property
+    def image(self):
+        first_item = self.items.first()
+        images = Image.objects.filter(item=first_item)
+        return images.first()
+
     def __str__(self):
         return 'Folder ' + self.name
 
--- a/src/iconolab/templates/iconolab/collection_home.html	Mon Apr 17 14:42:38 2017 +0200
+++ b/src/iconolab/templates/iconolab/collection_home.html	Wed Apr 19 15:10:06 2017 +0200
@@ -21,15 +21,24 @@
         <ul class="list-unstyled">
         {% for folder in collection.folders.all %}
           <li>
-            {% if folder_guid == folder.folder_guid|slugify %}
-            <a href="{% url 'collection_home' collection_name %}">
-              <i class="fa fa-close"></i> {{ folder.name }}
-            </a>
-            {% else %}
-            <a href="{% url 'collection_home' collection_name %}?folder={{ folder.folder_guid|slugify }}">
-              <i class="fa fa-folder"></i> {{ folder.name }}
-            </a>
-            {% endif %}
+            <p class="text-center">
+              {% if folder_guid == folder.folder_guid|slugify %}
+              <a href="{% url 'collection_home' collection_name %}">
+                <i class="fa fa-close"></i> {{ folder.name }} ({{ folder.items_count }})
+              </a>
+              {% else %}
+              <a href="{% url 'collection_home' collection_name %}?folder={{ folder.folder_guid|slugify }}">
+                <i class="fa fa-folder"></i> {{ folder.name }} ({{ folder.items_count }})
+              </a>
+              {% endif %}
+            </p>
+            <p>
+            {% thumbnail folder.image.media "250x250" crop=False as folder_image %}
+              <a href="#">
+                <img src="{{ folder_image.url}}" width="100%" />
+              </a>
+            {% endthumbnail %}
+            </p>
           </li>
         {% endfor %}
         </ul>