mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-29 09:54:47 +00:00
refactor: updated mapping for maintenance schedule links in maintenance visit
This commit is contained in:
@@ -34,7 +34,7 @@ class MaintenanceSchedule(TransactionBase):
|
|||||||
count = count + 1
|
count = count + 1
|
||||||
child.sales_person = d.sales_person
|
child.sales_person = d.sales_person
|
||||||
child.completion_status = "Pending"
|
child.completion_status = "Pending"
|
||||||
child.item_ref = d.name
|
child.item_reference = d.name
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def validate_end_date_visits(self):
|
def validate_end_date_visits(self):
|
||||||
@@ -314,11 +314,12 @@ def update_serial_nos(s_id):
|
|||||||
def make_maintenance_visit(source_name, target_doc=None, item_name=None, s_id=None):
|
def make_maintenance_visit(source_name, target_doc=None, item_name=None, s_id=None):
|
||||||
from frappe.model.mapper import get_mapped_doc
|
from frappe.model.mapper import get_mapped_doc
|
||||||
|
|
||||||
def update_status(source, target, parent):
|
def update_status_and_detail(source, target, parent):
|
||||||
target.maintenance_type = "Scheduled"
|
target.maintenance_type = "Scheduled"
|
||||||
|
target.maintenance_schedule = source.name
|
||||||
|
target.maintenance_schedule_detail = s_id
|
||||||
|
|
||||||
def update_sid(source, target, parent):
|
def update_sales(source, target, parent):
|
||||||
target.prevdoc_detail_docname = s_id
|
|
||||||
sales_person = frappe.db.get_value('Maintenance Schedule Detail', s_id, 'sales_person')
|
sales_person = frappe.db.get_value('Maintenance Schedule Detail', s_id, 'sales_person')
|
||||||
target.service_person = sales_person
|
target.service_person = sales_person
|
||||||
target.serial_no = ''
|
target.serial_no = ''
|
||||||
@@ -332,16 +333,12 @@ def make_maintenance_visit(source_name, target_doc=None, item_name=None, s_id=No
|
|||||||
"validation": {
|
"validation": {
|
||||||
"docstatus": ["=", 1]
|
"docstatus": ["=", 1]
|
||||||
},
|
},
|
||||||
"postprocess": update_status
|
"postprocess": update_status_and_detail
|
||||||
},
|
},
|
||||||
"Maintenance Schedule Item": {
|
"Maintenance Schedule Item": {
|
||||||
"doctype": "Maintenance Visit Purpose",
|
"doctype": "Maintenance Visit Purpose",
|
||||||
"field_map": {
|
|
||||||
"parent": "prevdoc_docname",
|
|
||||||
"parenttype": "prevdoc_doctype",
|
|
||||||
},
|
|
||||||
"condition": lambda doc: doc.item_name == item_name,
|
"condition": lambda doc: doc.item_name == item_name,
|
||||||
"postprocess": update_sid
|
"postprocess": update_sales
|
||||||
}
|
}
|
||||||
}, target_doc)
|
}, target_doc)
|
||||||
|
|
||||||
|
|||||||
@@ -57,16 +57,18 @@ class TestMaintenanceSchedule(unittest.TestCase):
|
|||||||
test = make_maintenance_visit(source_name = ms.name, item_name = "_Test Item", s_id = s_id)
|
test = make_maintenance_visit(source_name = ms.name, item_name = "_Test Item", s_id = s_id)
|
||||||
visit = frappe.new_doc('Maintenance Visit')
|
visit = frappe.new_doc('Maintenance Visit')
|
||||||
visit = test
|
visit = test
|
||||||
|
visit.maintenance_schedule = ms.name
|
||||||
|
visit.maintenance_schedule_detail = s_id
|
||||||
visit.completion_status = "Partially Completed"
|
visit.completion_status = "Partially Completed"
|
||||||
|
|
||||||
visit.set('purposes', [{
|
visit.set('purposes', [{
|
||||||
'item_code': i.item_code,
|
'item_code': i.item_code,
|
||||||
'description': "test",
|
'description': "test",
|
||||||
'work_done': "test",
|
'work_done': "test",
|
||||||
|
'service_person': "Sales Team",
|
||||||
'prevdoc_docname' :ms.name,
|
'prevdoc_docname' :ms.name,
|
||||||
'prevdoc_doctype': ms.doctype,
|
'prevdoc_doctype': ms.doctype,
|
||||||
'prevdoc_detail_docname': s_id
|
|
||||||
}])
|
}])
|
||||||
|
visit.save()
|
||||||
visit.submit()
|
visit.submit()
|
||||||
ms = frappe.get_doc('Maintenance Schedule', ms.name)
|
ms = frappe.get_doc('Maintenance Schedule', ms.name)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user