=== modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/useraccount/updateUserAccountForm.js'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/useraccount/updateUserAccountForm.js 2014-01-17 03:48:57 +0000
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/useraccount/updateUserAccountForm.js 2015-11-08 18:59:48 +0000
@@ -14,10 +14,6 @@
validation2( 'updateUserinforForm', updateUser, {
'rules' : rules
} );
-
- var oldPassword = byId( 'oldPassword' );
- oldPassword.select();
- oldPassword.focus();
} );
function updateUser()
=== modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/useraccount/updateUserAccountForm.vm'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/useraccount/updateUserAccountForm.vm 2015-11-08 16:58:48 +0000
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/useraccount/updateUserAccountForm.vm 2015-11-08 18:59:48 +0000
@@ -25,18 +25,18 @@
#if( !$userCredentials.externalAuth )
- |
+ |
|
|
|
- #end
|
|
+ #end
|
|
=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/useraccount/action/UpdateUserAccountAction.java'
--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/useraccount/action/UpdateUserAccountAction.java 2015-11-08 16:58:48 +0000
+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/useraccount/action/UpdateUserAccountAction.java 2015-11-08 18:59:48 +0000
@@ -32,6 +32,7 @@
import org.hisp.dhis.i18n.I18n;
import org.hisp.dhis.security.PasswordManager;
import org.hisp.dhis.user.User;
+import org.hisp.dhis.user.UserCredentials;
import org.hisp.dhis.user.UserService;
import com.opensymphony.xwork2.Action;
@@ -147,9 +148,15 @@
rawPassword = StringUtils.trimToNull( rawPassword );
User user = userService.getUser( id );
+ UserCredentials credentials = user.getUserCredentials();
+
String currentPassword = userService.getUserCredentials( user ).getPassword();
-
- if ( !passwordManager.matches( oldPassword, currentPassword ) )
+
+ // ---------------------------------------------------------------------
+ // Deny update if user has local authentication and password is wrong
+ // ---------------------------------------------------------------------
+
+ if ( !credentials.isExternalAuth() && !passwordManager.matches( oldPassword, currentPassword ) )
{
message = i18n.getString( "wrong_password" );
return INPUT;
@@ -166,7 +173,7 @@
userService.encodeAndSetPassword( user, rawPassword );
- userService.updateUserCredentials( user.getUserCredentials() );
+ userService.updateUserCredentials( credentials );
userService.updateUser( user );
message = i18n.getString( "update_user_success" );