diff --git a/searx/preferences.py b/searx/preferences.py index e5ad6ead7..b37f0104a 100644 --- a/searx/preferences.py +++ b/searx/preferences.py @@ -395,6 +395,15 @@ class Preferences: settings['ui'].get('theme_args', {}).get('oscar_style', 'logicodev'), is_locked('oscar-style'), choices=['', 'logicodev', 'logicodev-dark', 'pointhi']), + 'advanced_search': MapSetting( + settings['ui'].get('advanced_search', False), + map={ + '0': False, + '1': True, + 'False': False, + 'True': True + } + ), } self.engines = EnginesSetting('engines', choices=engines) diff --git a/searx/templates/oscar/preferences.html b/searx/templates/oscar/preferences.html index b596f66d8..bc688dade 100644 --- a/searx/templates/oscar/preferences.html +++ b/searx/templates/oscar/preferences.html @@ -140,6 +140,15 @@ {{ preferences_item_footer(info, label, rtl) }} {% endif %} + {% set label = _('Show advanced settings') %} + {% set info = _('Show advanced settings panel in the home page by default') %} + {{ preferences_item_header(info, label, rtl, 'advanced_search') }} + + {{ preferences_item_footer(info, label, rtl) }} + {% if 'doi_resolver' not in locked_preferences %} {% set label = _('Open Access DOI resolver') %} {% set info = _('Redirect to open-access versions of publications when available (plugin required)') %} diff --git a/searx/webapp.py b/searx/webapp.py index 2a93c3765..c0530a834 100755 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -545,6 +545,9 @@ def index_error(output_format, error_message): def index(): """Render index page.""" + # UI + advanced_search = request.form.get('advanced_search', request.preferences.get_value('advanced_search')) + # redirect to search if there's a query in the request if request.form.get('q'): query = ('?' + request.query_string.decode()) if request.query_string else '' @@ -553,6 +556,7 @@ def index(): return render( 'index.html', selected_categories=get_selected_categories(request.preferences, request.form), + advanced_search=advanced_search, )