(function () { 'use strict'; angular .module('users') .controller('ChangePasswordController', ChangePasswordController); ChangePasswordController.$inject = ['$scope', '$http', 'Authentication', 'UsersService', 'PasswordValidator', 'Notification']; function ChangePasswordController($scope, $http, Authentication, UsersService, PasswordValidator, Notification) { var vm = this; vm.user = Authentication.user; vm.changeUserPassword = changeUserPassword; vm.getPopoverMsg = PasswordValidator.getPopoverMsg; // Change user password function changeUserPassword(isValid) { if (!isValid) { $scope.$broadcast('show-errors-check-validity', 'vm.passwordForm'); return false; } UsersService.changePassword(vm.passwordDetails) .then(onChangePasswordSuccess) .catch(onChangePasswordError); } function onChangePasswordSuccess(response) { // If successful show success message and clear form Notification.success({ message: ' Password Changed Successfully' }); vm.passwordDetails = null; } function onChangePasswordError(response) { Notification.error({ message: response.data.message, title: ' Password change failed!' }); } } }());