all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [v2 proxmox-backup] www: show more ACLs in datastore panel
@ 2020-11-09 13:47 Fabian Grünbichler
  2020-11-09 14:20 ` [pbs-devel] applied: " Thomas Lamprecht
  2020-11-09 18:56 ` [pbs-devel] " Thomas Lamprecht
  0 siblings, 2 replies; 4+ messages in thread
From: Fabian Grünbichler @ 2020-11-09 13:47 UTC (permalink / raw)
  To: pbs-devel

since just the ACLs defined on the exact datastore path don't give
anywhere near a complete picture of who has access to it.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
---

Notes:
    v2: handle neighbouring ACL paths properly

 www/config/ACLView.js  | 20 +++++++++++++++++++-
 www/datastore/Panel.js |  1 -
 2 files changed, 19 insertions(+), 2 deletions(-)

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}',
 	    },
-- 
2.20.1





^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-11-10  8:08 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-09 13:47 [pbs-devel] [v2 proxmox-backup] www: show more ACLs in datastore panel Fabian Grünbichler
2020-11-09 14:20 ` [pbs-devel] applied: " Thomas Lamprecht
2020-11-09 18:56 ` [pbs-devel] " Thomas Lamprecht
2020-11-10  8:08   ` Fabian Grünbichler

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal