Skip to content

Commit a435cca

Browse files
committed
Address PR feedback see HEA-651
1 parent d6c89b4 commit a435cca

File tree

6 files changed

+41
-54
lines changed

6 files changed

+41
-54
lines changed

apps/baseline/models.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -72,16 +72,16 @@ def get_search_filter(self, search_term):
7272
return (
7373
Q(code__iexact=search_term)
7474
| Q(alternate_code__iexact=search_term)
75-
| Q(name_en__iexact=search_term)
76-
| Q(name_pt__iexact=search_term)
77-
| Q(name_es__iexact=search_term)
78-
| Q(name_fr__iexact=search_term)
79-
| Q(name_ar__iexact=search_term)
80-
| Q(description_en__iexact=search_term)
81-
| Q(description_pt__iexact=search_term)
82-
| Q(description_es__iexact=search_term)
83-
| Q(description_fr__iexact=search_term)
84-
| Q(description_ar__iexact=search_term)
75+
| Q(name_en__icontains=search_term)
76+
| Q(name_pt__icontains=search_term)
77+
| Q(name_es__icontains=search_term)
78+
| Q(name_fr__icontains=search_term)
79+
| Q(name_ar__icontains=search_term)
80+
| Q(description_en__icontains=search_term)
81+
| Q(description_pt__icontains=search_term)
82+
| Q(description_es__icontains=search_term)
83+
| Q(description_fr__icontains=search_term)
84+
| Q(description_ar__icontains=search_term)
8585
)
8686

8787

apps/baseline/tests/test_viewsets.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -589,7 +589,7 @@ def test_filter_by_wealth_characteristic(self):
589589
self.assertEqual(len(response.json()), 1)
590590

591591

592-
class LivelihoodBaselineFacetedSearchTestCase(APITestCase):
592+
class LivelihoodBaselineFacetedSearchViewTestCase(APITestCase):
593593
def setUp(self):
594594
self.category1 = LivelihoodCategoryFactory()
595595
self.baseline1 = LivelihoodZoneBaselineFactory(main_livelihood_category=self.category1)

apps/baseline/viewsets.py

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from django.utils.translation import override
66
from django_filters import rest_framework as filters
77
from django_filters.filters import CharFilter
8-
from rest_framework.permissions import AllowAny, DjangoModelPermissionsOrAnonReadOnly
8+
from rest_framework.permissions import AllowAny
99
from rest_framework.renderers import JSONRenderer
1010
from rest_framework.response import Response
1111
from rest_framework.views import APIView
@@ -225,7 +225,7 @@ def filter_by_wealth_characteristic(self, queryset, name, value):
225225
"""
226226
field_lookups = [
227227
*[(field, "icontains") for field in translation_fields("wealth_characteristic__name")],
228-
("wealth_characteristic__code", "istartswith"),
228+
("wealth_characteristic__code", "iexact"),
229229
*[(field, "icontains") for field in translation_fields("wealth_characteristic__description")],
230230
("wealth_characteristic__aliases", "icontains"),
231231
]
@@ -1860,23 +1860,20 @@ def get_calculations_on_aggregates(self):
18601860
]
18611861

18621862

1863-
class LivelihoodBaselineFacetedSearch(APIView):
1863+
class LivelihoodBaselineFacetedSearchView(APIView):
18641864
"""
18651865
Performs a faceted search to find Livelihood Zone Baselines using a specified search term.
18661866
18671867
The search applies to multiple related models, filtering results based on the configured
18681868
criteria for each model. For each matching result, it calculates the number of unique
1869-
livelihodd zones associated with the filter and includes relevant metadata in the response.
1869+
livelihood zones associated with the filter and includes relevant metadata in the response.
18701870
"""
18711871

18721872
renderer_classes = [JSONRenderer]
1873-
permission_classes = [DjangoModelPermissionsOrAnonReadOnly]
1873+
permission_classes = []
18741874

18751875
def get_permissions(self):
1876-
# Bypass the queryset check for permission classes
1877-
if DjangoModelPermissionsOrAnonReadOnly in self.permission_classes:
1878-
return [AllowAny()]
1879-
return super().get_permissions()
1876+
return [AllowAny()]
18801877

18811878
def get(self, request, format=None):
18821879
"""

