102 lines
3.3 KiB
JavaScript
102 lines
3.3 KiB
JavaScript
(function () {
|
|
global.dashModule
|
|
.controller('customersViewCtrl', ['$scope', '$http', '$', '$translate', 'utilsService', customersViewController])
|
|
.directive('customersView', [customersViewDirective]);
|
|
|
|
function customersViewDirective() {
|
|
return {
|
|
restrict: 'E',
|
|
templateUrl: 'customers/html/customersViewTemplate'
|
|
};
|
|
}
|
|
|
|
function customersViewController($scope, $http, $, $translate, utilsService) {
|
|
$scope.viewCustomersIntit = viewCustomersIntit;
|
|
$scope.saveDefaultOrderType = saveDefaultOrderType;
|
|
$scope.saveCustomerOrderTypes = saveCustomerOrderTypes;
|
|
$scope.isSameCompany = isSameCompany;
|
|
|
|
const RESELLER_ORDER_TYPE = '2';
|
|
|
|
function viewCustomersIntit(){
|
|
getCustomers();
|
|
getOrderTypes();
|
|
}
|
|
|
|
function getCustomers() {
|
|
const params = $.param({
|
|
idPackage: global.getParameterByName('idPackage') || 0
|
|
});
|
|
|
|
$http({
|
|
method: 'POST',
|
|
url: 'customers/api/getComercialLeadCustomers',
|
|
data: params
|
|
}).then(showCustomers, utilsService.onHttpError);
|
|
}
|
|
|
|
function showCustomers(response) {
|
|
if (response.data) {
|
|
$scope.customers = response.data.customers;
|
|
$scope.defaultIdOrderType = response.data.defaultIdOrderType;
|
|
|
|
$scope.customers.forEach(customer => {
|
|
if(isSameCompany(customer.isSameCompanyAsCl)){
|
|
customer.idOrderType = RESELLER_ORDER_TYPE;
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function getOrderTypes() {
|
|
$http({
|
|
method: 'GET',
|
|
url: 'customers/api/getOrderTypes'
|
|
}).then(setOrderTypes, utilsService.onHttpError);
|
|
}
|
|
|
|
function setOrderTypes(response) {
|
|
if(response.data) {
|
|
$scope.orderTypes = response.data;
|
|
}
|
|
}
|
|
|
|
function saveDefaultOrderType(){
|
|
const params = $.param({
|
|
defaultIdOrderType: $scope.defaultIdOrderType
|
|
});
|
|
|
|
$http({
|
|
method: 'POST',
|
|
url: 'customers/api/saveDefaultOrderType',
|
|
data: params
|
|
}).then(showUpdateDefaultMessage, utilsService.onHttpError);
|
|
}
|
|
|
|
function saveCustomerOrderTypes(){
|
|
const params = $.param({
|
|
customers: JSON.stringify($scope.customers)
|
|
});
|
|
|
|
$http({
|
|
method: 'POST',
|
|
url: 'customers/api/saveCustomersOrderTypes',
|
|
data: params
|
|
}).then(showUpdateDefaultMessage, utilsService.onHttpError);
|
|
}
|
|
|
|
function showUpdateDefaultMessage(response) {
|
|
if (typeof response.data.messages !== 'undefined') {
|
|
response.data.messages.forEach((messageObj) => {
|
|
let translatedMessage = $translate.instant('customers.messages.' + messageObj.message);
|
|
utilsService.displayMessage(messageObj.code, translatedMessage);
|
|
});
|
|
}
|
|
}
|
|
|
|
function isSameCompany(isSameCompanyAsCl){
|
|
return parseInt(isSameCompanyAsCl) === 1;
|
|
}
|
|
}
|
|
})();
|