Author: olamy
Date: Fri Dec  9 20:10:36 2011
New Revision: 1212608

URL: http://svn.apache.org/viewvc?rev=1212608&view=rev
Log:
fix auto login after account validation and password change

Added:
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/TODO.TXT
Modified:
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/redback/user.js

Added: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/TODO.TXT
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/TODO.TXT?rev=1212608&view=auto
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/TODO.TXT (added)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/TODO.TXT Fri 
Dec  9 20:10:36 2011
@@ -0,0 +1,8 @@
+ui pages to do in js:
+
+* Redback:
+  ** user roles list/edition/assignment (Repository Manager and Repository 
Observer: per repo for user)
+  ** roles list
+  ** single roles read (parent, childs, permissions, users with a parent role, 
users with this role)
+
+* too much for archiva :-)
\ No newline at end of file

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=1212608&r1=1212607&r2=1212608&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 Dec  9 20:10:36 2011
@@ -211,6 +211,57 @@ $(function() {
     $("#modal-login").focus();
   }
 
+  var successLoginCallbackFn=function(result){
+    var logged = false;
+    if (result == null) {
+      logged = false;
+    } else {
+      if (result.user) {
+        logged = true;
+      }
+    }
+    $.log("successLoginCallbackFn, logged:"+logged);
+    if (logged == true) {
+      var user = mapUser(result.user);
+      $.log("user.passwordChangeRequired:"+user.passwordChangeRequired());
+      if (user.passwordChangeRequired()==true){
+        changePasswordBox(true,false,user);
+        return;
+      }
+      // 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"));
+        return
+      }
+      // FIXME check validated
+      reccordLoginCookie(user);
+      $("#login-link").hide();
+      $("#logout-link").show();
+      $("#register-link").hide();
+      $("#change-password-link").show();
+      if (window.modalLoginWindow){
+        window.modalLoginWindow.modal('hide');
+      }
+      clearForm("#user-login-form");
+      decorateMenuWithKarma(user);
+      return;
+    }
+    
$("#modal-login-err-message").html($.i18n.prop("incorrect.username.password"));
+    $("#modal-login-err-message").show();
+  }
+
+  var errorLoginCallbackFn= function(result) {
+   var obj = jQuery.parseJSON(result.responseText);
+   displayRedbackError(obj,"modal-login-err-message");
+   $("#modal-login-err-message").show();
+  }
+
+  var completeLoginCallbackFn=function(){
+    $("#modal-login-ok").removeAttr("disabled");
+    $("#login-spinner").remove();
+  }
+
   login=function(){
     $("#modal-login-err-message").html("");
     screenChange();
@@ -226,56 +277,8 @@ $(function() {
     var url = 
'restServices/redbackServices/loginService/logIn?userName='+$("#user-login-form-username").val();
     url += "&password="+$("#user-login-form-password").val();
 
-    var successCallbackFn=function(result){
-      var logged = false;
-      if (result == null) {
-        logged = false;
-      } else {
-        if (result.user) {
-          logged = true;
-        }
-      }
-      if (logged == true) {
-        var user = mapUser(result.user);
-        $.log("user.passwordChangeRequired:"+user.passwordChangeRequired());
-        if (user.passwordChangeRequired()==true){
-          changePasswordBox(true,false,user);
-          return;
-        }
-        // 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"));
-          return
-        }
-        // FIXME check validated
-        reccordLoginCookie(user);
-        $("#login-link").hide();
-        $("#logout-link").show();
-        $("#register-link").hide();
-        $("#change-password-link").show();
-        window.modalLoginWindow.modal('hide');
-        clearForm("#user-login-form");
-        decorateMenuWithKarma(user);
-        return;
-      }
-      
$("#modal-login-err-message").html($.i18n.prop("incorrect.username.password"));
-      $("#modal-login-err-message").show();
-    }
-
-    var errorCallbackFn= function(result) {
-     var obj = jQuery.parseJSON(result.responseText);
-     displayRedbackError(obj,"modal-login-err-message");
-     $("#modal-login-err-message").show();
-    }
-
-    var completeCallbackFn=function(){
-      $("#modal-login-ok").removeAttr("disabled");
-      $("#login-spinner").remove();
-    }
-
     
loginCall($("#user-login-form-username").val(),$("#user-login-form-password").val()
-        ,successCallbackFn,errorCallbackFn,completeCallbackFn);
+        ,successLoginCallbackFn,errorLoginCallbackFn,completeLoginCallbackFn);
 
 
 
@@ -439,14 +442,20 @@ $(function() {
     $.ajax({
       url: url,
       success: function(result){
-        var ok = JSON.parse(result);
-        if (ok == true) {
+        $.log("changePassword#success result:"+result);
+        var user = mapUser(result.user);
+        if (user) {
           window.modalChangePasswordBox.modal('hide');
-          
displaySuccessMessage($.i18n.prop('change.password.success.section.title'));
+          $.log("changePassword#sucess,registration:"+registration);
+          if (registration==true) {
+            
displaySuccessMessage($.i18n.prop('change.password.success.section.title'))
+            loginCall(user.username(), 
$("#passwordChangeFormNewPassword").val(),successLoginCallbackFn);
+          } else {
+            
displaySuccessMessage($.i18n.prop('change.password.success.section.title'));
+          }
         } else {
           displayErrorMessage("issue appended");
         }
-        // menu etc....
 
       },
       complete: function(){


Reply via email to