on master help sign in
Add preference for displaying advanced settings
b00f770renyhp
searx/preferences.py+9
@@ -395,6 +395,15 @@ class Preferences:
395 settings['ui'].get('theme_args', {}).get('oscar_style', 'logicodev'),
395 settings['ui'].get('theme_args', {}).get('oscar_style', 'logicodev'),
396 is_locked('oscar-style'),
396 is_locked('oscar-style'),
397 choices=['', 'logicodev', 'logicodev-dark', 'pointhi']),
397 choices=['', 'logicodev', 'logicodev-dark', 'pointhi']),
398+ 'advanced_search': MapSetting(
399+ settings['ui'].get('advanced_search', False),
400+ map={
401+ '0': False,
402+ '1': True,
403+ 'False': False,
404+ 'True': True
405+ }
406+ ),
398 }
407 }
399
408
400 self.engines = EnginesSetting('engines', choices=engines)
409 self.engines = EnginesSetting('engines', choices=engines)
searx/templates/oscar/preferences.html+9
@@ -140,6 +140,15 @@
140 {{ preferences_item_footer(info, label, rtl) }}
140 {{ preferences_item_footer(info, label, rtl) }}
141 {% endif %}
141 {% endif %}
142
142
143+ {% set label = _('Show advanced settings') %}
144+ {% set info = _('Show advanced settings panel in the home page by default') %}
145+ {{ preferences_item_header(info, label, rtl, 'advanced_search') }}
146+ <select class="form-control {{ custom_select_class(rtl) }}" name="advanced_search" id="advanced_search">
147+ <option value="1" {% if preferences.get_value('advanced_search')%}selected="selected"{% endif %}>{{ _('On') }}</option>
148+ <option value="0" {% if not preferences.get_value('advanced_search')%}selected="selected"{% endif %}>{{ _('Off')}}</option>
149+ </select>
150+ {{ preferences_item_footer(info, label, rtl) }}
151+
143 {% if 'doi_resolver' not in locked_preferences %}
152 {% if 'doi_resolver' not in locked_preferences %}
144 {% set label = _('Open Access DOI resolver') %}
153 {% set label = _('Open Access DOI resolver') %}
145 {% set info = _('Redirect to open-access versions of publications when available (plugin required)') %}
154 {% set info = _('Redirect to open-access versions of publications when available (plugin required)') %}
searx/webapp.py+4
@@ -545,6 +545,9 @@ def index_error(output_format, error_message):
545def index():
545def index():
546 """Render index page."""
546 """Render index page."""
547
547
548+ # UI
549+ advanced_search = request.form.get('advanced_search', request.preferences.get_value('advanced_search'))
550+
548 # redirect to search if there's a query in the request
551 # redirect to search if there's a query in the request
549 if request.form.get('q'):
552 if request.form.get('q'):
550 query = ('?' + request.query_string.decode()) if request.query_string else ''
553 query = ('?' + request.query_string.decode()) if request.query_string else ''
@@ -553,6 +556,7 @@ def index():
553 return render(
556 return render(
554 'index.html',
557 'index.html',
555 selected_categories=get_selected_categories(request.preferences, request.form),
558 selected_categories=get_selected_categories(request.preferences, request.form),
559+ advanced_search=advanced_search,
556 )
560 )
557
561
558
562