search enhancements
cover search enhancements
Take layer name into account when searching for recipes and change recipe search results behavior so that when a single search result is returned, it redirects to that recipe detail view.
[YOCTO #6618]
Alex Franco (2):
[layerindex-web] views.py: single result redirect [layerindex-web] views.py: layer in recipe search
layerindex/views.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
Signature · 1 line
2.6.1
PATCH 1/2 views.py: single result redirect
When the recipe search returns a single result, redirect to it instead of showing the full result list view.
[YOCTO #6618]
Signed-off-by Alex Franco <[email protected]>
--- layerindex/views.py | 6 ++++++ 1 file changed, 6 insertions(+)
layerindex/views.py +6 -0
@@ -368,6 +368,12 @@ class RecipeSearchView(ListView): context_object_name = 'recipe_list' paginate_by = 50 + def render_to_response(self, context, **kwargs): + if len(self.object_list) == 1: + return HttpResponseRedirect("/layerindex/recipe/%s/" % self.object_list[0].id) + else: + return super(ListView, self).render_to_response(context, **kwargs) + def get_queryset(self): _check_url_branch(self.kwargs) query_string = self.request.GET.get('q', '')
Signature · 1 line
2.6.1
PATCH 2/2 views.py: layer in recipe search
In reply to Alex FrancoTake layer name into account when searching for recipes. This is accomplished by adding a layer name to the simplesearch.getquery call in the recipe search view.
[YOCTO #6618]
Signed-off-by Alex Franco <[email protected]>
--- layerindex/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
layerindex/views.py +1 -1
@@ -379,7 +379,7 @@ class RecipeSearchView(ListView): query_string = self.request.GET.get('q', '') init_qs = Recipe.objects.filter(layerbranch__branch__name=self.kwargs['branch']) if query_string.strip(): - entry_query = simplesearch.get_query(query_string, ['pn', 'summary', 'description', 'filename']) + entry_query = simplesearch.get_query(query_string, ['pn', 'summary', 'description', 'filename', 'layerbranch__layer__name']) qs = init_qs.filter(entry_query).order_by('pn', 'layerbranch__layer') else: if 'q' in self.request.GET:
Signature · 1 line
2.6.1