fix #7108: ui: ipset: do not offer aliases that are already added
When adding an entry to an IPSet, the alias selector lists all aliases, including those that are already part of the IPSet. Selecting one of them only results in an "already exists" error from the API. Pass the current entries of the IPSet to the add window and filter the matching aliases out of the selector. Aliases are stored in the IPSet with the same scoped reference the selector uses as value, so an exact comparison is sufficient. Signed-off-by: Michal Fox <me@dualfroz.com> Reviewed-by: Arthur Bied-Charreton <a.bied-charreton@proxmox.com> Tested-by: Arthur Bied-Charreton <a.bied-charreton@proxmox.com> Link: https://lore.proxmox.com/20260929142331.2990690-1-me@dualfroz.com
This commit is contained in:
1 parent
25c14ebf7d
commit
baf8bb7941
2 files changed
+9
No files matched your search
@@ -8,6 +8,9 @@ Ext.define('PVE.form.IPRefSelector', {
|
||||
|
||||
ref_type: undefined, // undefined = any [undefined, 'ipset' or 'alias']
|
||||
|
||||
// list of references that should not be offered, e.g. because they are already in use
|
||||
excludeRefs: [],
|
||||
|
||||
valueField: 'scopedref',
|
||||
displayField: 'ref',
|
||||
notFoundIsValid: true,
|
||||
@@ -54,6 +57,7 @@ Ext.define('PVE.form.IPRefSelector', {
|
||||
property: 'ref',
|
||||
direction: 'ASC',
|
||||
},
|
||||
filters: [(rec) => !me.excludeRefs.includes(rec.data.scopedref)],
|
||||
});
|
||||
|
||||
var columns = [];
|
||||
|
||||
Reference in new issue
Block a user