Merge pull request #36983 from deepeshgarg007/employee_utils
chore: Update employee for tests
diff --git a/erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py b/erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py
index 3166030..eb8c16e 100644
--- a/erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py
+++ b/erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py
@@ -129,7 +129,7 @@
frappe.db.set_value("Process Payment Reconciliation", docname, "status", "Running")
job_name = f"start_processing_{docname}"
if not is_job_running(job_name):
- job = frappe.enqueue(
+ frappe.enqueue(
method="erpnext.accounts.doctype.process_payment_reconciliation.process_payment_reconciliation.reconcile_based_on_filters",
queue="long",
is_async=True,
@@ -147,7 +147,7 @@
# Resume tasks for running doc
job_name = f"start_processing_{docname}"
if not is_job_running(job_name):
- job = frappe.enqueue(
+ frappe.enqueue(
method="erpnext.accounts.doctype.process_payment_reconciliation.process_payment_reconciliation.reconcile_based_on_filters",
queue="long",
is_async=True,
@@ -224,7 +224,7 @@
job_name = f"process_{doc}_fetch_and_allocate"
if not is_job_running(job_name):
- job = frappe.enqueue(
+ frappe.enqueue(
method="erpnext.accounts.doctype.process_payment_reconciliation.process_payment_reconciliation.fetch_and_allocate",
queue="long",
timeout="3600",
@@ -245,7 +245,7 @@
if not allocated:
job_name = f"process__{doc}_fetch_and_allocate"
if not is_job_running(job_name):
- job = frappe.enqueue(
+ frappe.enqueue(
method="erpnext.accounts.doctype.process_payment_reconciliation.process_payment_reconciliation.fetch_and_allocate",
queue="long",
timeout="3600",
@@ -263,7 +263,7 @@
else:
reconcile_job_name = f"process_{doc}_reconcile"
if not is_job_running(reconcile_job_name):
- job = frappe.enqueue(
+ frappe.enqueue(
method="erpnext.accounts.doctype.process_payment_reconciliation.process_payment_reconciliation.reconcile",
queue="long",
timeout="3600",
@@ -350,7 +350,7 @@
reconcile_job_name = f"process_{doc}_reconcile"
if not is_job_running(reconcile_job_name):
- job = frappe.enqueue(
+ frappe.enqueue(
method="erpnext.accounts.doctype.process_payment_reconciliation.process_payment_reconciliation.reconcile",
queue="long",
timeout="3600",
@@ -462,7 +462,7 @@
reconcile_job_name = f"process_{doc}_reconcile"
if not is_job_running(reconcile_job_name):
- job = frappe.enqueue(
+ frappe.enqueue(
method="erpnext.accounts.doctype.process_payment_reconciliation.process_payment_reconciliation.reconcile",
queue="long",
timeout="3600",
diff --git a/erpnext/assets/doctype/asset/asset.py b/erpnext/assets/doctype/asset/asset.py
index b5a4c2d..0dbed87 100644
--- a/erpnext/assets/doctype/asset/asset.py
+++ b/erpnext/assets/doctype/asset/asset.py
@@ -46,6 +46,7 @@
self.validate_item()
self.validate_cost_center()
self.set_missing_values()
+ self.validate_finance_books()
if not self.split_from:
self.prepare_depreciation_data()
update_draft_asset_depr_schedules(self)
@@ -200,6 +201,27 @@
finance_books = get_item_details(self.item_code, self.asset_category)
self.set("finance_books", finance_books)
+ def validate_finance_books(self):
+ if not self.calculate_depreciation or len(self.finance_books) == 1:
+ return
+
+ finance_books = set()
+
+ for d in self.finance_books:
+ if d.finance_book in finance_books:
+ frappe.throw(
+ _("Row #{}: Please use a different Finance Book.").format(d.idx),
+ title=_("Duplicate Finance Book"),
+ )
+ else:
+ finance_books.add(d.finance_book)
+
+ if not d.finance_book:
+ frappe.throw(
+ _("Row #{}: Finance Book should not be empty since you're using multiple.").format(d.idx),
+ title=_("Missing Finance Book"),
+ )
+
def validate_asset_values(self):
if not self.asset_category:
self.asset_category = frappe.get_cached_value("Item", self.item_code, "asset_category")
diff --git a/erpnext/stock/report/stock_balance/stock_balance.py b/erpnext/stock/report/stock_balance/stock_balance.py
index 102c3e1..337b0ea 100644
--- a/erpnext/stock/report/stock_balance/stock_balance.py
+++ b/erpnext/stock/report/stock_balance/stock_balance.py
@@ -339,8 +339,10 @@
for field in ["item_code", "brand"]:
if not self.filters.get(field):
continue
-
- query = query.where(item_table[field] == self.filters.get(field))
+ elif field == "item_code":
+ query = query.where(item_table.name == self.filters.get(field))
+ else:
+ query = query.where(item_table[field] == self.filters.get(field))
return query