X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fstatic%2Fauthmethods.js;h=8ad1e29fa14c44cb5d7bc9af8a2e29c4e3d799a3;hb=702510bb9567507cf346b00955c0c9ba042a3e0b;hp=1ea70c00de969628ba684e55edd76a3aceb96d83;hpb=9650995c81a83ecf9a443ace45ee1131fcc75561;p=citadel.git diff --git a/webcit/static/authmethods.js b/webcit/static/authmethods.js index 1ea70c00d..8ad1e29fa 100644 --- a/webcit/static/authmethods.js +++ b/webcit/static/authmethods.js @@ -1,11 +1,15 @@ /* - * Copyright 2010, the Citadel Team + * Copyright 2010-2011, the Citadel Team * Licensed under the GPL V3 * * JavaScript functions which handle various authentication methods. */ + +/****************** COMMON CODE ***********************/ + + /* * Are we logged in right now? */ @@ -19,7 +23,6 @@ function IsLoggedIn() { } - /* * Wrapper script to require logging in before completing an action */ @@ -48,6 +51,30 @@ function GetLoggedInFirst(destination_url) { } +/* + * tab handler for the login box + */ +function authtoggle(show_which_div) { + $('authbox_userpass').style.display = 'none'; + $('authbox_newuser').style.display = 'none'; + $('authbox_openid').style.display = 'none'; + $(show_which_div).style.display = 'block'; +} + + +/* + * Pop out a window for external auth methods + * (most of them don't handle inline auth very well) + */ +function do_auth_popout(popout_url) { + window.open(popout_url, "authpopout", "status=1,toolbar=0,width=600,height=400"); +} + + + + +/****************** USERNAME AND PASSWORD ***********************/ + /* * Attempt login with username/password, called from modal dialog */ @@ -66,6 +93,7 @@ function ajax_try_username_and_password() { }); } + /* * The user pressed a key while in the username or password box. * Is it the enter/return key? Submit the form. @@ -83,25 +111,48 @@ function username_and_password_onkeypress(e) { } +/****************** REGISTER NEW USER ***********************/ + /* - * tab handler for the login box + * Attempt to create a new local username/password, called from modal dialog */ -function authtoggle(show_which_div) { - $('authbox_userpass').style.display = 'none'; - $('authbox_openid').style.display = 'none'; - $(show_which_div).style.display = 'block'; +function ajax_try_newuser() { + + $('login_errmsg').innerHTML = ""; + $('ajax_newuser_form').request({ + onSuccess: function(ctdlresult) { + if (ctdlresult.responseText.substr(0,1) == '2') { + window.location = 'pop'; + } + else { + $('login_errmsg').innerHTML = ctdlresult.responseText.substr(4) ; + } + } + }); } /* - * Pop out a window for external auth methods - * (most of them don't handle inline auth very well) + * The user pressed a key while in the newuser or newpassword box. + * Is it the enter/return key? Submit the form. */ -function do_auth_popout(popout_url) { - window.open(popout_url, "authpopout", "status=1,toolbar=0,width=600,height=400"); +function newuser_onkeypress(e) { + if (window.event) { /* IE */ + keynum = e.keyCode; + } + else if (e.which) { /* real browsers */ + keynum = e.which; + } + if (keynum == 13) { /* enter/return key */ + ajax_try_newuser(); + } } + + +/****************** OPENID ***********************/ + /* * Attempt login with OpenID, called from modal dialog */ @@ -111,3 +162,21 @@ function ajax_try_openid() { do_auth_popout("openid_login?openid_url=" + openid_url); } + +/* + * The user pressed a key while in the openid login box. + * Is it the enter/return key? Submit the form. + */ +function openid_onkeypress(e) { + if (window.event) { /* IE */ + keynum = e.keyCode; + } + else if (e.which) { /* real browsers */ + keynum = e.which; + } + if (keynum == 13) { /* enter/return key */ + ajax_try_openid(); + } +} + +