Author: olamy
Date: Fri Oct 19 16:49:12 2012
New Revision: 1400163
URL: http://svn.apache.org/viewvc?rev=1400163&view=rev
Log:
[MRM-1699] Re implement remember me in new UI.
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/user.js
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/menu.html
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/redback/login.html
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js?rev=1400163&r1=1400162&r2=1400163&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js
Fri Oct 19 16:49:12 2012
@@ -28,19 +28,26 @@ function(jquery,ui,sammy,tmpl,i18n,jquer
* @param user see user.js
*/
reccordLoginCookie=function(user) {
- $.cookie('redback_login', ko.toJSON(user));
+ $.cookie('archiva_login', ko.toJSON(user));
};
getUserFromLoginCookie=function(){
- return $.parseJSON($.cookie('redback_login'));
+ var cookieContent=$.cookie('archiva_login');
+ $.log("archiva_login cookie content:"+cookieContent);
+ return $.parseJSON(cookieContent);
};
deleteLoginCookie=function(){
- $.cookie('redback_login', null);
+ $.cookie('archiva_login', null);
};
logout=function(doScreenChange){
- deleteLoginCookie();
+ //deleteLoginCookie();
+ var user = getUserFromLoginCookie();
+ if(user){
+ user.logged=false;
+ reccordLoginCookie(user);
+ }
$("#login-link").show();
$("#register-link").show();
$("#logout-link").hide();
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/user.js
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/user.js?rev=1400163&r1=1400162&r2=1400163&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/user.js
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/user.js
Fri Oct 19 16:49:12 2012
@@ -76,6 +76,10 @@ function(jquery,utils,i18n,jqueryValidat
this.modified=ko.observable(false);
+ this.rememberme=false;
+ this.password=null;
+ this.logged=false;
+
this.remove = function() {
if (ownerViewModel) {
ownerViewModel.users.destroy(this);
@@ -142,7 +146,7 @@ function(jquery,utils,i18n,jqueryValidat
checkCreateAdminLink();
checkSecurityLinks();
}
- loginCall(currentAdminUser.username(),
currentAdminUser.password(),onSuccessCall);
+ loginCall(currentAdminUser.username(),
currentAdminUser.password(),false,onSuccessCall);
if(succesCallbackFn){
succesCallbackFn();
}
@@ -344,6 +348,17 @@ function(jquery,utils,i18n,jqueryValidat
});
}
+ var user=getUserFromLoginCookie();
+ if(user){
+ $.log("found user in cookie rememberme:"+(user.rememberme));
+ if(user.rememberme){
+ $("#user-login-form-username" ).val(user.username);
+ $("#user-login-form-password" ).val(user.password);
+ }
+ } else {
+ $.log("user not in cookie");
+ }
+
var userLoginForm = $("#user-login-form");
userLoginForm.validate({
@@ -382,6 +397,7 @@ function(jquery,utils,i18n,jqueryValidat
}
if (logged == true) {
var user = mapUser(result);
+
if (user.passwordChangeRequired()==true){
changePasswordBox(true,false,user);
return;
@@ -389,10 +405,16 @@ function(jquery,utils,i18n,jqueryValidat
// not really needed as an exception is returned but "ceintures et
bretelles" as we said in French :-)
if (user.locked()==true){
$.log("user locked");
- displayErrorMessage($.i18n.prop("accout.locked"));
+ displayErrorMessage($.i18n.prop("account.locked"));
return
}
+
// FIXME check validated
+ user.rememberme=window.redbackModel.rememberme;
+ if(user.rememberme){
+ user.password=window.redbackModel.password;
+ }
+ $.log("user.rememberme:"+(user.rememberme));
reccordLoginCookie(user);
$("#login-link").hide();
$("#logout-link").show();
@@ -426,7 +448,7 @@ function(jquery,utils,i18n,jqueryValidat
* @param result
*/
var completeLoginCallbackFn=function(){
- $("#modal-login-ok").removeAttr("disabled");
+ $("#modal-login-ok").button("reset");
$("#small-spinner").remove();
// force current screen reload to consider user karma
window.sammyArchivaApplication.refresh();
@@ -512,18 +534,24 @@ function(jquery,utils,i18n,jqueryValidat
*/
login=function(){
$.log("user.js#login");
+
$("#modal-login-err-message").html("");
var valid = $("#user-login-form").valid();
if (!valid) {
return;
}
- $("#modal-login-ok").attr("disabled","disabled");
+ $("#modal-login-ok").button("loading");
//#modal-login-footer
$('#modal-login-footer').append(smallSpinnerImg());
-
loginCall($("#user-login-form-username").val(),$("#user-login-form-password").val()
+ var rememberme=($("#user-login-form-rememberme"
).attr('checked')=='checked');
+ $.log("rememberme:"+rememberme);
+ window.redbackModel.rememberme=rememberme;
+ window.redbackModel.password=$("#user-login-form-password").val();
+
+
loginCall($("#user-login-form-username").val(),window.redbackModel.password,rememberme
,successLoginCallbackFn,errorLoginCallbackFn,completeLoginCallbackFn);
}
@@ -532,11 +560,12 @@ function(jquery,utils,i18n,jqueryValidat
* call REST method for login
* @param username
* @param password
+ * @param rememberme
* @param successCallbackFn
* @param errorCallbackFn
* @param completeCallbackFn
*/
- loginCall=function(username,password,successCallbackFn, errorCallbackFn,
completeCallbackFn) {
+ loginCall=function(username,password,rememberme,successCallbackFn,
errorCallbackFn, completeCallbackFn) {
var url = 'restServices/redbackServices/loginService/logIn';
$.ajax({
@@ -717,7 +746,7 @@ function(jquery,utils,i18n,jqueryValidat
if (registration==true) {
$.log("changePassword#sucess,registration:"+registration);
displaySuccessMessage($.i18n.prop('change.password.success.section.title'))
- loginCall(user.username(),
$("#passwordChangeFormNewPassword").val(),successLoginCallbackFn,
+ loginCall(user.username(),
$("#passwordChangeFormNewPassword").val(),true,successLoginCallbackFn,
function(data){
displayRestError(data,"modal-password-change-content");
}
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/menu.html
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/menu.html?rev=1400163&r1=1400162&r2=1400163&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/menu.html
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/menu.html
Fri Oct 19 16:49:12 2012
@@ -101,7 +101,6 @@
</li>
<li>
<div class="ui-widget navbar-search">
-
<input type="text" class="ui-autocomplete-input search-query"
id="quick-search-autocomplete"
placeholder="${$.i18n.prop('menu.topbar.quicksearch')}" />
</div>
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/redback/login.html
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/redback/login.html?rev=1400163&r1=1400162&r2=1400163&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/redback/login.html
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/redback/login.html
Fri Oct 19 16:49:12 2012
@@ -41,7 +41,10 @@
</form>
</div>
<div class="modal-footer" id="modal-login-footer">
- <button class="btn btn-primary"
id="modal-login-ok">${$.i18n.prop('login')}</button>
+ <div class="pull-left">
+ <input type="checkbox"
id="user-login-form-rememberme">${$.i18n.prop('rememberme')}</input>
+ </div>
+ <button class="btn btn-primary" id="modal-login-ok"
data-loading-text="${$.i18n.prop('common.loading')}">${$.i18n.prop('login')}</button>
<button class="btn btn-info"
id="modal-login-password-reset">${$.i18n.prop('password.reset')}</button>
</div>
</div>