recipes.html: Require keyword for recipe search
cover recipes.html: Require keyword for recipe search
The following changes since commit 44386eea41a8e1bb8a3ab831613cfc1a19ff6ecd:
querysethelper: fix searching (2017-10-31 09:58:30 +1300)
are available in the git repository at:
git://git.yoctoproject.org/layerindex-web abrindle/recipe_search
http://git.yoctoproject.org/cgit.cgi/layerindex-web/log/?h=abrindle/recipe_search
Amanda Brindle (1):
recipes.html: Require keyword for recipe search
layerindex/views.py | 10 ++++++++-- templates/layerindex/distros.html | 3 ++- templates/layerindex/machines.html | 3 ++- templates/layerindex/recipes.html | 17 ++++++++++++++++- 4 files changed, 28 insertions(+), 5 deletions(-)
Signature · 1 line
2.7.4
PATCH 1/1 recipes.html: Require keyword for recipe search
Use JavaScript to check if the search box for recipe search is empty before querying the database. This will prevent the "502 Bad Gateway" error that occurs when the query takes too long due to the large list of recipes.
Add a browse button for the Machines and Distros pages.
Fixes [YOCTO #11930]
--- layerindex/views.py | 10 ++++++++-- templates/layerindex/distros.html | 3 ++- templates/layerindex/machines.html | 3 ++- templates/layerindex/recipes.html | 17 ++++++++++++++++- 4 files changed, 28 insertions(+), 5 deletions(-)
layerindex/views.py +8 -2
@@ -656,7 +656,10 @@ class MachineSearchView(ListView): def get_queryset(self): _check_url_branch(self.kwargs) - query_string = self.request.GET.get('q', '') + if self.request.GET.get('search', ''): + query_string = self.request.GET.get('q', '') + else: + query_string = "" init_qs = Machine.objects.filter(layerbranch__branch__name=self.kwargs['branch']) if query_string.strip(): entry_query = simplesearch.get_query(query_string, ['name', 'description'])
@@ -705,7 +708,10 @@ class DistroSearchView(ListView): def get_queryset(self): _check_url_branch(self.kwargs) - query_string = self.request.GET.get('q', '') + if self.request.GET.get('search', ''): + query_string = self.request.GET.get('q', '') + else: + query_string = "" init_qs = Distro.objects.filter(layerbranch__branch__name=self.kwargs['branch']) if query_string.strip(): entry_query = simplesearch.get_query(query_string, ['name', 'description'])
templates/layerindex/distros.html +2 -1
@@ -34,7 +34,8 @@ <div class="input-append"> <form id="filter-form" action="{% url 'distro_search' url_branch %}" method="get"> <input type="text" class="input-xxlarge" id="appendedInputButtons" placeholder="Search distros" name="q" value="{{ search_keyword }}" /> - <button class="btn" type="submit">search</button> + <button class="btn" type="submit" name="search" value="1">search</button> + <button class="btn" type="submit" name="browse" value="1">browse</button> </form> </div> </div>
templates/layerindex/machines.html +2 -1
@@ -33,7 +33,8 @@ <div class="input-append"> <form id="filter-form" action="{% url 'machine_search' url_branch %}" method="get"> <input type="text" class="input-xxlarge" id="appendedInputButtons" placeholder="Search machines" name="q" value="{{ search_keyword }}" /> - <button class="btn" type="submit">search</button> + <button class="btn" type="submit" name="search" value="1">search</button> + <button class="btn" type="submit" name="browse" value="1">browse</button> </form> </div> </div>
templates/layerindex/recipes.html +16 -1
@@ -32,13 +32,14 @@ <div class="row-fluid"> <div class="input-append"> - <form id="filter-form" action="{% url 'recipe_search' url_branch %}" method="get"> + <form id="filter-form" action="{% url 'recipe_search' url_branch %}" method="get" onsubmit="return validate()"> <input type="text" class="input-xxlarge" id="appendedInputButtons" placeholder="Search recipes" name="q" value="{{ search_keyword }}" /> <button class="btn" type="submit">search</button> </form> </div> </div> + <div id="error"> </div> {% if recipe_list %} <table class="table table-striped table-bordered recipestable"> <thead>
@@ -87,5 +88,19 @@ $('.icon-hdd').tooltip({title:"Inherits image"}); $('.label-inverse').tooltip(); }); + + function validate(){ + var x = document.getElementById("appendedInputButtons").value; + var error = document.getElementById("error"); + error.style.display = "none"; + if (x == ""){ + error.innerHTML = "<error>Recipe search cannot be blank</error>"; + $("error").addClass("control-group alert alert-error"); + error.style.display = "block"; + return false; + } + } + + </script> {% endblock %}
Signature · 1 line
2.7.4