Improved handling of password user feedback (#212)

This commit is contained in:
Michael Green
2023-12-01 15:51:00 +11:00
committed by GitHub
parent 3de551be95
commit e32e7ad36f
7 changed files with 80 additions and 20 deletions

View File

@@ -27,6 +27,9 @@
<tr>
<td colspan="2" id="settings_users_edit_label"></td>
</tr>
<tr>
<td colspan="2" id="settings_users_edit_errorlabel" style="color: red;"></td>
</tr>
</table>
</div>
@@ -339,6 +342,7 @@
var newPassword = document.getElementById('settings_users_edit_password').value;
if (newPassword.length > 0) {
console.log("New password value is long enough to commit to database");
var model = {
"newPassword": newPassword,
"confirmPassword": newPassword
@@ -348,12 +352,10 @@
'/api/v1.1/Account/Users/' + modalVariables + '/Password',
'POST',
function(result) {
console.log(JSON.stringify(result));
savePropertiesCallback();
savePasswordsCallback(result);
},
function(error) {
console.log(JSON.stringify(error));
savePropertiesCallback();
savePasswordsCallback(error);
},
JSON.stringify(model)
);
@@ -366,6 +368,21 @@
}
}
function savePasswordsCallback(result) {
console.log(result);
if (result.succeeded == true) {
savePropertiesCallback();
} else {
var errorBox = document.getElementById('settings_users_edit_errorlabel');
errorBox.innerHTML = '';
for (var i = 0; i < result.errors.length; i++) {
var errorMessage = document.createElement('p');
errorMessage.innerHTML = result.errors[i].description;
errorBox.appendChild(errorMessage);
}
}
}
function savePropertiesCallback() {
GetUsers();
closeDialog();

View File

@@ -28,6 +28,9 @@
<tr>
<td colspan="2" id="settings_users_new_label"></td>
</tr>
<tr>
<td colspan="2" id="settings_users_new_errors" style="color: red;"></td>
</tr>
<tr>
<td colspan="2" style="text-align: right; padding-top: 10px;">
<button value="OK" id="settings_users_new_okbutton" disabled="disabled" onclick="createUser();">OK</button><button value="Cancel" onclick="closeSubDialog();">Cancel</button>
@@ -75,14 +78,27 @@
'/api/v1.1/Account/Users',
'POST',
function(result) {
GetUsers();
closeSubDialog();
createUserCallback(result);
},
function(error) {
GetUsers();
closeSubDialog();
createUserCallback(result);
},
JSON.stringify(model)
);
}
function createUserCallback(result) {
if (result.succeeded == true) {
GetUsers();
closeSubDialog();
} else {
var errorBox = document.getElementById('settings_users_new_errors');
errorBox.innerHTML = '';
for (var i = 0; i < result.errors.length; i++) {
var errorMessage = document.createElement('p');
errorMessage.innerHTML = result.errors[i].description;
errorBox.appendChild(errorMessage);
}
}
}
</script>

View File

@@ -20,6 +20,9 @@
<tr>
<td colspan="2" id="profile_passwordnotice"></td>
</tr>
<tr>
<td colspan="2" id="profile_passworderrors" style="color: red;"></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;">
<button id="profile_resetpassword" value="Reset Password" disabled="disabled" onclick="ResetPassword();">Reset Password</button>
@@ -106,9 +109,16 @@
function ResetPasswordCallback(result) {
var errorLabel = document.getElementById('profile_passwordnotice');
var errorBox = document.getElementById('profile_passworderrors');
errorBox.innerHTML = '';
if (result.succeeded == false) {
errorLabel.innerHTML = result.errors.description;
console.log(result);
if (result.responseJSON.succeeded == false) {
for (var i = 0; i < result.responseJSON.errors.length; i++) {
var errorMessage = document.createElement('p');
errorMessage.innerHTML = result.responseJSON.errors[i].description;
errorBox.appendChild(errorMessage);
}
} else {
document.getElementById('profile_oldpassword').value = '';
document.getElementById('profile_newpassword').value = '';