Files
old-wiaas-legacy/api-wiaas/client/js/components/profile-settings/edit-profile.directive.js
2018-06-11 11:09:35 +02:00

81 lines
2.6 KiB
JavaScript

(function () {
global.dashModule
.directive('editProfile', editProfileDirective)
.controller('editProfileCtrl', ['$scope', '$', '$http', '$translate', 'utilsService', editProfileCtrl]);
function editProfileDirective() {
return {
restrict: 'E',
templateUrl: 'profileSettings/html/EditProfileTemplate'
};
}
function editProfileCtrl($scope, $, $http, $translate, utilsService) {
$scope.saveProfile = saveProfile;
$scope.getProfile = getProfile;
$scope.saveCompany = saveCompany;
$scope.isCompanyAdmin = isCompanyAdmin;
$scope.idUser = global.getParameterByName('idUser') || 0;
function isCompanyAdmin(){
return $scope.data && (parseInt($scope.data.isCompanyAdmin) === 1 || $scope.data.userType === 'broker');
}
function getProfile(){
const params = $.param({
idUser: $scope.idUser
});
$http({
method: 'POST',
data: params,
url: 'v2/profileSettings/api/getProfileInfo'
}).then(setProfile, utilsService.onHttpError);
}
function setProfile(response){
if (response.data) {
$scope.data = response.data;
}
}
function saveProfile() {
const params = $.param({
idUser: $scope.idUser,
profile: JSON.stringify($scope.data)
});
$http({
method: 'POST',
data: params,
url: 'v2/profileSettings/api/saveProfileInfo'
}).then(showConfirmationMessage, utilsService.onHttpError);
}
function saveCompany() {
const params = $.param({
companyInfo: JSON.stringify({
idCompany: $scope.data.idCompany,
companyName: $scope.data.companyName,
vatCode: $scope.data.vatCode
})
});
$http({
method: 'POST',
data: params,
url: 'v2/profileSettings/api/saveCompanyInfo'
}).then(showConfirmationMessage, utilsService.onHttpError);
}
function showConfirmationMessage(response) {
if(response.data && response.data.messages) {
response.data.messages.forEach(messageData => {
const message = $translate.instant('profile.forms.messages.' + messageData.message);
utilsService.displayMessage(messageData.code, message);
});
}
}
}
})();