diff --git a/www/config/ACLView.js b/www/config/ACLView.js index bf1ea6a9..20caf284 100644 --- a/www/config/ACLView.js +++ b/www/config/ACLView.js @@ -84,11 +84,29 @@ Ext.define('PBS.config.ACLView', { let params = {}; if (view.aclPath !== undefined) { - params.path = view.aclPath; + + let pathFilter = Ext.create('Ext.util.Filter', { + filterPath: view.aclPath, + filterFn: function(item) { + let me = this; + let curr = item.data.path; + + if (curr.lastIndexOf("/") < me.filterPath.lastIndexOf("/")) { + return me.filterPath.startsWith(curr); + } else { + return me.filterPath === curr; + } + }, + }); + view.getStore().addFilter(pathFilter); } if (view.aclExact !== undefined) { + if (view.aclPath !== undefined) { + params.path = view.aclPath; + } params.exact = view.aclExact; } + proxy.setExtraParams(params); Proxmox.Utils.monStoreErrors(view, view.getStore().rstore); }, diff --git a/www/datastore/Panel.js b/www/datastore/Panel.js index 473aa50c..bca663e8 100644 --- a/www/datastore/Panel.js +++ b/www/datastore/Panel.js @@ -90,7 +90,6 @@ Ext.define('PBS.DataStorePanel', { itemId: 'acl', xtype: 'pbsACLView', iconCls: 'fa fa-unlock', - aclExact: true, cbind: { aclPath: '{aclPath}', },