From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id DAA29EA1D for ; Wed, 19 Jul 2023 14:54:31 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id B504F792E for ; Wed, 19 Jul 2023 14:54:01 +0200 (CEST) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Wed, 19 Jul 2023 14:54:00 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 3EDB44102E; Wed, 19 Jul 2023 14:54:00 +0200 (CEST) Message-ID: Date: Wed, 19 Jul 2023 14:53:59 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: Proxmox VE development discussion , Lukas Wagner References: <20230717150051.710464-1-l.wagner@proxmox.com> <20230717150051.710464-60-l.wagner@proxmox.com> From: Dominik Csapak In-Reply-To: <20230717150051.710464-60-l.wagner@proxmox.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL -0.034 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment POISEN_SPAM_PILL_3 0.1 random spam to be learned in bayes SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record T_SCC_BODY_TEXT_LINE -0.01 - Subject: Re: [pve-devel] [PATCH v3 pve-manager 59/66] ui: perm path: load notification target/filter acl entries X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2023 12:54:31 -0000 On 7/17/23 17:00, Lukas Wagner wrote: > Signed-off-by: Lukas Wagner > --- > > Notes: > I'm not sure if I like this solution, but adding notification targets to > the resources API endpoint would not have make sense. > Maybe we could create a new API endpoint that returns all possible ACL > paths and then use a normal store for the perm path combobox? i'd also prefer that, it would make this much simpler, and more manageable for the pci/usb mappings i simply omitted them here, so for now we could simply hardcode the different types here /mapping/usb /mapping/pci /mapping/notification and be done with it until we have said api call ;) AFAIR thomas opposed it the last time i wanted to add an api call here (i can't remember what for though) > > www/manager6/data/PermPathStore.js | 26 +++++++++++++++++++++++++- > 1 file changed, 25 insertions(+), 1 deletion(-) > > diff --git a/www/manager6/data/PermPathStore.js b/www/manager6/data/PermPathStore.js > index c3ac7f0e..b7e4fa33 100644 > --- a/www/manager6/data/PermPathStore.js > +++ b/www/manager6/data/PermPathStore.js > @@ -9,6 +9,7 @@ Ext.define('PVE.data.PermPathStore', { > { 'value': '/access/groups' }, > { 'value': '/access/realm' }, > { 'value': '/mapping' }, > + { 'value': '/mapping/notification' }, > { 'value': '/nodes' }, > { 'value': '/pool' }, > { 'value': '/sdn/zones' }, > @@ -46,8 +47,31 @@ Ext.define('PVE.data.PermPathStore', { > donePaths[path] = 1; > } > }); > - me.resumeEvents(); > > + Ext.Ajax.request({ also why ext.ajax.request and not API2Request ? ;) > + url: '/api2/json/cluster/notifications/targets', > + method: 'GET', > + success: function(response, opts) { > + let obj = Ext.decode(response.responseText); > + > + for (let target of obj.data) { > + me.add({ value: `/mapping/notification/${target.name}` }); > + } > + }, > + }); > + Ext.Ajax.request({ > + url: '/api2/json/cluster/notifications/filters', > + method: 'GET', > + success: function(response, opts) { > + let obj = Ext.decode(response.responseText); > + > + for (let filter of obj.data) { > + me.add({ value: `/mapping/notification/${filter.name}` }); > + } > + }, > + }); > + > + me.resumeEvents(); > me.fireEvent('refresh', me); > me.fireEvent('datachanged', me); >