fix: format all code with black
and from now on should not deviate from that...
This commit is contained in:
parent
bad6ded72d
commit
a0b36a6384
12 changed files with 313 additions and 220 deletions
|
@ -50,21 +50,26 @@ class NewOrderBatchHandler(base.NewOrderBatchHandler):
|
|||
op_session = corepos.make_session_office_op()
|
||||
|
||||
# base query
|
||||
query = op_session.query(op_model.CustomerClassic)\
|
||||
.join(op_model.MemberInfo,
|
||||
op_model.MemberInfo.card_number == op_model.CustomerClassic.card_number)
|
||||
query = op_session.query(op_model.CustomerClassic).join(
|
||||
op_model.MemberInfo,
|
||||
op_model.MemberInfo.card_number == op_model.CustomerClassic.card_number,
|
||||
)
|
||||
|
||||
# filter query
|
||||
criteria = []
|
||||
for word in term.split():
|
||||
criteria.append(sa.or_(
|
||||
op_model.CustomerClassic.first_name.ilike(f'%{word}%'),
|
||||
op_model.CustomerClassic.last_name.ilike(f'%{word}%')))
|
||||
criteria.append(
|
||||
sa.or_(
|
||||
op_model.CustomerClassic.first_name.ilike(f"%{word}%"),
|
||||
op_model.CustomerClassic.last_name.ilike(f"%{word}%"),
|
||||
)
|
||||
)
|
||||
query = query.filter(sa.and_(*criteria))
|
||||
|
||||
# sort query
|
||||
query = query.order_by(op_model.CustomerClassic.first_name,
|
||||
op_model.CustomerClassic.last_name)
|
||||
query = query.order_by(
|
||||
op_model.CustomerClassic.first_name, op_model.CustomerClassic.last_name
|
||||
)
|
||||
|
||||
# get data
|
||||
# TODO: need max_results option
|
||||
|
@ -72,8 +77,8 @@ class NewOrderBatchHandler(base.NewOrderBatchHandler):
|
|||
|
||||
# get results
|
||||
def result(customer):
|
||||
return {'value': str(customer.card_number),
|
||||
'label': str(customer)}
|
||||
return {"value": str(customer.card_number), "label": str(customer)}
|
||||
|
||||
results = [result(c) for c in customers]
|
||||
|
||||
op_session.close()
|
||||
|
@ -86,16 +91,23 @@ class NewOrderBatchHandler(base.NewOrderBatchHandler):
|
|||
op_session = corepos.make_session_office_op()
|
||||
|
||||
if not batch.customer_id.isdigit():
|
||||
raise ValueError(f"invalid CORE-POS customer card number: {batch.customer_id}")
|
||||
raise ValueError(
|
||||
f"invalid CORE-POS customer card number: {batch.customer_id}"
|
||||
)
|
||||
|
||||
try:
|
||||
customer = op_session.query(op_model.CustomerClassic)\
|
||||
.join(op_model.MemberInfo,
|
||||
op_model.MemberInfo.card_number == op_model.CustomerClassic.card_number)\
|
||||
.filter(op_model.CustomerClassic.card_number == int(batch.customer_id))\
|
||||
.filter(op_model.CustomerClassic.person_number == 1)\
|
||||
.options(orm.joinedload(op_model.CustomerClassic.member_info))\
|
||||
.one()
|
||||
customer = (
|
||||
op_session.query(op_model.CustomerClassic)
|
||||
.join(
|
||||
op_model.MemberInfo,
|
||||
op_model.MemberInfo.card_number
|
||||
== op_model.CustomerClassic.card_number,
|
||||
)
|
||||
.filter(op_model.CustomerClassic.card_number == int(batch.customer_id))
|
||||
.filter(op_model.CustomerClassic.person_number == 1)
|
||||
.options(orm.joinedload(op_model.CustomerClassic.member_info))
|
||||
.one()
|
||||
)
|
||||
except orm.exc.NoResultFound:
|
||||
raise ValueError(f"CORE-POS Customer not found: {batch.customer_id}")
|
||||
|
||||
|
@ -117,14 +129,16 @@ class NewOrderBatchHandler(base.NewOrderBatchHandler):
|
|||
# filter query
|
||||
criteria = []
|
||||
for word in term.split():
|
||||
criteria.append(sa.or_(
|
||||
op_model.Product.brand.ilike(f'%{word}%'),
|
||||
op_model.Product.description.ilike(f'%{word}%')))
|
||||
criteria.append(
|
||||
sa.or_(
|
||||
op_model.Product.brand.ilike(f"%{word}%"),
|
||||
op_model.Product.description.ilike(f"%{word}%"),
|
||||
)
|
||||
)
|
||||
query = query.filter(sa.and_(*criteria))
|
||||
|
||||
# sort query
|
||||
query = query.order_by(op_model.Product.brand,
|
||||
op_model.Product.description)
|
||||
query = query.order_by(op_model.Product.brand, op_model.Product.description)
|
||||
|
||||
# get data
|
||||
# TODO: need max_results option
|
||||
|
@ -132,10 +146,13 @@ class NewOrderBatchHandler(base.NewOrderBatchHandler):
|
|||
|
||||
# get results
|
||||
def result(product):
|
||||
return {'value': product.upc,
|
||||
'label': self.app.make_full_name(product.brand,
|
||||
product.description,
|
||||
product.size)}
|
||||
return {
|
||||
"value": product.upc,
|
||||
"label": self.app.make_full_name(
|
||||
product.brand, product.description, product.size
|
||||
),
|
||||
}
|
||||
|
||||
results = [result(c) for c in products]
|
||||
|
||||
op_session.close()
|
||||
|
@ -148,27 +165,29 @@ class NewOrderBatchHandler(base.NewOrderBatchHandler):
|
|||
op_session = corepos.make_session_office_op()
|
||||
|
||||
try:
|
||||
product = op_session.query(op_model.Product)\
|
||||
.filter(op_model.Product.upc == product_id)\
|
||||
.one()
|
||||
product = (
|
||||
op_session.query(op_model.Product)
|
||||
.filter(op_model.Product.upc == product_id)
|
||||
.one()
|
||||
)
|
||||
except orm.exc.NoResultFound:
|
||||
raise ValueError(f"CORE-POS Product not found: {product_id}")
|
||||
|
||||
data = {
|
||||
'product_id': product.upc,
|
||||
'scancode': product.upc,
|
||||
'brand_name': product.brand,
|
||||
'description': product.description,
|
||||
'size': product.size,
|
||||
'full_description': self.app.make_full_name(product.brand,
|
||||
product.description,
|
||||
product.size),
|
||||
'weighed': product.scale,
|
||||
'special_order': False,
|
||||
'department_id': product.department_number,
|
||||
'department_name': product.department.name if product.department else None,
|
||||
'case_size': self.get_case_size_for_external_product(product),
|
||||
'unit_price_reg': self.get_unit_price_reg_for_external_product(product),
|
||||
"product_id": product.upc,
|
||||
"scancode": product.upc,
|
||||
"brand_name": product.brand,
|
||||
"description": product.description,
|
||||
"size": product.size,
|
||||
"full_description": self.app.make_full_name(
|
||||
product.brand, product.description, product.size
|
||||
),
|
||||
"weighed": product.scale,
|
||||
"special_order": False,
|
||||
"department_id": product.department_number,
|
||||
"department_name": product.department.name if product.department else None,
|
||||
"case_size": self.get_case_size_for_external_product(product),
|
||||
"unit_price_reg": self.get_unit_price_reg_for_external_product(product),
|
||||
# TODO
|
||||
# 'vendor_name': product.vendor_name,
|
||||
# 'vendor_item_code': product.vendor_item_code,
|
||||
|
@ -184,9 +203,11 @@ class NewOrderBatchHandler(base.NewOrderBatchHandler):
|
|||
op_session = corepos.make_session_office_op()
|
||||
|
||||
try:
|
||||
product = op_session.query(op_model.Product)\
|
||||
.filter(op_model.Product.upc == row.product_id)\
|
||||
.one()
|
||||
product = (
|
||||
op_session.query(op_model.Product)
|
||||
.filter(op_model.Product.upc == row.product_id)
|
||||
.one()
|
||||
)
|
||||
except orm.exc.NoResultFound:
|
||||
raise ValueError(f"CORE-POS Product not found: {row.product_id}")
|
||||
|
||||
|
@ -217,9 +238,9 @@ class NewOrderBatchHandler(base.NewOrderBatchHandler):
|
|||
if product.vendor_items:
|
||||
item = product.vendor_items[0]
|
||||
if item.units is not None:
|
||||
return decimal.Decimal(f'{item.units:0.4f}')
|
||||
return decimal.Decimal(f"{item.units:0.4f}")
|
||||
|
||||
def get_unit_price_reg_for_external_product(self, product):
|
||||
""" """
|
||||
if product.normal_price is not None:
|
||||
return decimal.Decimal(f'{product.normal_price:0.3f}')
|
||||
return decimal.Decimal(f"{product.normal_price:0.3f}")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue