Browse Source

[fix] do not hide categorie inside preferences if there is no engine activated

Thomas Pointhuber 10 years ago
parent
commit
0978f10887

+ 1 - 1
searx/templates/courgette/preferences.html

@@ -101,7 +101,7 @@
                 <th>{{ _('Category') }}</th>
                 <th>{{ _('Allow') }} / {{ _('Block') }}</th>
             </tr>
-        {% for categ in categories %}
+        {% for categ in all_categories %}
             {% for search_engine in engines_by_category[categ] %}
 
                 {% if not search_engine.private %}

+ 1 - 1
searx/templates/default/preferences.html

@@ -89,7 +89,7 @@
             <th>{{ _('Category') }}</th>
             <th>{{ _('Allow') }} / {{ _('Block') }}</th>
         </tr>
-    {% for categ in categories %}
+    {% for categ in all_categories %}
         {% for search_engine in engines_by_category[categ] %}
 
             {% if not search_engine.private %}

+ 2 - 2
searx/templates/oscar/preferences.html

@@ -117,7 +117,7 @@
 
                 <!-- Nav tabs -->
                 <ul class="nav nav-tabs nav-justified hide_if_nojs" role="tablist" style="margin-bottom:20px;">
-                    {% for categ in categories %}
+                    {% for categ in all_categories %}
                     <li{% if loop.first %} class="active"{% endif %}><a href="#tab_engine_{{ categ|replace(' ', '_') }}" role="tab" data-toggle="tab">{{ _(categ) }}</a></li>
                     {% endfor %}
                 </ul>
@@ -128,7 +128,7 @@
 
                 <!-- Tab panes -->
                 <div class="tab-content">
-                    {% for categ in categories %}
+                    {% for categ in all_categories %}
                     <noscript><label>{{ _(categ) }}</label>
                     </noscript>
                     <div class="tab-pane{% if loop.first %} active{% endif %} active_if_nojs" id="tab_engine_{{ categ|replace(' ', '_') }}">

+ 8 - 0
searx/webapp.py

@@ -279,6 +279,12 @@ def render(template_name, override_theme=None, **kwargs):
                                     if x != 'general'
                                     and x in nonblocked_categories)
 
+    if 'all_categories' not in kwargs:
+        kwargs['all_categories'] = ['general']
+        kwargs['all_categories'].extend(x for x in
+                                        sorted(categories.keys())
+                                        if x != 'general')
+
     if 'selected_categories' not in kwargs:
         kwargs['selected_categories'] = []
         for arg in request.args:
@@ -286,11 +292,13 @@ def render(template_name, override_theme=None, **kwargs):
                 c = arg.split('_', 1)[1]
                 if c in categories:
                     kwargs['selected_categories'].append(c)
+
     if not kwargs['selected_categories']:
         cookie_categories = request.cookies.get('categories', '').split(',')
         for ccateg in cookie_categories:
             if ccateg in categories:
                 kwargs['selected_categories'].append(ccateg)
+
     if not kwargs['selected_categories']:
         kwargs['selected_categories'] = ['general']