unserver-unify
Version:
101 lines (96 loc) • 3.12 kB
JavaScript
angular.module('bamboo').component('resetPwdComponent', {
templateUrl: 'app/directive/notice/resetpwd.component.html',
bindings: {
resolve: '<',
close: '&',
dismiss: '&',
},
controller: ['$timeout', 'ApiService', 'CommonService', '$localStorage', 'pwdService', '$translate', 'loginService','$uibModal', function($timeout, ApiService, CommonService, $localStorage, pwdService, $translate, loginService,$uibModal) {
var self = this;
self.$onInit = function() {
//self.pwdRule = $translate.instant(pwdService.getValidateRule());
//self.pwdRegex = $translate.instant(pwdService.getValidateRegex());
//console.info(self.pwdRule);
//console.info(self.resolve.reason);
};
self.ok = function() {
console.log(self);
};
self.submit = function(form) {
//console.log(form);
if (form.$invalid) {
self.shaking = true;
$timeout(function() {
self.shaking = false;
}, 500);
return;
}
var pwdData = {
newp: self.newPwd,
oldp: self.oldPwd
}
console.info(pwdData);
ApiService.put('/password', pwdData).then(function(result) {
console.log(result);
if (result.data.success) {
CommonService.showNoBlockInfo('Update Successfully , please sign in again to continue !');
$localStorage.FORCE_RESET_PWD = false;
openConfirmDlg();
self.close({
$value: ""
});
} else {
if (result.data.error == 'Wrong Password') {
self.wrongPwd = true;
}
if (result.data.error == 'Used Password!') {
self.usedPwd = true;
}
self.shaking = true;
$timeout(function() {
self.shaking = false;
}, 500);
}
});
};
self.cancel = function() {
self.dismiss({
$value: 'cancel'
});
loginService.logout();
};
self.pwdchange = function() {
self.wrongPwd = false;
}
self.newPwdchange = function() {
self.usedPwd = false;
}
function openConfirmDlg() {
var modalInstance = $uibModal.open({
animation: true,
component: 'simpleDialogueComponent',
backdrop: 'static',
keyboard: false,
size: "sm vertical-align-center",
resolve: {
options: function() {
return {
content: $translate.instant('You have got a new password ,please logout and login again !'),
title: $translate.instant('Notice'),
show_header: true,
show_footer: false,
show_download: false,
content_confirm_text: "Confirm",
show_content_confirm: true
};
}
}
});
modalInstance.result.then(function(selectedItem) {
loginService.logout();
}, function() {
console.info('modal-component dismissed at: ' + new Date());
});
}
}]
});