Skip to content

Commit 4c3f49e

Browse files
authored
Merge pull request #264 from Xpirix/improve_search_feature
Enhance search functionality
2 parents 717384e + 909079b commit 4c3f49e

File tree

3 files changed

+19
-1
lines changed

3 files changed

+19
-1
lines changed

qgis-app/custom_haystack_urls.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,13 @@ def build_form(self, form_kwargs=None):
2525
sqs5 = SearchQuerySet().filter(
2626
package_name_auto=self.request.GET.get("q", "")
2727
)
28-
form_kwargs["searchqueryset"] = sqs1 | sqs2 | sqs3 | sqs4 | sqs5
28+
sqs6 = SearchQuerySet().filter(
29+
author_auto=self.request.GET.get("q", "")
30+
)
31+
sqs7 = SearchQuerySet().filter(
32+
created_by_auto=self.request.GET.get("q", "")
33+
)
34+
form_kwargs["searchqueryset"] = sqs1 | sqs2 | sqs3 | sqs4 | sqs5 | sqs6 | sqs7
2935

3036
return super(SearchWithRequest, self).build_form(form_kwargs)
3137

qgis-app/plugins/search_indexes.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,16 @@ class PluginIndex(indexes.SearchIndex, indexes.Indexable):
1111
description_auto = indexes.EdgeNgramField(model_attr="description")
1212
about_auto = indexes.EdgeNgramField(model_attr="about", default="")
1313
package_name_auto = indexes.EdgeNgramField(model_attr="package_name", default="")
14+
author_auto = indexes.EdgeNgramField(model_attr="author", default="")
15+
created_by_auto = indexes.EdgeNgramField()
16+
17+
def prepare_created_by_auto(self, obj):
18+
parts = [
19+
obj.created_by.username,
20+
obj.created_by.first_name,
21+
obj.created_by.last_name,
22+
]
23+
return " ".join(filter(None, parts))
1424

1525
def get_model(self):
1626
return Plugin

qgis-app/templates/search/indexes/plugins/plugin_text.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,7 @@
22
{{ object.description }}
33
{{ object.package_name }}
44
{{ object.created_by.username }}
5+
{{ object.created_by.first_name }}
6+
{{ object.created_by.last_name }}
57
{{ object.author }}
68
{% for tag in object.tags.all %}{{ tag }} {% endfor %}

0 commit comments

Comments
 (0)