refactor: using parent form links of maintenance schedule

This commit is contained in:
noahjacob 2021-05-27 17:44:28 +05:30
parent 3bca90dbe6
commit 7fa045c1c9

View File

@ -17,36 +17,27 @@ class MaintenanceVisit(TransactionBase):
if d.serial_no and not frappe.db.exists("Serial No", d.serial_no):
frappe.throw(_("Serial No {0} does not exist").format(d.serial_no))
def validate_mntc_date(self):
if self.maintenance_type == "Scheduled":
p = self.purposes
for i in p:
detail_ref = i.prevdoc_detail_docname
item_ref = frappe.db.get_value('Maintenance Schedule Detail', detail_ref , 'item_ref')
def validate_maintenance_date(self):
if self.maintenance_type == "Scheduled" and self.maintenance_schedule_detail:
item_ref = frappe.db.get_value('Maintenance Schedule Detail', self.maintenance_schedule_detail, 'item_reference')
start_date, end_date = frappe.db.get_value('Maintenance Schedule Item', item_ref, ['start_date', 'end_date'])
if get_datetime(self.mntc_date) < get_datetime(start_date) or get_datetime(self.mntc_date) > get_datetime(end_date):
frappe.throw(_("Date must be between {0} and {1}").format(start_date,end_date))
frappe.throw(_("Date must be between {0} and {1}").format(start_date, end_date))
def validate(self):
self.validate_serial_no()
self.validate_mntc_date()
def get_schedule_datail_ref(self):
if self.maintenance_type == "Scheduled":
p = self.purposes
for i in p:
detail_ref = i.prevdoc_detail_docname
return detail_ref
self.validate_maintenance_date()
def update_completion_status(self):
detail_ref = self.get_schedule_datail_ref()
frappe.db.set_value('Maintenance Schedule Detail', detail_ref, 'completion_status', self.completion_status)
if self.maintenance_schedule_detail:
frappe.db.set_value('Maintenance Schedule Detail', self.maintenance_schedule_detail, 'completion_status', self.completion_status)
def update_actual_date(self):
detail_ref = self.get_schedule_datail_ref()
frappe.db.set_value('Maintenance Schedule Detail', detail_ref, 'actual_date', self.mntc_date)
if self.maintenance_schedule_detail:
frappe.db.set_value('Maintenance Schedule Detail', self.maintenance_schedule_detail, 'actual_date', self.mntc_date)
def update_customer_issue(self, flag):
if not self.maintenance_schedule:
for d in self.get('purposes'):
if d.prevdoc_docname and d.prevdoc_doctype == 'Warranty Claim' :
if flag==1: