From 47d2d07eb95a21f2de301461bbf566b489b5650c Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Tue, 14 Jul 2015 11:31:27 +0530 Subject: [PATCH] CLOUDSTACK-8457: SAML UI Dialog fixes to use local $form This uses local selector to access the DOM elements, the previous commit would find a global element which is not in the context and fail changing the element in the opened dialog. Signed-off-by: Rohit Yadav This closes #583 --- ui/scripts/accounts.js | 8 +++---- ui/scripts/accountsWizard.js | 27 ------------------------ ui/scripts/ui-custom/accountsWizard.js | 29 ++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 31 deletions(-) diff --git a/ui/scripts/accounts.js b/ui/scripts/accounts.js index 07cc6f772ae..6f55b3d54a9 100644 --- a/ui/scripts/accounts.js +++ b/ui/scripts/accounts.js @@ -1099,21 +1099,21 @@ }, select: function(args) { var samlChecked = false; - var idpUrl = ""; + var idpUrl = args.$form.find('select[name=samlEntity]').children(':selected').val(); var appendDomainToUsername = function() { if (!g_appendIdpDomain) { return; } - var username = $('input[name=username]').val(); + var username = args.$form.find('input[name=username]').val(); if (username) { username = username.split('@')[0]; } if (samlChecked) { var link = document.createElement('a'); link.setAttribute('href', idpUrl); - $('input[name=username]').val(username + "@" + link.host.split('.').splice(-2).join('.')); + args.$form.find('input[name=username]').val(username + "@" + link.host.split('.').splice(-2).join('.')); } else { - $('input[name=username]').val(username); + args.$form.find('input[name=username]').val(username); } }; args.$form.find('select[name=samlEntity]').change(function() { diff --git a/ui/scripts/accountsWizard.js b/ui/scripts/accountsWizard.js index 3efe6f91f18..03dc65c3c0a 100644 --- a/ui/scripts/accountsWizard.js +++ b/ui/scripts/accountsWizard.js @@ -179,33 +179,6 @@ required: false }, select: function(args) { - var samlChecked = false; - var idpUrl = ""; - var appendDomainToUsername = function() { - if (!g_appendIdpDomain) { - return; - } - var username = $('input[name=username]').val(); - if (username) { - username = username.split('@')[0]; - } - if (samlChecked) { - var link = document.createElement('a'); - link.setAttribute('href', idpUrl); - $('input[name=username]').val(username + "@" + link.host.split('.').splice(-2).join('.')); - } else { - $('input[name=username]').val(username); - } - }; - args.$form.find('select[name=samlEntity]').change(function() { - idpUrl = $(this).children(':selected').val(); - appendDomainToUsername(); - }); - args.$form.find('input[name=samlEnable]').change(function() { - samlChecked = $(this).context.checked; - appendDomainToUsername(); - }); - var items = []; $(g_idpList).each(function() { items.push({ diff --git a/ui/scripts/ui-custom/accountsWizard.js b/ui/scripts/ui-custom/accountsWizard.js index cfbe930b2aa..0d416e1ffee 100644 --- a/ui/scripts/ui-custom/accountsWizard.js +++ b/ui/scripts/ui-custom/accountsWizard.js @@ -293,6 +293,35 @@ } $wizard.find('.manual-account-details').append(informationNotInLdapForm); + if (g_idpList && g_appendIdpDomain && !ldapStatus) { + var samlChecked = false; + var idpUrl = $wizard.find('select[name=samlEntity]').children(':selected').val(); + var appendDomainToUsername = function() { + if (!g_appendIdpDomain) { + return; + } + var username = $wizard.find('input[name=username]').val(); + if (username) { + username = username.split('@')[0]; + } + if (samlChecked) { + var link = document.createElement('a'); + link.setAttribute('href', idpUrl); + $wizard.find('input[name=username]').val(username + "@" + link.host.split('.').splice(-2).join('.')); + } else { + $wizard.find('input[name=username]').val(username); + } + }; + $wizard.find('select[name=samlEntity]').change(function() { + idpUrl = $(this).children(':selected').val(); + appendDomainToUsername(); + }); + $wizard.find('input[name=samlEnable]').change(function() { + samlChecked = $(this).context.checked; + appendDomainToUsername(); + }); + } + return $wizard.dialog({ title: ldapStatus ? _l('Add LDAP Account') : _l('label.add.account'), width: ldapStatus ? 800 : 330,