on master help sign in
Add preference for displaying advanced settings
commitb00f77059c93bc91f706b5f0c51f7db752669b09 authorrenyhp <renyhp@disroot.org> dateSun 22 Nov 2020, 18:00 (6 years ago) parent2fc3b17
3 files changed+22
searx/preferences.py+9 searx/templates/oscar/preferences.html+9 searx/webapp.py+4
searx/preferences.py+9
@@ -395,6 +395,15 @@ class Preferences:
395395 settings['ui'].get('theme_args', {}).get('oscar_style', 'logicodev'),
396396 is_locked('oscar-style'),
397397 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+ ),
398407 }
399408
400409 self.engines = EnginesSetting('engines', choices=engines)
searx/templates/oscar/preferences.html+9
@@ -140,6 +140,15 @@
140140 {{ preferences_item_footer(info, label, rtl) }}
141141 {% endif %}
142142
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+
143152 {% if 'doi_resolver' not in locked_preferences %}
144153 {% set label = _('Open Access DOI resolver') %}
145154 {% 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):
545545def index():
546546 """Render index page."""
547547
548+ # UI
549+ advanced_search = request.form.get('advanced_search', request.preferences.get_value('advanced_search'))
550+
548551 # redirect to search if there's a query in the request
549552 if request.form.get('q'):
550553 query = ('?' + request.query_string.decode()) if request.query_string else ''
@@ -553,6 +556,7 @@ def index():
553556 return render(
554557 'index.html',
555558 selected_categories=get_selected_categories(request.preferences, request.form),
559+ advanced_search=advanced_search,
556560 )
557561
558562