]> git.parisson.com Git - telemeta.git/commitdiff
add Media Type filter and create new filter.html
authorafilsaime <shadow_kungfu@hotmail.fr>
Tue, 5 May 2015 13:46:45 +0000 (15:46 +0200)
committerafilsaime <shadow_kungfu@hotmail.fr>
Tue, 5 May 2015 13:46:45 +0000 (15:46 +0200)
telemeta/forms/haystack_form.py
telemeta/templates/search/filters.html [new file with mode: 0644]
telemeta/templates/search/search.html

index 701ff2c9d416131597f5d8e8696c9f4af3decbe1..67a2a082edb8e591e03623058e59d6331e634ef4 100644 (file)
@@ -13,7 +13,7 @@ class HaySearchForm(FacetedSearchForm):
             return sqs
 
         if self.cleaned_data['q']:
-            sqs = sqs.filter(content__contains=self.cleaned_data['q']).facet('item_acces').facet('item_status').facet('digitized').facet('recording_context').facet('physical_format')
+            sqs = sqs.filter(content__contains=self.cleaned_data['q']).facet('item_acces').facet('item_status').facet('digitized').facet('recording_context').facet('physical_format').facet('media_type')
 
         for facet in self.selected_facets:
             if ":" not in facet:
diff --git a/telemeta/templates/search/filters.html b/telemeta/templates/search/filters.html
new file mode 100644 (file)
index 0000000..e9f2f9f
--- /dev/null
@@ -0,0 +1,114 @@
+<div class="panel panel-default" style="font-weight:bold">
+        <div class="panel-heading" style="background-color:#6a0307;color:white;"><span class="glyphicon glyphicon-filter"></span> Filters</div>
+            <table class="table" style="font-size:0.9em">
+                <tr>
+                    {% if facets.fields.item_status %}
+                        <td>Item Status</td>
+                        {% for item_status in facets.fields.item_status %}
+                            <td><a href="{{ request.get_full_path }}&amp;selected_facets=item_status_exact:{{ item_status.0|urlencode }}">{{ item_status.0 }}</a> <span style="background-color:#6a0307" class="badge">{{ item_status.1 }}</span></td>
+                        {% endfor %}
+                    {% else %}
+                        <td>Item Status</td>
+                        <td>None</td>
+                    {% endif %}
+                </tr>
+                <tr>
+                {% if facets.fields.digitized %}
+                    <td>Player Status</td>
+                    {% for digitized in facets.fields.digitized %}
+                        {% ifequal digitized.0 'T' %}
+                            <td><a href="{{ request.get_full_path }}&amp;selected_facets=digitized_exact:{{ digitized.0|urlencode }}">Sound</a> <span style="background-color:#6a0307" class="badge">{{ digitized.1 }}</span></td><td></td>
+                        {% endifequal %}
+                    {% endfor %}
+                    {% if digitized_count == 0 %}
+                        <td> Sound <span class="badge">0</span></td><td></td>
+                    {% endif %}
+                {% else %}
+                    <td>Player Status</td>
+                    <td>None</td>
+                {% endif %}
+            </tr>
+            <tr>
+                {% if facets.fields.item_acces %}
+                    <td>Access Right</td>
+                    {% if viewable_count != 0 %}
+                        <td><a href="{{ request.get_full_path }}&amp;selected_facets=item_acces_exact:{{ 'viewable'|urlencode }}">viewable</a> <span style="background-color:#6a0307" class="badge">{{viewable_count}}</span></td><td></td>
+                    {% endif %}
+                    {% if viewable_count == 0 %}
+                        <td>viewable <span class="badge">{{viewable_count}}</span></td><td></td>
+                    {% endif %}
+                    {% comment %}
+                        {% for item_acces in facets.fields.item_acces %}
+                        {# Faire un booleen dans la vue, le passer en contexte puis verifier si il est a true ou a false pour l'affichage' #}
+                            {% ifequal item_acces.0 'none' %}
+                                <td><a href="{{ request.get_full_path }}&amp;selected_facets=item_acces_exact:{{ item_acces.0|urlencode }}">{{ item_acces.0 }}</a> <span class="badge">{{ item_acces.1 }}</span></td>
+                            {% endifequal %}
+                        {% endfor %}
+                    {%endcomment%}
+                {% else %}
+                    <td>Access Right</td>
+                    <td>None</td>
+                {% endif %}
+            </tr>
+        </table>
+    <div class="btn-group btn-group-justified">
+        <div class="btn-group" role="group" >
+            <button type="button " class="btn btn-default dropdown-toggle" data-toggle="dropdown" style="background-color:#6a0307;color:white;font-weight:bold;text-align:left">
+                    <span class="glyphicon glyphicon-chevron-down"></span> Other Filters
+            </button>
+            <div class="dropdown-menu" role="menu" style="width:100%">
+                <table class="table" style="font-size:0.9em">
+                    <tr>
+                        {% if facets.fields.media_type %}
+                            <td>Media Type</td>
+                            {% for media_type in facets.fields.media_type %}
+                                {% ifequal media_type.0 'audio'%}
+                                    <td><a href="{{ request.get_full_path }}&amp;selected_facets=media_type_exact:{{ media_type.0|urlencode }}">{{ media_type.0 }}</a> <span style="background-color:#6a0307" class="badge">{{ media_type.1 }}</span></td>
+                                {% endifequal %}
+                                {% ifequal media_type.0 'video'%}
+                                    <td><a href="{{ request.get_full_path }}&amp;selected_facets=media_type_exact:{{ media_type.0|urlencode }}">{{ media_type.0 }}</a> <span style="background-color:#6a0307" class="badge">{{ media_type.1 }}</span></td>
+                                {% endifequal %}
+                            {% endfor %}
+                        {% endif %}
+                    </tr>
+                    <tr>
+                        {% if facets.fields.recording_context %}
+                            <td>Recording Context</td>
+                            {% for recording_context in facets.fields.recording_context %}
+                                {% ifequal recording_context.0 'studio'%}
+                                    <td><a href="{{ request.get_full_path }}&amp;selected_facets=recording_context_exact:{{ recording_context.0|urlencode }}">{{ recording_context.0 }}</a> <span style="background-color:#6a0307" class="badge">{{ recording_context.1 }}</span></td>
+                                {% endifequal %}
+                                {% ifequal recording_context.0 'radio'%}
+                                    <td><a href="{{ request.get_full_path }}&amp;selected_facets=recording_context_exact:{{ recording_context.0|urlencode }}">{{ recording_context.0 }}</a> <span style="background-color:#6a0307" class="badge">{{ recording_context.1 }}</span></td>
+                                {% endifequal %}
+                                {% ifequal recording_context.0 'terrain'%}
+                                    <td><a href="{{ request.get_full_path }}&amp;selected_facets=recording_context_exact:{{ recording_context.0|urlencode }}">{{ recording_context.0 }}</a> <span style="background-color:#6a0307" class="badge">{{ recording_context.1 }}</span></td>
+                                {% endifequal %}
+                            {% endfor %}
+                        {% endif %}
+                    </tr>
+                    <tr>
+                        {% if facets.fields.physical_format %}
+                            <td>Physical Format</td>
+                            {% for physical_format in facets.fields.physical_format %}
+                                {% ifequal physical_format.0 'CDR'%}
+                                    <td><a href="{{ request.get_full_path }}&amp;selected_facets=physical_format_exact:{{ physical_format.0|urlencode }}">{{ physical_format.0 }}</a> <span style="background-color:#6a0307" class="badge">{{ physical_format.1 }}</span></td>
+                                {% endifequal %}
+                                {% ifequal physical_format.0 'disque'%}
+                                    <td><a href="{{ request.get_full_path }}&amp;selected_facets=physical_format_exact:{{ physical_format.0|urlencode }}">{{ physical_format.0 }}</a> <span style="background-color:#6a0307" class="badge">{{ physical_format.1 }}</span></td>
+                                {% endifequal %}
+                                {% ifequal physical_format.0 'cylindre'%}
+                                    <td><a href="{{ request.get_full_path }}&amp;selected_facets=physical_format_exact:{{ physical_format.0|urlencode }}">{{ physical_format.0 }}</a> <span style="background-color:#6a0307" class="badge">{{ physical_format.1 }}</span></td>
+                                {% endifequal %}
+                            {% endfor %}
+                        {% endif %}
+                    </tr>
+                </table>
+            </div>
+        </div>
+    </div>
+</div>
+{% if selected_facets %}
+     <p> <span class="glyphicon glyphicon-filter"/> selected filters :
+         {{selected_facets|join:" + "}}</b></p>
+ {% endif %}
\ No newline at end of file
index 8ea2a8759a4894c34e0eb3be613cc3dfe61eecf6..1f78a75899077415f2ac996a530ff9ec330ec622 100644 (file)
                     <p><b><a href="{% url "haystack_search_type" "item" %}?{{request.GET.urlencode}}">Items ({{item_count}}) </a>| Collections ({{collection_count}})</b></p>
                 {% endifequal %}
              {% endifequal %}
-            <div class="panel panel-default" style="font-weight:bold">
-                <div class="panel-heading" style="background-color:#6a0307;color:white;"><span class="glyphicon glyphicon-filter"></span> Filters</div>
-                <table class="table" style="font-size:0.9em">
-                    <tr>
-                        {% if facets.fields.item_status %}
-                            <td>Item Status</td>
-                            {% for item_status in facets.fields.item_status %}
-                                <td><a href="{{ request.get_full_path }}&amp;selected_facets=item_status_exact:{{ item_status.0|urlencode }}">{{ item_status.0 }}</a> <span style="background-color:#6a0307" class="badge">{{ item_status.1 }}</span></td>
-                            {% endfor %}
-                        {% else %}
-                            <p>No acces facets.</p>
-                        {% endif %}
-                    </tr>
-                    <tr>
-                        {% if facets.fields.digitized %}
-                            <td>Player Status</td>
-                            {% for digitized in facets.fields.digitized %}
-                                {% ifequal digitized.0 'T' %}
-                                    <td><a href="{{ request.get_full_path }}&amp;selected_facets=digitized_exact:{{ digitized.0|urlencode }}">Sound</a> <span style="background-color:#6a0307" class="badge">{{ digitized.1 }}</span></td><td></td>
-                                {% endifequal %}
-                            {% endfor %}
-                            {% if digitized_count == 0 %}
-                                <td> Sound <span class="badge">0</span></td><td></td>
-                            {% endif %}
-                        {% else %}
-                            <p>No acces facets.</p>
-                        {% endif %}
-                    </tr>
-                    <tr>
-                        {% if facets.fields.item_acces %}
-                            <td>Access Right</td>
-                            {% if viewable_count != 0 %}
-                                <td><a href="{{ request.get_full_path }}&amp;selected_facets=item_acces_exact:{{ 'viewable'|urlencode }}">viewable</a> <span style="background-color:#6a0307" class="badge">{{viewable_count}}</span></td><td></td>
-                            {% endif %}
-                            {% if viewable_count == 0 %}
-                                <td>viewable <span class="badge">{{viewable_count}}</span></td><td></td>
-                            {% endif %}
-                            {% comment %}
-                                {% for item_acces in facets.fields.item_acces %}
-                                {# Faire un booleen dans la vue, le passer en contexte puis verifier si il est a true ou a false pour l'affichage' #}
-                                    {% ifequal item_acces.0 'none' %}
-                                        <td><a href="{{ request.get_full_path }}&amp;selected_facets=item_acces_exact:{{ item_acces.0|urlencode }}">{{ item_acces.0 }}</a> <span class="badge">{{ item_acces.1 }}</span></td>
-                                    {% endifequal %}
-                                {% endfor %}
-                            {%endcomment%}
-                        {% else %}
-                            <p>No acces facets.</p>
-                        {% endif %}
-                    </tr>
-                </table>
-                <div class="btn-group btn-group-justified">
-                    <div class="btn-group" role="group" >
-                        <button type="button " class="btn btn-default dropdown-toggle" data-toggle="dropdown" style="background-color:#6a0307;color:white;font-weight:bold;text-align:left">
-                            <span class="glyphicon glyphicon-chevron-down"></span> Other Filters
-                        </button>
-                        <div class="dropdown-menu" role="menu" style="width:100%">
-                            <table class="table" style="font-size:0.9em">
-                                <tr>
-                                    {% if facets.fields.recording_context %}
-                                        <td>Recording Context</td>
-                                        {% for recording_context in facets.fields.recording_context %}
-                                            {% ifequal recording_context.0 'studio'%}
-                                                <td><a href="{{ request.get_full_path }}&amp;selected_facets=recording_context_exact:{{ recording_context.0|urlencode }}">{{ recording_context.0 }}</a> <span style="background-color:#6a0307" class="badge">{{ recording_context.1 }}</span></td>
-                                            {% endifequal %}
-                                            {% ifequal recording_context.0 'radio'%}
-                                                <td><a href="{{ request.get_full_path }}&amp;selected_facets=recording_context_exact:{{ recording_context.0|urlencode }}">{{ recording_context.0 }}</a> <span style="background-color:#6a0307" class="badge">{{ recording_context.1 }}</span></td>
-                                            {% endifequal %}
-                                            {% ifequal recording_context.0 'terrain'%}
-                                                <td><a href="{{ request.get_full_path }}&amp;selected_facets=recording_context_exact:{{ recording_context.0|urlencode }}">{{ recording_context.0 }}</a> <span style="background-color:#6a0307" class="badge">{{ recording_context.1 }}</span></td>
-                                            {% endifequal %}
-                                        {% endfor %}
-                                    {% endif %}
-                                </tr>
-                                <tr>
-                                    {% if facets.fields.physical_format %}
-                                        <td>Physical Format</td>
-                                        {% for physical_format in facets.fields.physical_format %}
-                                            {% ifequal physical_format.0 'CDR'%}
-                                                <td><a href="{{ request.get_full_path }}&amp;selected_facets=physical_format_exact:{{ physical_format.0|urlencode }}">{{ physical_format.0 }}</a> <span style="background-color:#6a0307" class="badge">{{ physical_format.1 }}</span></td>
-                                            {% endifequal %}
-                                            {% ifequal physical_format.0 'disque'%}
-                                                <td><a href="{{ request.get_full_path }}&amp;selected_facets=physical_format_exact:{{ physical_format.0|urlencode }}">{{ physical_format.0 }}</a> <span style="background-color:#6a0307" class="badge">{{ physical_format.1 }}</span></td>
-                                            {% endifequal %}
-                                            {% ifequal physical_format.0 'cylindre'%}
-                                                <td><a href="{{ request.get_full_path }}&amp;selected_facets=physical_format_exact:{{ physical_format.0|urlencode }}">{{ physical_format.0 }}</a> <span style="background-color:#6a0307" class="badge">{{ physical_format.1 }}</span></td>
-                                            {% endifequal %}
-                                        {% endfor %}
-                                    {% endif %}
-                                </tr>
-                            </table>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            {% if selected_facets %}
-                 <p><b> &raquo; selected facets :
-                     {{selected_facets|join:" + "}}
-             {% endif %}</b></p>
+             {% include "search/filters.html" %}
              {% with object_list as items %}
                 <div class="fullpage">
                     {% ifequal type 'item' %}