Fix: Could not open bill with bill number or voucher id
This commit is contained in:
@ -59,25 +59,29 @@ def from_id(
|
||||
ProductVersion.valid_till >= Voucher.date,
|
||||
),
|
||||
)
|
||||
item: Voucher = db.execute(
|
||||
select(Voucher)
|
||||
.join(Voucher.food_table)
|
||||
.join(Voucher.customer, isouter=True)
|
||||
.join(Voucher.kots)
|
||||
.join(Kot.inventories)
|
||||
.join(Inventory.product)
|
||||
.join(ProductVersion, onclause=product_version_onclause)
|
||||
.where(Voucher.id == id_)
|
||||
.order_by(Kot.code)
|
||||
.options(
|
||||
contains_eager(Voucher.food_table),
|
||||
contains_eager(Voucher.customer),
|
||||
contains_eager(Voucher.kots)
|
||||
.contains_eager(Kot.inventories)
|
||||
.contains_eager(Inventory.product)
|
||||
.contains_eager(Product.versions),
|
||||
item: Voucher = (
|
||||
db.execute(
|
||||
select(Voucher)
|
||||
.join(Voucher.food_table)
|
||||
.join(Voucher.customer, isouter=True)
|
||||
.join(Voucher.kots)
|
||||
.join(Kot.inventories)
|
||||
.join(Inventory.product)
|
||||
.join(ProductVersion, onclause=product_version_onclause)
|
||||
.where(Voucher.id == id_)
|
||||
.order_by(Kot.code)
|
||||
.options(
|
||||
contains_eager(Voucher.food_table),
|
||||
contains_eager(Voucher.customer),
|
||||
contains_eager(Voucher.kots)
|
||||
.contains_eager(Kot.inventories)
|
||||
.contains_eager(Inventory.product)
|
||||
.contains_eager(Product.versions),
|
||||
)
|
||||
)
|
||||
).scalar_one()
|
||||
.unique()
|
||||
.scalar_one()
|
||||
)
|
||||
return voucher_info(item, db)
|
||||
|
||||
|
||||
@ -104,28 +108,32 @@ def from_bill(
|
||||
status_code=status.HTTP_422_UNPROCESSABLE_ENTITY,
|
||||
detail="Bill Number is invalid",
|
||||
)
|
||||
item: Voucher | None = db.execute(
|
||||
select(Voucher)
|
||||
.join(Voucher.bills)
|
||||
.join(Bill.regime)
|
||||
.join(Voucher.food_table)
|
||||
.join(Voucher.customer, isouter=True)
|
||||
.join(Voucher.kots)
|
||||
.join(Kot.inventories)
|
||||
.join(Inventory.product)
|
||||
.join(ProductVersion, onclause=product_version_onclause)
|
||||
.where(Regime.prefix == match.group(1), Bill.bill_number == int(match.group(2)))
|
||||
.order_by(Kot.code)
|
||||
.options(
|
||||
contains_eager(Voucher.food_table),
|
||||
contains_eager(Voucher.customer),
|
||||
contains_eager(Voucher.kots)
|
||||
.contains_eager(Kot.inventories)
|
||||
.contains_eager(Inventory.product)
|
||||
.contains_eager(Product.versions),
|
||||
contains_eager(Voucher.bills).contains_eager(Bill.regime),
|
||||
item: Voucher | None = (
|
||||
db.execute(
|
||||
select(Voucher)
|
||||
.join(Voucher.bills)
|
||||
.join(Bill.regime)
|
||||
.join(Voucher.food_table)
|
||||
.join(Voucher.customer, isouter=True)
|
||||
.join(Voucher.kots)
|
||||
.join(Kot.inventories)
|
||||
.join(Inventory.product)
|
||||
.join(ProductVersion, onclause=product_version_onclause)
|
||||
.where(Regime.prefix == match.group(1), Bill.bill_number == int(match.group(2)))
|
||||
.order_by(Kot.code)
|
||||
.options(
|
||||
contains_eager(Voucher.food_table),
|
||||
contains_eager(Voucher.customer),
|
||||
contains_eager(Voucher.kots)
|
||||
.contains_eager(Kot.inventories)
|
||||
.contains_eager(Inventory.product)
|
||||
.contains_eager(Product.versions),
|
||||
contains_eager(Voucher.bills).contains_eager(Bill.regime),
|
||||
)
|
||||
)
|
||||
).scalar_one_or_none()
|
||||
.unique()
|
||||
.scalar_one_or_none()
|
||||
)
|
||||
if item is None:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_404_NOT_FOUND,
|
||||
@ -192,8 +200,7 @@ def from_table(
|
||||
)
|
||||
)
|
||||
.unique()
|
||||
.scalars()
|
||||
.one()
|
||||
.scalar_one()
|
||||
)
|
||||
|
||||
if guest is not None:
|
||||
|
||||
Reference in New Issue
Block a user