mirror of
https://github.com/frappe/erpnext.git
synced 2026-09-20 03:47:11 +00:00
chore: cleanup product query
This commit is contained in:
@@ -6,7 +6,7 @@ import frappe
|
|||||||
|
|
||||||
class ProductQuery:
|
class ProductQuery:
|
||||||
"""Query engine for product listing
|
"""Query engine for product listing
|
||||||
|
|
||||||
Attributes:
|
Attributes:
|
||||||
cart_settings (Document): Settings for Cart
|
cart_settings (Document): Settings for Cart
|
||||||
fields (list): Fields to fetch in query
|
fields (list): Fields to fetch in query
|
||||||
@@ -28,19 +28,19 @@ class ProductQuery:
|
|||||||
|
|
||||||
def query(self, attributes=None, fields=None, search_term=None, start=0):
|
def query(self, attributes=None, fields=None, search_term=None, start=0):
|
||||||
"""Summary
|
"""Summary
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
attributes (dict, optional): Item Attribute filters
|
attributes (dict, optional): Item Attribute filters
|
||||||
fields (dict, optional): Field level filters
|
fields (dict, optional): Field level filters
|
||||||
search_term (str, optional): Search term to lookup
|
search_term (str, optional): Search term to lookup
|
||||||
start (int, optional): Page start
|
start (int, optional): Page start
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
list: List of results with set fields
|
list: List of results with set fields
|
||||||
"""
|
"""
|
||||||
if fields: self.build_fields_filters(fields)
|
if fields: self.build_fields_filters(fields)
|
||||||
if search_term: self.build_search_filters(search_term)
|
if search_term: self.build_search_filters(search_term)
|
||||||
|
|
||||||
result = []
|
result = []
|
||||||
|
|
||||||
if attributes:
|
if attributes:
|
||||||
@@ -74,14 +74,14 @@ class ProductQuery:
|
|||||||
|
|
||||||
def build_fields_filters(self, filters):
|
def build_fields_filters(self, filters):
|
||||||
"""Build filters for field values
|
"""Build filters for field values
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
filters (dict): Filters
|
filters (dict): Filters
|
||||||
"""
|
"""
|
||||||
for field, values in filters.items():
|
for field, values in filters.items():
|
||||||
if not values:
|
if not values:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if isinstance(values, list):
|
if isinstance(values, list):
|
||||||
# If value is a list use `IN` query
|
# If value is a list use `IN` query
|
||||||
self.filters.append([field, 'IN', values])
|
self.filters.append([field, 'IN', values])
|
||||||
@@ -91,7 +91,7 @@ class ProductQuery:
|
|||||||
|
|
||||||
def build_search_filters(self, search_term):
|
def build_search_filters(self, search_term):
|
||||||
"""Query search term in specified fields
|
"""Query search term in specified fields
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
search_term (str): Search candidate
|
search_term (str): Search candidate
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user