* fix: allow manual asset receipt mov from nowhere (#36093)
(cherry picked from commit 4aaa1a15d7)
# Conflicts:
# erpnext/assets/doctype/asset_movement/asset_movement.py
* chore: fix conflict
---------
Co-authored-by: Anand Baburajan <anandbaburajan@gmail.com>
This commit is contained in:
@@ -63,7 +63,7 @@ frappe.ui.form.on('Asset Movement', {
|
|||||||
fieldnames_to_be_altered = {
|
fieldnames_to_be_altered = {
|
||||||
target_location: { read_only: 0, reqd: 1 },
|
target_location: { read_only: 0, reqd: 1 },
|
||||||
source_location: { read_only: 1, reqd: 0 },
|
source_location: { read_only: 1, reqd: 0 },
|
||||||
from_employee: { read_only: 0, reqd: 1 },
|
from_employee: { read_only: 0, reqd: 0 },
|
||||||
to_employee: { read_only: 1, reqd: 0 }
|
to_employee: { read_only: 1, reqd: 0 }
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,30 +63,20 @@ class AssetMovement(Document):
|
|||||||
frappe.throw(_("Source and Target Location cannot be same"))
|
frappe.throw(_("Source and Target Location cannot be same"))
|
||||||
|
|
||||||
if self.purpose == "Receipt":
|
if self.purpose == "Receipt":
|
||||||
# only when asset is bought and first entry is made
|
if not (d.source_location or d.from_employee) and not (d.target_location or d.to_employee):
|
||||||
if not d.source_location and not (d.target_location or d.to_employee):
|
|
||||||
frappe.throw(
|
frappe.throw(
|
||||||
_("Target Location or To Employee is required while receiving Asset {0}").format(d.asset)
|
_("Target Location or To Employee is required while receiving Asset {0}").format(d.asset)
|
||||||
)
|
)
|
||||||
elif d.source_location:
|
elif d.from_employee and not d.target_location:
|
||||||
# when asset is received from an employee
|
frappe.throw(
|
||||||
if d.target_location and not d.from_employee:
|
_("Target Location is required while receiving Asset {0} from an employee").format(d.asset)
|
||||||
frappe.throw(
|
)
|
||||||
_("From employee is required while receiving Asset {0} to a target location").format(
|
elif d.to_employee and d.target_location:
|
||||||
d.asset
|
frappe.throw(
|
||||||
)
|
_(
|
||||||
)
|
"Asset {0} cannot be received at a location and given to an employee in a single movement"
|
||||||
if d.from_employee and not d.target_location:
|
).format(d.asset)
|
||||||
frappe.throw(
|
)
|
||||||
_("Target Location is required while receiving Asset {0} from an employee").format(d.asset)
|
|
||||||
)
|
|
||||||
if d.to_employee and d.target_location:
|
|
||||||
frappe.throw(
|
|
||||||
_(
|
|
||||||
"Asset {0} cannot be received at a location and \
|
|
||||||
given to employee in a single movement"
|
|
||||||
).format(d.asset)
|
|
||||||
)
|
|
||||||
|
|
||||||
def validate_employee(self):
|
def validate_employee(self):
|
||||||
for d in self.assets:
|
for d in self.assets:
|
||||||
|
|||||||
Reference in New Issue
Block a user