summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Hanreich <s.hanreich@proxmox.com>2023-11-22 13:28:08 +0100
committerThomas Lamprecht <t.lamprecht@proxmox.com>2023-11-29 10:28:26 +0100
commitfb97ed300a1eb8ed646d327bca874517621b614f (patch)
tree73624e7ab51e50ec4a7eb5c534cd25ee71ee6750
parent1032f6d83870ed9c1ca1c0806459b170a40cb0a9 (diff)
validation: add support for arrays to change tracking
This is needed so dhcp-ranges are properly displayed as changed in the web UI. Also took the chance to properly indent the encode_value function with our indentation scheme. Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com> Tested-by: Hannes Duerr <h.duerr@proxmox.com>
-rw-r--r--src/PVE/Network/SDN.pm14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/PVE/Network/SDN.pm b/src/PVE/Network/SDN.pm
index c306527..3af09b5 100644
--- a/src/PVE/Network/SDN.pm
+++ b/src/PVE/Network/SDN.pm
@@ -241,12 +241,14 @@ sub generate_dhcp_config {
sub encode_value {
my ($type, $key, $value) = @_;
- if ($key eq 'nodes' || $key eq 'exitnodes') {
- if(ref($value) eq 'HASH') {
- return join(',', sort keys(%$value));
- } else {
- return $value;
- }
+ if ($key eq 'nodes' || $key eq 'exitnodes' || $key eq 'dhcp-range') {
+ if (ref($value) eq 'HASH') {
+ return join(',', sort keys(%$value));
+ } elsif (ref($value) eq 'ARRAY') {
+ return join(',', sort @$value);
+ } else {
+ return $value;
+ }
}
return $value;