diff --git a/model/dao/UserDAO/HybridUserDAO.php b/model/dao/UserDAO/HybridUserDAO.php index 417c87009..0bb9b4996 100644 --- a/model/dao/UserDAO/HybridUserDAO.php +++ b/model/dao/UserDAO/HybridUserDAO.php @@ -419,13 +419,16 @@ public function getJourneyHistory($userId) { * * This function updates the data of a User by its {@link UserVO}. * WARNING: this function allows to update to a name that does not exist in LDAP. - * Do we really want this behavior? + * A user with a name not matching the LDAP won't be able to log in, this should be a + * transitory situation while the name is not updated in both places. * * @param UserVO $userVO the {@link UserVO} with the data we want to update on database. * @return OperationResult the result {@link OperationResult} with information about operation status */ public function update(UserVO $userVO) { - return parent::update($userVO); + $result = parent::update($userVO); + $result->setMessage("Warning: user names not matching LDAP won't be able to login."); + return $result; } /** User creator for LDAP/PostgreSQL Hybrid. diff --git a/web/services/createUsersService.php b/web/services/createUsersService.php index 33f261188..9e140bc22 100644 --- a/web/services/createUsersService.php +++ b/web/services/createUsersService.php @@ -160,11 +160,14 @@ } while ($parser->read()); - + $successMessage = ""; foreach((array)$createUsers as $createUser) { $result = UsersFacade::CreateUser($createUser); - if (!$result->getIsSuccessful()) { + if ($result->getIsSuccessful()) { + $successMessage .= $result->getMessage() . "\n"; + } + else { http_response_code($result->getResponseCode()); $string = "" . $result->getMessage() . ""; @@ -193,7 +196,7 @@ if (!$string) { - $string = "Operation Success!"; + $string = "" . $successMessage . ""; foreach((array) $createUsers as $createUser) { diff --git a/web/services/deleteUsersService.php b/web/services/deleteUsersService.php index f4ae4994b..50bec9101 100644 --- a/web/services/deleteUsersService.php +++ b/web/services/deleteUsersService.php @@ -125,11 +125,15 @@ // we can ignore this error } + $successMessage = ""; if (count($deleteUsers) >= 1) foreach((array)$deleteUsers as $user) { $result = UsersFacade::DeleteUser($user); - if (!$result->getIsSuccessful()) { + if ($result->getIsSuccessful()) { + $successMessage .= $result->getMessage() . "\n"; + } + else { http_response_code($result->getResponseCode()); $string = "" . $result->getMessage() . ""; @@ -140,7 +144,7 @@ if (!$string) - $string = "Operation Success!"; + $string = "" . $successMessage . ""; } while (false); diff --git a/web/services/updateUsersService.php b/web/services/updateUsersService.php index 7dc297138..7319bd1e7 100644 --- a/web/services/updateUsersService.php +++ b/web/services/updateUsersService.php @@ -175,11 +175,14 @@ } while ($parser->read()); - + $successMessage = ""; foreach((array)$updateUsers as $updateUser) { $result = UsersFacade::UpdateUser($updateUser); - if (!$result->getIsSuccessful()) { + if ($result->getIsSuccessful()) { + $successMessage .= $result->getMessage() . "\n"; + } + else { http_response_code($result->getResponseCode()); $string = "" . $result->getMessage() . ""; @@ -230,7 +233,7 @@ if (!$string) { - $string = "Operation Success!"; + $string = "" . $successMessage . ""; foreach((array) $updateUsers as $updateUser) { diff --git a/web/viewUsers.php b/web/viewUsers.php index 9b1499123..fda152114 100644 --- a/web/viewUsers.php +++ b/web/viewUsers.php @@ -290,8 +290,12 @@ function areas(val){ 'load': function() { userGrid.getTopToolbar().getComponent('userFilter').focus(); }, - 'write': function() { - App.setAlert(true, "Users Changes Saved"); + 'write': function (proxy, type, action, eOpts, res) { + const successTags = eOpts.raw.getElementsByTagName("ok"); + if (successTags.length > 0) + App.setAlert(true, successTags[0].innerHTML); + else + App.setAlert(true, "Users Changes Saved"); }, 'exception': function(proxy, type, action, eOpts, res) { let parser = new DOMParser();