Files
old-wiaas-legacy/api-wiaas/client/js/components/suppliers/upload-product-document.directive.js
2018-06-11 11:09:35 +02:00

73 lines
2.7 KiB
JavaScript

(function () {
global.dashModule
.controller('uploadProductDocumentCtrl', ['$scope', '$', '$http', '$translate', 'utilsService', 'Upload', uploadProductDocumentCtrl])
.directive('uploadProductDocument', [uploadProductDocumentDirective]);
function uploadProductDocumentDirective() {
return {
restrict: 'E',
templateUrl: 'suppliers/html/uploadProductDocumentTempalte'
};
}
function uploadProductDocumentCtrl($scope, $, $http, $translate, utilsService, Upload) {
$scope.uploadFile = uploadFile;
$scope.getDocumentTypes = getDocumentTypes;
$scope.selectFileType = selectFileType;
$scope.visibleToCustomer = '1';
$scope.selectedFileType = {};
const idSupplierProduct = $scope.$parent.data.idProduct;
function getDocumentTypes() {
$http({
url: 'documents/api/getDocumentTypes',
method: 'POST',
data: $.param({
withoutTemplates: true
})
}).then(setDocumentTypes, utilsService.onHttpError);
}
function setDocumentTypes(response){
if(response.data && response.data.length){
$scope.documentTypes = response.data.filter((documentType) => {
return documentType.isSpecialType !== 1;
});
}
}
function selectFileType(docType){
$scope.selectedFileType = docType;
}
function uploadFile(file) {
Upload.upload({
url: 'suppliers/api/uploadProductDocument',
method: 'POST',
file: file,
data: {
idSupplierProduct,
idDocumentType: $scope.selectedFileType.idDocumentType || 0,
visibleToCustomer: $scope.visibleToCustomer,
documentName: $scope.documentName
}
}).then(displayMessage, utilsService.onHttpError);
}
function displayMessage(response) {
if (typeof response.data.messages !== 'undefined') {
response.data.messages.forEach((messageObj) => {
const translatedMessage = $translate.instant('suppliers.messages.' + messageObj.message);
utilsService.displayMessage(messageObj.code, translatedMessage);
if(messageObj.code === 'success'){
$scope.fileName = '';
if (typeof $scope.$parent.onUpdated !== 'undefined') {
$scope.$parent.onUpdated();
}
}
});
}
}
}
})();