mirror of
https://github.com/itsdave-de/msp.git
synced 2025-06-28 08:54:04 +02:00
#33 | Get all child locations for a particular location set the filter
This commit is contained in:
parent
3f10e77d93
commit
234061f8d1
@ -135,3 +135,6 @@ doc_events = {
|
||||
# "Task": "msp.task.get_dashboard_data"
|
||||
# }
|
||||
|
||||
override_doctype_class = {
|
||||
"Location": "msp.overrides.location.CustomLocation.CustomLocation"
|
||||
}
|
||||
|
18
msp/overrides/location/CustomLocation.py
Normal file
18
msp/overrides/location/CustomLocation.py
Normal file
@ -0,0 +1,18 @@
|
||||
import frappe
|
||||
from erpnext.assets.doctype.location.location import Location
|
||||
|
||||
class CustomLocation(Location):
|
||||
@frappe.whitelist()
|
||||
def get_all_child_locations_from_location(self):
|
||||
parent_location_name = self.name
|
||||
locations_to_filter = []
|
||||
return self.search_child_locations(locations_to_filter, parent_location_name)
|
||||
|
||||
def search_child_locations(self, locations_to_filter, parent_location_name):
|
||||
locations_to_filter.append(parent_location_name)
|
||||
child_locations = frappe.db.get_list('Location', {'parent_location': parent_location_name}, ['name'])
|
||||
if child_locations:
|
||||
for child_location in child_locations:
|
||||
self.search_child_locations(locations_to_filter, child_location['name'])
|
||||
|
||||
return locations_to_filter
|
0
msp/overrides/location/__init__.py
Normal file
0
msp/overrides/location/__init__.py
Normal file
@ -1,7 +1,10 @@
|
||||
frappe.ui.form.on('Location', {
|
||||
refresh(frm) {
|
||||
frm.add_custom_button('Show IT Objects in Location', () => {
|
||||
frappe.set_route('List', 'IT Object', { location_full_path: ['like', `%${frm.doc.location_name}%`] })
|
||||
frm.call('get_all_child_locations_from_location',{})
|
||||
.then((response) => {
|
||||
frappe.set_route('List', 'IT Object', { location: ['in', `${response.message.toString()}`] })
|
||||
})
|
||||
})
|
||||
}
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user