diff --git a/msp/msp/doctype/ip_address/ip_address.json b/msp/msp/doctype/ip_address/ip_address.json index 4b1f6d1..a8692fd 100644 --- a/msp/msp/doctype/ip_address/ip_address.json +++ b/msp/msp/doctype/ip_address/ip_address.json @@ -10,6 +10,7 @@ "title", "ip_address", "protocol", + "it_object_name", "it_object", "ip_network", "it_landscape" @@ -37,7 +38,8 @@ "fieldname": "it_object", "fieldtype": "Link", "label": "IT Object", - "options": "IT Object" + "options": "IT Object", + "read_only": 1 }, { "fieldname": "it_landscape", @@ -52,10 +54,16 @@ "label": "IP Network", "options": "IP Network", "reqd": 1 + }, + { + "fieldname": "it_object_name", + "fieldtype": "Data", + "label": "IT Object Name", + "read_only": 1 } ], "links": [], - "modified": "2022-06-17 11:21:47.850521", + "modified": "2022-09-05 12:03:39.294521", "modified_by": "Administrator", "module": "MSP", "name": "IP Address", diff --git a/msp/msp/doctype/it_object/it_object.py b/msp/msp/doctype/it_object/it_object.py index 7312138..ba6ca1d 100644 --- a/msp/msp/doctype/it_object/it_object.py +++ b/msp/msp/doctype/it_object/it_object.py @@ -8,6 +8,23 @@ import requests from frappe.model.document import Document class ITObject(Document): + def save(self, *args, **kwargs): + super().save(*args, **kwargs) + if not self.main_ip: + return + + ip_address_name_with_it_object = frappe.db.get_value("IP Address", {'it_object': self.name}, ['name']) + if ip_address_name_with_it_object: + current_ip_address_with_it_object_doctype = frappe.get_doc("IP Address", ip_address_name_with_it_object) + current_ip_address_with_it_object_doctype.it_object = None + current_ip_address_with_it_object_doctype.it_object_name = None + current_ip_address_with_it_object_doctype.save() + + ip_address_doctype = frappe.get_doc("IP Address", self.main_ip) + ip_address_doctype.it_object = self.name + ip_address_doctype.it_object_name = self.title + ip_address_doctype.save() + frappe.db.commit() def get_host_status_from_hosts_data(self, hosts_data, msp_settings_doc):