Files
old-wiaas-legacy/api-wiaas/client/js/components/orders/assign-broker.directive.js
2018-06-11 11:09:35 +02:00

66 lines
2.2 KiB
JavaScript

(function () {
global.dashModule
.controller('assignBrokerCtrl', ['$scope', '$http', '$', '$translate', 'utilsService', assignBrokerCtrl])
.directive('assignBroker', [assignBrokerDirective]);
function assignBrokerDirective() {
return {
restrict: 'E',
templateUrl: 'orders/html/assignBrokerTemplate'
};
}
function assignBrokerCtrl($scope, $http, $, $translate, utilsService) {
$scope.assignBroker = assignToBroker;
$scope.removeAssign = removeAssign;
$scope.selectedBroker = '';
function getIdBroker(brokerName) {
const foundBroker = $scope.brokers.find(broker => {
return broker.brokerName === brokerName;
});
return foundBroker && foundBroker.idBroker ? foundBroker.idBroker : 0;
}
function assignToBroker() {
const idBroker = getIdBroker($scope.selectedBroker);
if (idBroker === 0) {
const translatedMessage = $translate.instant('orders.messages.INVALID_BROKER');
utilsService.displayMessage('error', translatedMessage);
$scope.selectedBroker = '';
} else {
const params = $.param({
idOrder: $scope.idOrder,
idBroker
});
$http({
method: 'POST',
url: 'orders/api/assignBroker',
data: params
}).then(showAssignMessage, utilsService.onHttpError);
}
}
function removeAssign() {
$('#assign-broker-' + $scope.idOrder).remove();
}
function showAssignMessage(response) {
if (typeof response.data.messages !== 'undefined') {
response.data.messages.forEach((messageObj) => {
const translatedMessage = $translate.instant('orders.messages.' + messageObj.message);
utilsService.displayMessage(messageObj.code, translatedMessage);
removeAssign();
if(typeof $scope.onUpdate !== 'undefined'){
$scope.onUpdate();
}
});
}
}
}
})();