mirror of
				https://github.com/itsdave-de/msp.git
				synced 2025-10-30 00:47:10 -03:00 
			
		
		
		
	Hotfix/ips are not shown in usage information when no it object is assigned (#26)
* #25 | Fix ips not shown when no it object was assigned and improve table UI * Remove where clause making query to not fetch all ip addresses and handle the where clause with code. Also make some other changes to UI Co-authored-by: Jordi Albert <63541019+jarg1023@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									e890bbf50d
								
							
						
					
					
						commit
						e5286ee085
					
				| @ -23,6 +23,7 @@ function getUsedIpsInNetwork(frm) { | ||||
| 
 | ||||
| 	frm.call('get_used_ips', {}) | ||||
| 		.then((response) => { | ||||
| 			console.log(response); | ||||
| 			const container = document.getElementById("usage-overview-table"); | ||||
| 			let tableBody = ``; | ||||
| 
 | ||||
| @ -37,13 +38,13 @@ function getUsedIpsInNetwork(frm) { | ||||
| 								${(element?.ip_address === '') ? "-" : element?.ip_address} | ||||
| 							</td> | ||||
| 							<td | ||||
| 								${element?.ip_address_name ? 'style="cursor: pointer; text-decoration: underline;"' : ''} | ||||
| 								${(element?.it_object_name) ? 'style="cursor: pointer; text-decoration: underline;"' : ''} | ||||
| 								data-doctype-name="${element?.it_object_name ?? ''}" | ||||
| 								data-doctype-type="IT Object" | ||||
| 							> | ||||
| 								${(element?.title === '') ? __("no object assigned") : element?.title} | ||||
| 								${(element?.title === '' || element?.title === null) ? __("no object assigned") : element?.title} | ||||
| 							</td> | ||||
| 							<td style="">${(element?.type === '') ? __("no type assigned") : element?.type}</td> | ||||
| 							<td style="">${(element?.type === ''|| element?.type === null) ? __("no type assigned") : element?.type}</td> | ||||
| 						</tr> | ||||
| 					`;
 | ||||
| 			}); | ||||
|  | ||||
| @ -10,35 +10,40 @@ from frappe.model.document import Document | ||||
| class IPNetwork(Document): | ||||
| 	@frappe.whitelist() | ||||
| 	def get_used_ips(self): | ||||
| 		values = {'ip_network': self.name, 'status': 'Decommissioned'} | ||||
| 		result = [] | ||||
| 		result = frappe.db.sql(""" | ||||
| 		values = {'ip_network': self.name} | ||||
| 		used_ips = [] | ||||
| 		used_ips = frappe.db.sql(""" | ||||
| 			SELECT | ||||
| 				ipa.name as ip_address_name, | ||||
| 				ipa.ip_address, | ||||
| 				ito.name as it_object_name, | ||||
| 				ito.title, | ||||
| 				ito.type | ||||
| 				ito.type, | ||||
| 				ito.status | ||||
| 			FROM `tabIP Address` ipa | ||||
| 				LEFT JOIN `tabIT Object` ito | ||||
| 				ON ipa.it_object = ito.name | ||||
| 			WHERE ipa.ip_network = %(ip_network)s | ||||
| 				AND ito.status != %(status)s | ||||
| 		""", values=values, as_dict=1) | ||||
| 		 | ||||
| 
 | ||||
| 		unused_status = ['Decommissioned'] | ||||
| 		for index, used_ip in enumerate(used_ips): | ||||
| 			if used_ip['status'] in unused_status:  | ||||
| 				del used_ips[index] | ||||
| 
 | ||||
| 		for ip_network_reserved_range in self.ip_network_reserved_ranges_table: | ||||
| 			result.append({ | ||||
| 			used_ips.append({ | ||||
| 				'ip_address': ip_network_reserved_range.start, | ||||
| 				'title': ip_network_reserved_range.type, | ||||
| 				'type': 'DHCP Range Start' | ||||
| 			}) | ||||
| 			result.append({ | ||||
| 			used_ips.append({ | ||||
| 				'ip_address': ip_network_reserved_range.end, | ||||
| 				'title': ip_network_reserved_range.type, | ||||
| 				'type': 'DHCP Range End' | ||||
| 			}) | ||||
| 
 | ||||
| 		return result | ||||
| 		return used_ips | ||||
| 
 | ||||
| @frappe.whitelist() | ||||
| def calculate_network_data(doc): | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user