apps/common/models.py

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -499,30 +499,17 @@ def get_search_filter(self, search_term):
499499
return (
500500
Q(iso3166a2__iexact=search_term)
501501
| Q(iso3166a3__iexact=search_term)
502-
| Q(name__iexact=search_term)
503-
| Q(iso_en_name__iexact=search_term)
504-
| Q(iso_en_proper__iexact=search_term)
505-
| Q(iso_en_ro_name__iexact=search_term)
506-
| Q(iso_en_ro_proper__iexact=search_term)
507-
| Q(iso_fr_name__iexact=search_term)
508-
| Q(iso_fr_proper__iexact=search_term)
509-
| Q(iso_es_name__iexact=search_term)
502+
| Q(name__icontains=search_term)
503+
| Q(iso_en_name__icontains=search_term)
504+
| Q(iso_en_proper__icontains=search_term)
505+
| Q(iso_en_ro_name__icontains=search_term)
506+
| Q(iso_en_ro_proper__icontains=search_term)
507+
| Q(iso_fr_name__icontains=search_term)
508+
| Q(iso_fr_proper__icontains=search_term)
509+
| Q(iso_es_name__icontains=search_term)
510510
)
511511

512512

513-
class CountryManager(models.Manager):
514-
"""
515-
Custom manager for Country model using CountryQuerySet.
516-
"""
517-
518-
def get_queryset(self):
519-
qs = CountryQuerySet(self.model, using=self._db)
520-
return qs
521-
522-
def search(self, search_term):
523-
return self.get_queryset().search(search_term)
524-
525-
526513
class Country(models.Model):
527514
"""
528515
A Country (or dependent territory or special area of geographical interest) included in ISO 3166.
@@ -579,7 +566,7 @@ class Country(models.Model):
579566
verbose_name=_("ISO Spanish name"),
580567
help_text=_("The name in Spanish of the Country approved by the ISO 3166 Maintenance Agency"),
581568
)
582-
objects = CountryManager()
569+
objects = IdentifierManager.from_queryset(CountryQuerySet)()
583570

584571
def __str__(self):
585572
return self.iso_en_ro_name if self.iso_en_ro_name else ""
@@ -588,6 +575,9 @@ class Meta:
588575
verbose_name = _("Country")
589576
verbose_name_plural = _("Countries")
590577

578+
class ExtraMeta:
579+
identifier = ["iso_en_ro_name"]
580+
591581

592582
class Currency(models.Model):
593583
"""

apps/metadata/models.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,16 @@ class ReferenceDataQuerySet(SearchQueryMixin, models.QuerySet):
2929
def get_search_filter(self, search_term):
3030
return (
3131
Q(code__iexact=search_term)
32-
| Q(name_en__iexact=search_term)
33-
| Q(name_pt__iexact=search_term)
34-
| Q(name_es__iexact=search_term)
35-
| Q(name_fr__iexact=search_term)
36-
| Q(name_ar__iexact=search_term)
37-
| Q(description_en__iexact=search_term)
38-
| Q(description_pt__iexact=search_term)
39-
| Q(description_es__iexact=search_term)
40-
| Q(description_fr__iexact=search_term)
41-
| Q(description_ar__iexact=search_term)
32+
| Q(name_en__icontains=search_term)
33+
| Q(name_pt__icontains=search_term)
34+
| Q(name_es__icontains=search_term)
35+
| Q(name_fr__icontains=search_term)
36+
| Q(name_ar__icontains=search_term)
37+
| Q(description_en__icontains=search_term)
38+
| Q(description_pt__icontains=search_term)
39+
| Q(description_es__icontains=search_term)
40+
| Q(description_fr__icontains=search_term)
41+
| Q(description_ar__icontains=search_term)
4242
| Q(aliases__contains=[search_term.lower()])
4343
)
4444

hea/urls.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
HazardViewSet,
2525
HuntingViewSet,
2626
LivelihoodActivityViewSet,
27-
LivelihoodBaselineFacetedSearch,
27+
LivelihoodBaselineFacetedSearchView,
2828
LivelihoodProductCategoryViewSet,
2929
LivelihoodStrategyViewSet,
3030
LivelihoodZoneBaselineReportViewSet,
@@ -134,7 +134,7 @@
134134
urlpatterns += [
135135
path(
136136
"api/livelihoodbaselinefacetedsearch/",
137-
LivelihoodBaselineFacetedSearch.as_view(),
137+
LivelihoodBaselineFacetedSearchView.as_view(),
138138
name="livelihood-baseline-faceted-search",
139139
),
140140
]

0 commit comments

Comments
 (0)