Search: add filter for no-maintainer

This commit is contained in:
arjunsalyan
2020-05-31 16:30:41 +05:30
committed by Arjun Salyan
parent 1d4b0687d9
commit 6e9ab69ece
4 changed files with 10 additions and 0 deletions
+4
View File
@@ -22,6 +22,7 @@ class AdvancedSearchForm(FacetedSearchForm):
name = forms.BooleanField(required=False, initial=False)
livecheck_broken = forms.BooleanField(required=False, initial=False)
livecheck_outdated = forms.BooleanField(required=False, initial=False)
nomaintainer = forms.BooleanField(required=False, initial=False)
active = forms.BooleanField(required=False, initial=False)
def no_query_found(self):
@@ -56,6 +57,9 @@ class AdvancedSearchForm(FacetedSearchForm):
if self.cleaned_data['livecheck_outdated']:
f = f | SQ(livecheck_outdated=True)
if self.cleaned_data['nomaintainer']:
f = f & SQ(nomaintainer=True)
if f != SQ():
sqs = sqs.filter(f)
+4
View File
@@ -11,6 +11,7 @@ class PortIndex(indexes.SearchIndex, indexes.Indexable):
variants = indexes.MultiValueField(faceted=True)
livecheck_broken = indexes.BooleanField()
livecheck_outdated = indexes.BooleanField()
nomaintainer = indexes.BooleanField()
active = indexes.BooleanField(model_attr='active')
categories = indexes.MultiValueField(faceted=True)
@@ -23,6 +24,9 @@ class PortIndex(indexes.SearchIndex, indexes.Indexable):
def prepare_maintainers(self, obj):
return [m.github for m in obj.maintainers.all()]
def prepare_nomaintainer(self, obj):
return False if obj.maintainers.all().count() > 0 else True
def prepare_variants(self, obj):
return [v.variant for v in obj.variants.all()]
@@ -10,6 +10,7 @@
{{ c }}
{% endfor %}
{{ object.active }}
{{ object.nomaintainer }}
{{ object.name_l }}
{{ object.livecheck_outdated }}
{{ object.livecheck_error }}
+1
View File
@@ -25,6 +25,7 @@
<label class="checkbox-inline mr-2 mb-0">{{ form.livecheck_outdated }} Outdated (livecheck)</label>
<label class="checkbox-inline mr-2 mb-0">{{ form.livecheck_broken }} Livecheck errored</label>
<label class="checkbox-inline mr-2 mb-0">{{ form.show_deleted_ports }} Show deleted ports</label>
<label class="checkbox-inline mr-2 mb-0">{{ form.nomaintainer }} Only no-maintainer ports</label>
</div>
<div id="m-facets" class="mb-2">