fix: Serial No. filters for unscheduled visits
This commit is contained in:
parent
773ed2ba7b
commit
dec7513773
@ -305,7 +305,7 @@ class MaintenanceSchedule(TransactionBase):
|
|||||||
return schedule.name
|
return schedule.name
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def update_serial_nos(item_code, schedule=None):
|
def get_serial_nos_from_schedule(item_code, schedule=None):
|
||||||
serial_nos = []
|
serial_nos = []
|
||||||
if schedule:
|
if schedule:
|
||||||
serial_nos = frappe.db.get_value('Maintenance Schedule Item', {
|
serial_nos = frappe.db.get_value('Maintenance Schedule Item', {
|
||||||
|
|||||||
@ -7,8 +7,8 @@ import frappe
|
|||||||
from frappe.utils.data import add_days, formatdate, today
|
from frappe.utils.data import add_days, formatdate, today
|
||||||
|
|
||||||
from erpnext.maintenance.doctype.maintenance_schedule.maintenance_schedule import (
|
from erpnext.maintenance.doctype.maintenance_schedule.maintenance_schedule import (
|
||||||
|
get_serial_nos_from_schedule,
|
||||||
make_maintenance_visit,
|
make_maintenance_visit,
|
||||||
update_serial_nos,
|
|
||||||
)
|
)
|
||||||
from erpnext.stock.doctype.item.test_item import create_item
|
from erpnext.stock.doctype.item.test_item import create_item
|
||||||
from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item
|
from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item
|
||||||
@ -93,7 +93,7 @@ class TestMaintenanceSchedule(unittest.TestCase):
|
|||||||
s_item = ms.schedules[0]
|
s_item = ms.schedules[0]
|
||||||
mv = make_maintenance_visit(source_name=ms.name, item_name=item_code, s_id=s_item.name)
|
mv = make_maintenance_visit(source_name=ms.name, item_name=item_code, s_id=s_item.name)
|
||||||
mvi = mv.purposes[0]
|
mvi = mv.purposes[0]
|
||||||
serial_nos = update_serial_nos(mvi.item_name, ms.name)
|
serial_nos = get_serial_nos_from_schedule(mvi.item_name, ms.name)
|
||||||
self.assertEqual(serial_nos, None)
|
self.assertEqual(serial_nos, None)
|
||||||
|
|
||||||
# With serial no. set in schedule -> returns serial nos.
|
# With serial no. set in schedule -> returns serial nos.
|
||||||
@ -104,7 +104,7 @@ class TestMaintenanceSchedule(unittest.TestCase):
|
|||||||
s_item = ms.schedules[0]
|
s_item = ms.schedules[0]
|
||||||
mv = make_maintenance_visit(source_name=ms.name, item_name=item_code, s_id=s_item.name)
|
mv = make_maintenance_visit(source_name=ms.name, item_name=item_code, s_id=s_item.name)
|
||||||
mvi = mv.purposes[0]
|
mvi = mv.purposes[0]
|
||||||
serial_nos = update_serial_nos(mvi.item_name, ms.name)
|
serial_nos = get_serial_nos_from_schedule(mvi.item_name, ms.name)
|
||||||
self.assertEqual(serial_nos, ["TEST001", "TEST002"])
|
self.assertEqual(serial_nos, ["TEST001", "TEST002"])
|
||||||
|
|
||||||
frappe.db.rollback()
|
frappe.db.rollback()
|
||||||
|
|||||||
@ -13,7 +13,7 @@ frappe.ui.form.on('Maintenance Visit', {
|
|||||||
if (frm.doc.maintenance_type === "Scheduled") {
|
if (frm.doc.maintenance_type === "Scheduled") {
|
||||||
let item_code = frm.doc.purposes[0].item_code;
|
let item_code = frm.doc.purposes[0].item_code;
|
||||||
frappe.call({
|
frappe.call({
|
||||||
method: "erpnext.maintenance.doctype.maintenance_schedule.maintenance_schedule.update_serial_nos",
|
method: "erpnext.maintenance.doctype.maintenance_schedule.maintenance_schedule.get_serial_nos_from_schedule",
|
||||||
args: {
|
args: {
|
||||||
schedule: frm.doc.maintenance_schedule,
|
schedule: frm.doc.maintenance_schedule,
|
||||||
item_code: item_code
|
item_code: item_code
|
||||||
@ -36,6 +36,15 @@ frappe.ui.form.on('Maintenance Visit', {
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
frm.set_query('serial_no', 'purposes', (frm, cdt, cdn) => {
|
||||||
|
let row = locals[cdt][cdn];
|
||||||
|
return {
|
||||||
|
filters: {
|
||||||
|
'item_code': row.item_code
|
||||||
|
}
|
||||||
|
};
|
||||||
|
});
|
||||||
}
|
}
|
||||||
if (!frm.doc.status) {
|
if (!frm.doc.status) {
|
||||||
frm.set_value({ status: 'Draft' });
|
frm.set_value({ status: 'Draft' });
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user