Skip to content

Commit

Permalink
fixed type_error in PSC_Filter_Tree
Browse files Browse the repository at this point in the history
  • Loading branch information
ayubshahab committed Jun 12, 2024
1 parent a9a73ac commit b9266cb
Showing 1 changed file with 11 additions and 11 deletions.
22 changes: 11 additions & 11 deletions usaspending_api/references/v2/views/filter_tree/psc_filter_tree.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,15 +104,16 @@ def tier_3_search(self, ancestor_array, filter_string) -> list:
)
return sorted(retval, key=lambda x: x["id"])

def build_base_filters() -> list:
def build_base_filters(self) -> list:
return [
Q(
Q(Q(length=2) & ~Q(code__startswith=PSC_GROUPS["Research and Development"]["terms"][0]))
| Q(Q(length=3) & Q(code__startswith=PSC_GROUPS["Research and Development"]["terms"][0]))
)
]

def build_ancestor_query(ancestor_array: list, query: Q) -> Q:
def build_ancestor_query(self, ancestor_array: list) -> Q:
query = Q()
if ancestor_array:
parent = ancestor_array[-1]
if len(parent) > 3:
Expand All @@ -121,7 +122,8 @@ def build_ancestor_query(ancestor_array: list, query: Q) -> Q:
query |= Q(code__startswith=parent)
return query

def build_lower_tier_query(lower_tier_nodes: list, query: Q) -> Q:
def build_lower_tier_query(self, lower_tier_nodes: list) -> Q:
query = Q()
if lower_tier_nodes:
lower_tier_codes = [
(
Expand All @@ -138,12 +140,13 @@ def build_lower_tier_query(lower_tier_nodes: list, query: Q) -> Q:
query |= Q(code=code)
return query

def build_filter_string_query(filter_string: str, query: Q) -> Q:
def build_filter_string_query(self, filter_string: str) -> Q:
query = Q()
if filter_string:
query |= Q(Q(code__icontains=filter_string) | Q(description__icontains=filter_string))
return query

def build_ancestors(object: PSC) -> list:
def build_ancestors(self, object: PSC) -> list:
ancestors = []
if object.code.isdigit():
ancestors.append("Product")
Expand All @@ -157,12 +160,9 @@ def build_ancestors(object: PSC) -> list:

def tier_2_search(self, ancestor_array, filter_string, lower_tier_nodes=None) -> list:
filters = self.build_base_filters()

query = Q()
query = self.build_ancestor_query(ancestor_array, query)
query = self.build_lower_tier_query(lower_tier_nodes, query)
query = self.build_filter_string_query(filter_string, query)
filters.append(query)
filters.append(self.build_ancestor_query(ancestor_array))
filters.append(self.build_lower_tier_query(lower_tier_nodes))
filters.append(self.build_filter_string_query(filter_string))

retval = []
for object in PSC.objects.filter(*filters):
Expand Down

0 comments on commit b9266cb

Please sign in to comment.