On 7/17/23 17:00, Lukas Wagner wrote:
Signed-off-by: Lukas Wagner <l.wag...@proxmox.com>
---

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);



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to