* [pbs-devel] [PATCH proxmox-backup] www: show more ACLs in datastore panel
@ 2020-11-09 11:31 Fabian Grünbichler
2020-11-09 12:38 ` Thomas Lamprecht
0 siblings, 1 reply; 3+ messages in thread
From: Fabian Grünbichler @ 2020-11-09 11:31 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>
---
www/config/ACLView.js | 13 ++++++++++++-
www/datastore/Panel.js | 1 -
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/www/config/ACLView.js b/www/config/ACLView.js
index bf1ea6a9..694fcf7b 100644
--- a/www/config/ACLView.js
+++ b/www/config/ACLView.js
@@ -84,11 +84,22 @@ 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;
+ return me.filterPath.startsWith(item.data.path);
+ },
+ });
+ 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] 3+ messages in thread
* Re: [pbs-devel] [PATCH proxmox-backup] www: show more ACLs in datastore panel
2020-11-09 11:31 [pbs-devel] [PATCH proxmox-backup] www: show more ACLs in datastore panel Fabian Grünbichler
@ 2020-11-09 12:38 ` Thomas Lamprecht
2020-11-09 12:46 ` Fabian Grünbichler
0 siblings, 1 reply; 3+ messages in thread
From: Thomas Lamprecht @ 2020-11-09 12:38 UTC (permalink / raw)
To: Proxmox Backup Server development discussion, Fabian Grünbichler
On 09.11.20 12:31, Fabian Grünbichler wrote:
> since just the ACLs defined on the exact datastore path don't give
> anywhere near a complete picture of who has access to it.
>
Seems like an $ anchor is missing, at least I'm getting a permission
on `/datastore/test` listed not only in that datastore view but also in
a datastore called `testnew`.
> Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
> ---
> www/config/ACLView.js | 13 ++++++++++++-
> www/datastore/Panel.js | 1 -
> 2 files changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/www/config/ACLView.js b/www/config/ACLView.js
> index bf1ea6a9..694fcf7b 100644
> --- a/www/config/ACLView.js
> +++ b/www/config/ACLView.js
> @@ -84,11 +84,22 @@ 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;
> + return me.filterPath.startsWith(item.data.path);
> + },
> + });
> + 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}',
> },
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [pbs-devel] [PATCH proxmox-backup] www: show more ACLs in datastore panel
2020-11-09 12:38 ` Thomas Lamprecht
@ 2020-11-09 12:46 ` Fabian Grünbichler
0 siblings, 0 replies; 3+ messages in thread
From: Fabian Grünbichler @ 2020-11-09 12:46 UTC (permalink / raw)
To: Proxmox Backup Server development discussion, Thomas Lamprecht
On November 9, 2020 1:38 pm, Thomas Lamprecht wrote:
> On 09.11.20 12:31, Fabian Grünbichler wrote:
>> since just the ACLs defined on the exact datastore path don't give
>> anywhere near a complete picture of who has access to it.
>>
>
>
> Seems like an $ anchor is missing, at least I'm getting a permission
> on `/datastore/test` listed not only in that datastore view but also in
> a datastore called `testnew`.
ugh, that's (obviously!) correct, although it's not exactly a missing
anchor. I'll send a v2..
>
>> Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
>> ---
>> www/config/ACLView.js | 13 ++++++++++++-
>> www/datastore/Panel.js | 1 -
>> 2 files changed, 12 insertions(+), 2 deletions(-)
>>
>> diff --git a/www/config/ACLView.js b/www/config/ACLView.js
>> index bf1ea6a9..694fcf7b 100644
>> --- a/www/config/ACLView.js
>> +++ b/www/config/ACLView.js
>> @@ -84,11 +84,22 @@ 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;
>> + return me.filterPath.startsWith(item.data.path);
>> + },
>> + });
>> + 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}',
>> },
>>
>
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-11-09 12:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-09 11:31 [pbs-devel] [PATCH proxmox-backup] www: show more ACLs in datastore panel Fabian Grünbichler
2020-11-09 12:38 ` Thomas Lamprecht
2020-11-09 12:46 ` Fabian Grünbichler
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox