mirror of
https://github.com/itsdave-de/msp.git
synced 2025-05-06 15:35:12 +02:00
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
This commit is contained in:
parent
8f0e7c6ce4
commit
650f568c18
@ -23,6 +23,7 @@ function getUsedIpsInNetwork(frm) {
|
|||||||
|
|
||||||
frm.call('get_used_ips', {})
|
frm.call('get_used_ips', {})
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
|
console.log(response);
|
||||||
const container = document.getElementById("usage-overview-table");
|
const container = document.getElementById("usage-overview-table");
|
||||||
let tableBody = ``;
|
let tableBody = ``;
|
||||||
|
|
||||||
@ -37,13 +38,13 @@ function getUsedIpsInNetwork(frm) {
|
|||||||
${(element?.ip_address === '') ? "-" : element?.ip_address}
|
${(element?.ip_address === '') ? "-" : element?.ip_address}
|
||||||
</td>
|
</td>
|
||||||
<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-name="${element?.it_object_name ?? ''}"
|
||||||
data-doctype-type="IT Object"
|
data-doctype-type="IT Object"
|
||||||
>
|
>
|
||||||
${(element?.title === '') ? __("no object assigned") : element?.title}
|
${(element?.title === '' || element?.title === null) ? __("no object assigned") : element?.title}
|
||||||
</td>
|
</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>
|
</tr>
|
||||||
`;
|
`;
|
||||||
});
|
});
|
||||||
|
@ -10,35 +10,40 @@ from frappe.model.document import Document
|
|||||||
class IPNetwork(Document):
|
class IPNetwork(Document):
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def get_used_ips(self):
|
def get_used_ips(self):
|
||||||
values = {'ip_network': self.name, 'status': 'Decommissioned'}
|
values = {'ip_network': self.name}
|
||||||
result = []
|
used_ips = []
|
||||||
result = frappe.db.sql("""
|
used_ips = frappe.db.sql("""
|
||||||
SELECT
|
SELECT
|
||||||
ipa.name as ip_address_name,
|
ipa.name as ip_address_name,
|
||||||
ipa.ip_address,
|
ipa.ip_address,
|
||||||
ito.name as it_object_name,
|
ito.name as it_object_name,
|
||||||
ito.title,
|
ito.title,
|
||||||
ito.type
|
ito.type,
|
||||||
|
ito.status
|
||||||
FROM `tabIP Address` ipa
|
FROM `tabIP Address` ipa
|
||||||
LEFT JOIN `tabIT Object` ito
|
LEFT JOIN `tabIT Object` ito
|
||||||
ON ipa.it_object = ito.name
|
ON ipa.it_object = ito.name
|
||||||
WHERE ipa.ip_network = %(ip_network)s
|
WHERE ipa.ip_network = %(ip_network)s
|
||||||
AND ito.status != %(status)s
|
|
||||||
""", values=values, as_dict=1)
|
""", 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:
|
for ip_network_reserved_range in self.ip_network_reserved_ranges_table:
|
||||||
result.append({
|
used_ips.append({
|
||||||
'ip_address': ip_network_reserved_range.start,
|
'ip_address': ip_network_reserved_range.start,
|
||||||
'title': ip_network_reserved_range.type,
|
'title': ip_network_reserved_range.type,
|
||||||
'type': 'DHCP Range Start'
|
'type': 'DHCP Range Start'
|
||||||
})
|
})
|
||||||
result.append({
|
used_ips.append({
|
||||||
'ip_address': ip_network_reserved_range.end,
|
'ip_address': ip_network_reserved_range.end,
|
||||||
'title': ip_network_reserved_range.type,
|
'title': ip_network_reserved_range.type,
|
||||||
'type': 'DHCP Range End'
|
'type': 'DHCP Range End'
|
||||||
})
|
})
|
||||||
|
|
||||||
return result
|
return used_ips
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def calculate_network_data(doc):
|
def calculate_network_data(doc):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user