]> git.proxmox.com Git - proxmox-backup.git/commitdiff
ui: sync job: fix error if local namespace is selected first
authorLukas Wagner <l.wagner@proxmox.com>
Thu, 25 Apr 2024 08:59:36 +0000 (10:59 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 25 Apr 2024 09:50:02 +0000 (11:50 +0200)
When creating a new sync job and a local namespace is configured
without setting a remote first, the createMaxPrefixLength
was passed an array instead of a string/undefined/null, which
triggered a 'ns2.match is not a funtion exception', making the UI
glitchy afterwards.

Fixed by explicitly checking for a string. Verified that the other
user of NamespaceMaxDepthReduced, the prune job edit window, does not
break after the change.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
www/form/NamespaceMaxDepth.js

index cfe80de050ff5459069f15c2f35a06fc8280dec4..64f8d512b2387a99b6b19959d8c8c3bb96477b30 100644 (file)
@@ -37,10 +37,10 @@ Ext.define('PBS.form.NamespaceMaxDepthReduced', {
 
     calcMaxPrefixLength: function(ns1, ns2) {
        let maxPrefixLength = 0;
-       if (ns1 !== undefined && ns1 !== null) {
+       if (ns1 !== undefined && ns1 !== null && typeof ns1 === 'string') {
            maxPrefixLength = (ns1.match(/[/]/g) || []).length + (ns1 === '' ? 0 : 1);
        }
-       if (ns2 !== undefined && ns2 !== null) {
+       if (ns2 !== undefined && ns2 !== null && typeof ns2 === 'string') {
            let ns2PrefixLength = (ns2.match(/[/]/g) || []).length + (ns2 === '' ? 0 : 1);
            if (ns2PrefixLength > maxPrefixLength) {
                maxPrefixLength = ns2PrefixLength;