Work on orders and related

This commit is contained in:
Scott Idem
2021-11-19 17:37:03 -05:00
parent e805e69dc7
commit 195b5097a4
3 changed files with 31 additions and 11 deletions

View File

@@ -296,7 +296,7 @@ def get_order_rec_list(
data = {} data = {}
data[f'{for_obj_type}_id'] = for_obj_id data[f'{for_obj_type}_id'] = for_obj_id
# data['for_obj_type'] = for_obj_type # data['for_obj_type'] = for_obj_type
sql_obj_type_id = f'`tbl`.{for_obj_type}_id = :{for_obj_type}_id' sql_obj_type_id = f'`order`.{for_obj_type}_id = :{for_obj_type}_id'
# allowed_status_li = ['started', 'in progress', 'complete', 'all'] # OLD list # allowed_status_li = ['started', 'in progress', 'complete', 'all'] # OLD list
# allowed_status_li = ['open', 'locked', 'reopened', 'closed', 'canceled', 'other'] # NEW list # allowed_status_li = ['open', 'locked', 'reopened', 'closed', 'canceled', 'other'] # NEW list
@@ -305,26 +305,39 @@ def get_order_rec_list(
if status in allowed_status_li: if status in allowed_status_li:
if status == 'closed' or status == 'complete': if status == 'closed' or status == 'complete':
data['status'] = ['closed', 'complete'] data['status'] = ['closed', 'complete']
sql_status = f'AND `tbl`.status IN :status' sql_status = f'AND `order`.status IN :status'
elif status == 'locked' or status == 'in progress': elif status == 'locked' or status == 'in progress':
data['status'] = ['locked', 'in progress'] data['status'] = ['locked', 'in progress']
sql_status = f'AND `tbl`.status IN :status' sql_status = f'AND `order`.status IN :status'
else: else:
data['status'] = status data['status'] = status
sql_status = f'AND `tbl`.status = :status' sql_status = f'AND `order`.status = :status'
elif status == 'all': elif status == 'all':
sql_status = '' sql_status = ''
else: else:
log.warning('The status value passed is not allowed. Returning None') log.warning('The status value passed is not allowed. Returning None')
return False return False
if from_datetime and to_datetime:
data['from_datetime'] = from_datetime
data['to_datetime'] = to_datetime
sql_from_to_datetime = f'AND `order`.created_on >= :from_datetime AND `order`.created_on <= :to_datetime'
elif from_datetime:
data['from_datetime'] = from_datetime
sql_from_to_datetime = f'AND `order`.created_on >= :from_datetime'
elif to_datetime:
data['to_datetime'] = to_datetime
sql_from_to_datetime = f'AND `order`.created_on <= :to_datetime'
else:
sql_from_to_datetime = ''
# if enabled in ['enabled', 'disabled', 'all']: # if enabled in ['enabled', 'disabled', 'all']:
# if enabled == 'enabled': # if enabled == 'enabled':
# data['enable'] = True # data['enable'] = True
# sql_enabled = f'AND `tbl`.enable = :enable' # sql_enabled = f'AND `order`.enable = :enable'
# elif enabled == 'disabled': # elif enabled == 'disabled':
# data['enable'] = False # data['enable'] = False
# sql_enabled = f'AND `tbl`.enable = :enable' # sql_enabled = f'AND `order`.enable = :enable'
# elif enabled == 'all': # elif enabled == 'all':
# sql_enabled = '' # sql_enabled = ''
sql_enabled = '' sql_enabled = ''
@@ -336,13 +349,14 @@ def get_order_rec_list(
sql_limit = '' sql_limit = ''
sql = f""" sql = f"""
SELECT `tbl`.id AS 'order_id', `tbl`.id_random AS 'order_id_random' SELECT `order`.id AS 'order_id', `order`.id_random AS 'order_id_random'
FROM `order` AS `tbl` FROM `order` AS `order`
WHERE WHERE
{sql_obj_type_id} {sql_obj_type_id}
{sql_status} {sql_status}
{sql_from_to_datetime}
{sql_enabled} {sql_enabled}
ORDER BY `tbl`.created_on DESC, `tbl`.updated_on DESC ORDER BY `order`.created_on DESC, `order`.updated_on DESC
{sql_limit}; {sql_limit};
""" """

View File

@@ -66,12 +66,12 @@ def load_person_obj(
if person_rec := sql_select(table_name='v_person', record_id=person_id): pass if person_rec := sql_select(table_name='v_person', record_id=person_id): pass
else: return False else: return False
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL # log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(person_rec) log.debug(person_rec)
try: try:
person_obj = Person_Base(**person_rec) person_obj = Person_Base(**person_rec)
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL # log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(person_obj) log.debug(person_obj)
except ValidationError as e: except ValidationError as e:
log.error(e.json()) log.error(e.json())

View File

@@ -221,6 +221,7 @@ async def get_obj_id_order_list(
inc_order_cfg: bool = False, inc_order_cfg: bool = False,
inc_order_line_list: bool = False, inc_order_line_list: bool = False,
# inc_order_w_prod_type: str = 'all', # all, membership, fundraising, event, etc # inc_order_w_prod_type: str = 'all', # all, membership, fundraising, event, etc
inc_person: bool = False,
status: str = 'closed', # open, locked, reopened?, closed (complete), canceled, other status: str = 'closed', # open, locked, reopened?, closed (complete), canceled, other
enabled: str = 'enabled', enabled: str = 'enabled',
limit: int = 50, limit: int = 50,
@@ -239,6 +240,10 @@ async def get_obj_id_order_list(
log.warning('Likely bad request') log.warning('Likely bad request')
return mk_resp(data=False, status_code=400, response=response) # Bad Request return mk_resp(data=False, status_code=400, response=response) # Bad Request
log.debug(from_datetime)
log.debug(to_datetime)
# Updated 2021-11-19 # Updated 2021-11-19
if order_rec_list_result := get_order_rec_list( if order_rec_list_result := get_order_rec_list(
for_obj_type = obj_type, for_obj_type = obj_type,
@@ -255,6 +260,7 @@ async def get_obj_id_order_list(
order_id = order_rec.get('order_id', None), order_id = order_rec.get('order_id', None),
inc_order_cfg = inc_order_cfg, inc_order_cfg = inc_order_cfg,
inc_order_line_list = inc_order_line_list, inc_order_line_list = inc_order_line_list,
inc_person = inc_person,
enabled = enabled, enabled = enabled,
limit = limit, limit = limit,
by_alias = by_alias, by_alias = by_alias,