[fix] fix of / and /search

* URL / : the index page displayed the selected or the default category.
* URL / : when the q parameter is set using the URL, the redirect includes the URL query.
* URL /search : an empty query doesn't raise an exception.
This commit is contained in:
Alexandre Flament 2020-11-06 12:11:52 +01:00
parent c03e4c86bc
commit b3a3ccf2db
2 changed files with 29 additions and 4 deletions

View file

@ -537,10 +537,12 @@ def index():
# redirect to search if there's a query in the request
if request.form.get('q'):
return redirect(url_for('search'), 308)
query = ('?' + request.query_string.decode()) if request.query_string else ''
return redirect(url_for('search') + query, 308)
return render(
'index.html',
selected_categories=get_selected_categories(request.preferences, request.form),
)
@ -556,8 +558,8 @@ def search():
if output_format not in ['html', 'csv', 'json', 'rss']:
output_format = 'html'
# check if there is query
if request.form.get('q') is None:
# check if there is query (not None and not an empty string)
if not request.form.get('q'):
if output_format == 'html':
return render(
'index.html',