Further refactoring of tag lists.
authorMarek Stępniowski <marek@stepniowski.com>
Thu, 11 Sep 2008 16:22:00 +0000 (18:22 +0200)
committerMarek Stępniowski <marek@stepniowski.com>
Thu, 11 Sep 2008 16:22:00 +0000 (18:22 +0200)
apps/catalogue/templatetags/catalogue_tags.py
apps/catalogue/views.py
wolnelektury/templates/catalogue/tagged_object_list.html

index a20b50b..51ee863 100644 (file)
@@ -192,6 +192,7 @@ def latest_blog_posts(feed_url, posts_to_show=5):
 def tag_list(tags, choices=None):
     if choices is None:
         choices = []
 def tag_list(tags, choices=None):
     if choices is None:
         choices = []
-    tag_count = len(tags)
+    if len(tags) == 1:
+        one_tag = tags[0]
     return locals()
 
     return locals()
 
index f0f3e71..56df88f 100644 (file)
@@ -73,9 +73,7 @@ def main_page(request):
     if request.user.is_authenticated():
         shelves = models.Tag.objects.filter(category='set', user=request.user)
         new_set_form = forms.NewSetForm()
     if request.user.is_authenticated():
         shelves = models.Tag.objects.filter(category='set', user=request.user)
         new_set_form = forms.NewSetForm()
-        extra_where = '(NOT catalogue_tag.category = "set" OR catalogue_tag.user_id = %d)' % request.user.id
-    else:
-        extra_where = 'NOT catalogue_tag.category = "set"'
+    extra_where = 'NOT catalogue_tag.category = "set"'
     tags = models.Tag.objects.usage_for_model(models.Book, counts=True, extra={'where': [extra_where]})
     fragment_tags = models.Tag.objects.usage_for_model(models.Fragment, counts=True,
         extra={'where': ['catalogue_tag.category = "theme"'] + [extra_where]})
     tags = models.Tag.objects.usage_for_model(models.Book, counts=True, extra={'where': [extra_where]})
     fragment_tags = models.Tag.objects.usage_for_model(models.Fragment, counts=True,
         extra={'where': ['catalogue_tag.category = "theme"'] + [extra_where]})
@@ -109,10 +107,7 @@ def tagged_object_list(request, tags=''):
     if theme_is_set:
         model = models.Fragment
     
     if theme_is_set:
         model = models.Fragment
     
-    if request.user.is_authenticated():
-        extra_where = '(NOT catalogue_tag.category = "set" OR catalogue_tag.user_id = %d)' % request.user.id
-    else:
-        extra_where = 'NOT catalogue_tag.category = "set"'
+    extra_where = 'NOT catalogue_tag.category = "set"'
     related_tags = models.Tag.objects.related_for_model(tags, model, counts=True, extra={'where': [extra_where]})
     categories = split_tags(related_tags)
 
     related_tags = models.Tag.objects.related_for_model(tags, model, counts=True, extra={'where': [extra_where]})
     categories = split_tags(related_tags)
 
index b842cb4..2bf636e 100644 (file)
     </div>
     <div id="tags-list">
         <div id="categories-list">
     </div>
     <div id="tags-list">
         <div id="categories-list">
-            {% if categories.set %}
-                <h2>Półki</h2>
-                <ul>
-                {% for set in categories.set %}
-                    <li><a href="{% catalogue_url tags set %}">{{ set }}&nbsp;({{ set.count }})</a></li>
-                {% endfor %}
-                </ul>
-            {% endif %}
             {% if categories.author %}
                 <h2>Autorzy</h2>
             {% if categories.author %}
                 <h2>Autorzy</h2>
-                <ul>
-                {% for author in categories.author %}
-                    <li><a href="{% catalogue_url tags author %}">{{ author }}&nbsp;({{ author.count }})</a></li>
-                {% endfor %}
-                </ul>
+                {% tag_list categories.author tags %}
             {% endif %}
             {% if categories.epoch %}
                 <h2>Epoki</h2>
             {% endif %}
             {% if categories.epoch %}
                 <h2>Epoki</h2>
-                <ul>
-                {% for epoch in categories.epoch %}
-                    <li><a href="{% catalogue_url tags epoch %}">{{ epoch }}&nbsp;({{ epoch.count }})</a></li>
-                {% endfor %}
-                </ul>
+                {% tag_list categories.epoch tags %}
             {% endif %}
             {% if categories.kind %}
                 <h2>Rodzaje</h2>
             {% endif %}
             {% if categories.kind %}
                 <h2>Rodzaje</h2>
-                <ul>
-                {% for kind in categories.kind %}
-                    <li><a href="{% catalogue_url tags kind %}">{{ kind }}&nbsp;({{ kind.count }})</a></li>
-                {% endfor %}
-                </ul>
+                {% tag_list categories.kind tags %}
             {% endif %}
             {% if categories.genre %}
                 <h2>Gatunki literackie</h2>
             {% endif %}
             {% if categories.genre %}
                 <h2>Gatunki literackie</h2>
-                <ul>
-                {% for genre in categories.genre %}
-                    <li><a href="{% catalogue_url tags genre %}">{{ genre }}&nbsp;({{ genre.count }})</a></li>
-                {% endfor %}
-                </ul>
+                {% tag_list categories.genre tags %}
             {% endif %}            
         </div>
         <div id="themes-list">
             {% if categories.theme %}
                 <h2>Motywy</h2>
             {% endif %}            
         </div>
         <div id="themes-list">
             {% if categories.theme %}
                 <h2>Motywy</h2>
-                <ul>
-                {% for theme in categories.theme %}
-                    <li><a href="{% catalogue_url tags theme %}">{{ theme }} ({{ theme.count }})</a></li>
-                {% endfor %}
-                </ul>
+                {% tag_list categories.theme tags %}
             {% endif %}
         </div>
         <div class="clearboth"></div>
             {% endif %}
         </div>
         <div class="clearboth"></div>