48 lines
1.5 KiB
JavaScript
48 lines
1.5 KiB
JavaScript
/* exported UserPasswordController */
|
|
|
|
'use strict';
|
|
|
|
function UserPasswordController ($scope, $routeParams, Client) {
|
|
$scope.active = false;
|
|
$scope.currentPassword = '';
|
|
$scope.newPassword = '';
|
|
$scope.repeatPassword = '';
|
|
$scope.validationClass = {};
|
|
|
|
$scope.submit = function () {
|
|
$scope.validationClass.currentPassword = '';
|
|
$scope.validationClass.newPassword = '';
|
|
$scope.validationClass.repeatPassword = '';
|
|
|
|
if ($scope.newPassword !== $scope.repeatPassword) {
|
|
document.getElementById('inputRepeatPassword').focus();
|
|
$scope.validationClass.repeatPassword = 'has-error';
|
|
$scope.repeatPassword = '';
|
|
return;
|
|
}
|
|
|
|
$scope.active = true;
|
|
Client.changePassword($scope.currentPassword, $scope.newPassword, function (error) {
|
|
if (error && error.statusCode === 403) {
|
|
document.getElementById('inputCurrentPassword').focus();
|
|
$scope.validationClass.currentPassword = 'has-error';
|
|
$scope.currentPassword = '';
|
|
$scope.newPassword = '';
|
|
$scope.repeatPassword = '';
|
|
} else if (error) {
|
|
console.error('Unable to change password.', error);
|
|
} else {
|
|
window.history.back();
|
|
}
|
|
|
|
$scope.active = false;
|
|
});
|
|
};
|
|
|
|
$scope.cancel = function () {
|
|
window.history.back();
|
|
};
|
|
|
|
document.getElementById('inputCurrentPassword').focus();
|
|
}
|