fix: enforce permission check for purchase invoice and update test to use service expense account

This commit is contained in:
ljain112
2026-03-09 19:53:57 +05:30
parent bcc542b1f9
commit a6dd07802a
2 changed files with 6 additions and 3 deletions

View File

@@ -490,6 +490,8 @@ def get_repair_cost_for_purchase_invoice(purchase_invoice: str) -> float:
if not purchase_invoice:
return 0.0
frappe.has_permission("Purchase Invoice", "read", purchase_invoice, throw=True)
expense_accounts = _get_expense_accounts_for_purchase_invoice(purchase_invoice)
if not expense_accounts:
@@ -502,7 +504,7 @@ def _get_expense_accounts_for_purchase_invoice(purchase_invoice: str) -> list[st
"""
Get expense accounts for non-stock items from the purchase invoice.
"""
pi_items = frappe.db.get_list(
pi_items = frappe.get_all(
"Purchase Invoice Item",
filters={"parent": purchase_invoice},
fields=["item_code", "expense_account", "is_fixed_asset"],

View File

@@ -343,14 +343,14 @@ class TestAssetRepair(unittest.TestCase):
company=company,
)
expense_account = frappe.db.get_value("Company", company, "default_expense_account")
service_expense_account = "Miscellaneous Expenses - TCP1"
cost_center = frappe.db.get_value("Company", company, "cost_center")
pi = make_purchase_invoice(
item_code=service_item.name,
qty=1,
rate=500,
expense_account=expense_account,
expense_account=service_expense_account,
cost_center=cost_center,
warehouse=warehouse,
update_stock=0,
@@ -466,6 +466,7 @@ def create_asset_repair(**args):
if asset.calculate_depreciation:
asset_repair.increase_in_asset_life = 12
pi = make_purchase_invoice(
item=args.item or "_Test Non Stock Item",
company=asset.company,
expense_account=frappe.db.get_value("Company", asset.company, "default_expense_account"),
cost_center=asset_repair.cost_center,