summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--searx/preferences.py9
-rw-r--r--searx/templates/oscar/preferences.html9
-rwxr-xr-xsearx/webapp.py4
3 files changed, 22 insertions, 0 deletions
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') }}
+ <select class="form-control {{ custom_select_class(rtl) }}" name="advanced_search" id="advanced_search">
+ <option value="1" {% if preferences.get_value('advanced_search')%}selected="selected"{% endif %}>{{ _('On') }}</option>
+ <option value="0" {% if not preferences.get_value('advanced_search')%}selected="selected"{% endif %}>{{ _('Off')}}</option>
+ </select>
+ {{ 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,
)