Search: Use GET instead of POST in Search Form

Closes #33
This commit is contained in:
David Andreev 2016-09-06 09:45:38 +02:00
parent 84b564fd87
commit c1c84a1e44
6 changed files with 11 additions and 7 deletions

View File

@ -23,8 +23,8 @@ from indico_search.controllers import RHSearch, RHSearchCategoryTitles
blueprint = IndicoPluginBlueprint('search', 'indico_search')
blueprint.add_url_rule('/search', 'search', RHSearch, methods=('GET', 'POST'))
blueprint.add_url_rule('/category/<int:category_id>/search', 'search', RHSearch, methods=('GET', 'POST'))
blueprint.add_url_rule('/event/<confId>/search', 'search', RHSearch, methods=('GET', 'POST'))
blueprint.add_url_rule('/search', 'search', RHSearch)
blueprint.add_url_rule('/category/<int:category_id>/search', 'search', RHSearch)
blueprint.add_url_rule('/event/<confId>/search', 'search', RHSearch)
blueprint.add_url_rule('/category/search-titles', 'category_names', RHSearchCategoryTitles)

View File

@ -45,7 +45,7 @@ class RHSearch(RHCustomizable):
def _process(self):
with current_plugin.engine_plugin.plugin_context():
form = current_plugin.search_form(prefix='search-', csrf_enabled=False)
form = current_plugin.search_form(formdata=request.args, prefix='search-', csrf_enabled=False)
result = None
if form.validate_on_submit():
result = current_plugin.perform_search(form.data, self.obj)

View File

@ -16,6 +16,7 @@
from __future__ import unicode_literals
from flask import request
from wtforms.ext.dateutil.fields import DateField
from wtforms.fields.core import StringField, SelectField
from wtforms.validators import Optional
@ -38,3 +39,6 @@ class SearchForm(IndicoForm):
field = SelectField(_('Search in'), choices=FIELD_CHOICES, default='')
start_date = DateField('Start Date', [Optional()], parse_kwargs={'dayfirst': True})
end_date = DateField('End Date', [Optional()], parse_kwargs={'dayfirst': True})
def is_submitted(self):
return 'search-phrase' in request.args

View File

@ -24,7 +24,7 @@
{% block banner %}{% endblock %}
</div>
{{ form_header(form, i_form=false) }}
{{ form_header(form, method='get', i_form=false) }}
<div>
{{ form.phrase() }}
<input type="submit" value="{% trans %}Search{% endtrans %}">

View File

@ -1,6 +1,6 @@
{% from 'forms/_form.html' import form_header, form_footer %}
{{ form_header(form, action=url_for_plugin('search.search'), id='category-search-form', i_form=false) }}
{{ form_header(form, method='get', action=url_for_plugin('search.search'), id='category-search-form', i_form=false) }}
<div class="search-box" id="category-search-box">
<div class="search-controls">
<div class="search-button icon-search"></div>

View File

@ -1,7 +1,7 @@
{% from 'forms/_form.html' import form_header, form_footer %}
<div class="confSearchBox">
{{ form_header(form, action=url_for_plugin('search.search', event), classes='UIForm', i_form=false) }}
{{ form_header(form, method='get', action=url_for_plugin('search.search', event), classes='UIForm', i_form=false) }}
<input class="searchButton" type="submit" value="{% trans %}Search{% endtrans %}">
{{ form.phrase(class_='searchField', id='conference-search-phrase') }}
{% block extra_fields %}{% endblock %}