From 059e165e3f97923f7e05c75b0162271f761982cb Mon Sep 17 00:00:00 2001 From: Robert Zorko Date: Thu, 15 Oct 2015 17:02:21 +0200 Subject: using the same login function for both normal login and AAI login --- js/codeq/aaiLogin.js | 6 +----- js/codeq/login.js | 53 +++++++++++++++++++++++++++------------------------- 2 files changed, 29 insertions(+), 30 deletions(-) (limited to 'js') diff --git a/js/codeq/aaiLogin.js b/js/codeq/aaiLogin.js index fe7bfc8..74a9ee4 100644 --- a/js/codeq/aaiLogin.js +++ b/js/codeq/aaiLogin.js @@ -32,11 +32,7 @@ jqAaiIframe.attr('src', samlLoginUrl); return codeq.comms.samlLogin(); }) - .then(function(data){ - codeq.log.debug(JSON.stringify(data)); - if(data.code !== 0) throw new Error('SAML login failed, code: ' + data.code + ', message: ' + data.message); - codeq.globalStateMachine.transition('language'); - }) + .then(codeq.loginCallbackFunction) .fail(function(reason){ codeq.log.error('SAML login failed: ' + reason); alert('SAML login failed: ' + reason); diff --git a/js/codeq/login.js b/js/codeq/login.js index 97bb44b..48c13b2 100644 --- a/js/codeq/login.js +++ b/js/codeq/login.js @@ -9,6 +9,33 @@ jqSignupBtn = $('#signup_button'), jqSubmitLoginBtn = $("#submit"); + //the loginCallbackFunction is used here and in the AAI login as well + codeq.loginCallbackFunction = function (data) { + $('#disabled').css('display', 'none'); + $('#disabled').css('cursor', ''); + if (data.code !== 0) throw new Error('Login failed, code: ' + data.code + ', message: ' + data.message); + + //nav signed in... + $('#signed-in-title').html(data.name||$('#username').val()); + //merge with profile page + $('#profileUsername').html($('#username').val()); + $('#profileName').html(data.name||'undefined'); + $('#profileJoined').html(new Date(data.joined).toLocaleString()); + $('#profileLastLogin').html(new Date(data["last-login"]).toLocaleString()); + + //merge these settings into the already existing default settings + var sett = data.settings; + $.extend(codeq.settings, sett); + if('gui_lang' in sett && sett['gui_lang'] in codeq.supportedLangs){ + codeq.setLang(sett['gui_lang']); + $("#gui_lang_select").val(sett['gui_lang']); + } + $('#robot_address_input').val(codeq.settings['robot_address'] || ''); + + codeq.globalStateMachine.transition('language'); + //codeq.activateState('language'); + }; + var loginFun = function(){ $('#disabled').css('display', ''); $('#disabled').css('cursor', 'wait'); @@ -16,31 +43,7 @@ .then(function () { return codeq.comms.login($('#username').val(), $('#password').val()); }) - .then(function (data) { - $('#disabled').css('display', 'none'); - $('#disabled').css('cursor', ''); - if (data.code !== 0) throw new Error('Login failed, code: ' + data.code + ', message: ' + data.message); - - //nav signed in... - $('#signed-in-title').html(data.name||$('#username').val()); - //merge with profile page - $('#profileUsername').html($('#username').val()); - $('#profileName').html(data.name||'undefined'); - $('#profileJoined').html(new Date(data.joined).toLocaleString()); - $('#profileLastLogin').html(new Date(data["last-login"]).toLocaleString()); - - //merge these settings into the already existing default settings - var sett = data.settings; - $.extend(codeq.settings, sett); - if('gui_lang' in sett && sett['gui_lang'] in codeq.supportedLangs){ - codeq.setLang(sett['gui_lang']); - $("#gui_lang_select").val(sett['gui_lang']); - } - $('#robot_address_input').val(codeq.settings['robot_address'] || ''); - - codeq.globalStateMachine.transition('language'); - //codeq.activateState('language'); - }) + .then(codeq.loginCallbackFunction) .fail(function (reason) { $('#disabled').css('display', 'none'); $('#disabled').css('cursor', ''); -- cgit v1.2.1