From a52be768746a7739eb49eb865c001953bdefa01a Mon Sep 17 00:00:00 2001 From: "Mark M. Florida" <markflorida@wustl.edu> Date: Fri, 22 Jul 2016 16:20:58 -0500 Subject: [PATCH] XNAT-4431: better checking for port conflicts when creating/editing DICOM SCP receivers --- .../webapp/scripts/xnat/admin/dicomScpManager.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/webapp/scripts/xnat/admin/dicomScpManager.js b/src/main/webapp/scripts/xnat/admin/dicomScpManager.js index d2131a1e..f66d5c8e 100644 --- a/src/main/webapp/scripts/xnat/admin/dicomScpManager.js +++ b/src/main/webapp/scripts/xnat/admin/dicomScpManager.js @@ -105,6 +105,7 @@ var XNAT = getObject(XNAT || {}); dicomScpManager.dialog = function(item, isNew){ var tmpl = $('#dicom-scp-editor-template'); var doWhat = !item ? 'New' : 'Edit'; + var oldPort = item && item.port ? item.port : null; isNew = firstDefined(isNew, doWhat === 'New'); console.log(isNew); item = item || {}; @@ -148,17 +149,18 @@ var XNAT = getObject(XNAT || {}); } }); - var portNumber = $port.val(); + var newPort = $port.val(); - console.log(portNumber); + console.log(newPort); - if (isNew){ - dicomScpManager.usedPorts.forEach(function(port){ - if (port+'' === portNumber+''){ + // only check for port conflicts if we're changing the port + if (newPort+'' !== oldPort+''){ + dicomScpManager.usedPorts.forEach(function(usedPort){ + if (usedPort+'' === newPort+''){ errors++; - errorMsg += '<li>Port <b>' + portNumber + '</b> is already in use. Please use another port number.</li>'; + errorMsg += '<li>Port <b>' + newPort + '</b> is already in use. Please use another port number.</li>'; $port.addClass('invalid'); - return false; + return false; } }); } -- GitLab