Initial commit
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
(function () {
|
||||
global.dashModule
|
||||
.controller('chooseInstallationCtrl', ['$scope', '$', '$http', '$translate', 'utilsService', chooseInstallationCtrl])
|
||||
.directive('chooseInstallation', [chooseInstallationDirective]);
|
||||
|
||||
function chooseInstallationDirective() {
|
||||
return {
|
||||
restrict: 'E',
|
||||
templateUrl: 'orders/html/chooseInstallationTemplate'
|
||||
};
|
||||
}
|
||||
|
||||
function chooseInstallationCtrl($scope, $, $http, $translate, utilsService) {
|
||||
const step = $scope.$parent.step;
|
||||
const idOrder = step.idOrder || 0;
|
||||
const idPackage = step.idPackage || 0;
|
||||
$scope.saveInstallationForPackage = saveInstallationForPackage;
|
||||
$scope.getInstallCompaniesForPackage = getInstallCompaniesForPackage;
|
||||
$scope.installCompany = {};
|
||||
$scope.multipleInstallCompanies = false;
|
||||
|
||||
function getInstallCompaniesForPackage(step) {
|
||||
const params = $.param({
|
||||
idOrder,
|
||||
idPackage
|
||||
});
|
||||
|
||||
$http({
|
||||
method: 'POST',
|
||||
data: params,
|
||||
url: 'orders/api/getInstallCompaniesForPackage'
|
||||
}).then((response) => {
|
||||
setInstallationCompanies(response, step);
|
||||
}, utilsService.onHttpError);
|
||||
}
|
||||
|
||||
function setInstallationCompanies(response, step) {
|
||||
const availableInstallationCompanies = response.data.available;
|
||||
const selectedInstallationCompany = response.data.selected;
|
||||
if (response.data && availableInstallationCompanies.length) {
|
||||
if (availableInstallationCompanies.length === 1) {
|
||||
$scope.multipleInstallCompanies = false;
|
||||
step.installationCompany = availableInstallationCompanies[0];
|
||||
} else {
|
||||
$scope.multipleInstallCompanies = true;
|
||||
if (selectedInstallationCompany.length > 0) {
|
||||
step.installationCompany = selectedInstallationCompany[0];
|
||||
}
|
||||
step.installCompanies = availableInstallationCompanies;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function saveInstallationForPackage(step) {
|
||||
const params = $.param({
|
||||
idOrder,
|
||||
idPackage,
|
||||
idInstallation: step.installationCompany.id
|
||||
});
|
||||
|
||||
$http({
|
||||
method: 'POST',
|
||||
data: params,
|
||||
url: 'orders/api/saveInstallationCompany'
|
||||
}).then(showConfirmationMessage, utilsService.onHttpError);
|
||||
}
|
||||
|
||||
function showConfirmationMessage(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);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
})();
|
||||
@@ -0,0 +1,188 @@
|
||||
(function () {
|
||||
global.dashModule
|
||||
.controller('customerAcceptanceCtrl', ['$scope', '$', '$http', '$translate', 'Upload', 'utilsService', customerAcceptanceCtrl])
|
||||
.directive('customerAcceptance', [customerAcceptanceDirective]);
|
||||
|
||||
function customerAcceptanceDirective() {
|
||||
return {
|
||||
restrict: 'E',
|
||||
templateUrl: 'orders/html/customerAcceptanceTemplate'
|
||||
};
|
||||
}
|
||||
|
||||
function customerAcceptanceCtrl($scope, $, $http, $translate, Upload, utilsService) {
|
||||
const step = $scope.$parent.step;
|
||||
const idOrder = step.idOrder;
|
||||
const idProcess = step.idProcess;
|
||||
const stepInfo = {
|
||||
idOrder,
|
||||
idProcess,
|
||||
isNextButtonDisabled: true
|
||||
};
|
||||
$scope.getCustmerAcceptance = getCustmerAcceptance;
|
||||
$scope.getDueDateClass = getDueDateClass;
|
||||
$scope.uploadFile = uploadFile;
|
||||
$scope.acceptDeclineInstallation = acceptDeclineInstallation;
|
||||
$scope.getStatusIcon = getStatusIcon;
|
||||
$scope.acceptance = {};
|
||||
$scope.isInstallationNotAccepted = {};
|
||||
$scope.showHideDialog = showHideDialog;
|
||||
$scope.showDeclineInstallation = showDeclineInstallation;
|
||||
$scope.isAcceptInstallationDisabled = false;
|
||||
$scope.isDeclineInstallationDisabled = false;
|
||||
$scope.isInstallationDeclined = {};
|
||||
$scope.isDialogVisible = {};
|
||||
$scope.getAcceptanceClass = getAcceptanceClass;
|
||||
$scope.showCustomerAcceptance = showCustomerAcceptance;
|
||||
$scope.getCustomerAcceptanceDescription = getCustomerAcceptanceDescription;
|
||||
$scope.removeAcceptanceDocument = removeAcceptanceDocument;
|
||||
|
||||
function getCustmerAcceptance() {
|
||||
const params = $.param({
|
||||
idOrder
|
||||
});
|
||||
|
||||
$http({
|
||||
method: 'POST',
|
||||
data: params,
|
||||
url: 'orders/api/getCustomerAcceptance'
|
||||
}).then(setCustomerAcceptance, utilsService.onHttpError);
|
||||
}
|
||||
|
||||
function setCustomerAcceptance(response) {
|
||||
if (response.data && Object.keys(response.data).length) {
|
||||
$scope.acceptance = response.data[idOrder];
|
||||
stepInfo.isNextButtonDisabled = parseInt($scope.acceptance.customerAccepted) === 0;
|
||||
$scope.isAcceptInstallationDisabled = parseInt($scope.acceptance.customerAccepted) === 1;
|
||||
$scope.isDeclineInstallationDisabled = parseInt($scope.acceptance.customerAccepted) === -1;
|
||||
}
|
||||
utilsService.executeRegisteredFunction('isNextBtnDisabled', stepInfo);
|
||||
}
|
||||
|
||||
function getDueDateClass() {
|
||||
if ($scope.acceptance.daysDiff <= 0) {
|
||||
return 'alert-danger';
|
||||
}
|
||||
|
||||
if ($scope.acceptance.daysDiff <= 3) {
|
||||
return 'alert-warning';
|
||||
}
|
||||
|
||||
return 'alert-info';
|
||||
}
|
||||
|
||||
function displayMessage(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);
|
||||
|
||||
if (messageObj.code === 'success') {
|
||||
getCustmerAcceptance();
|
||||
}
|
||||
|
||||
if (messageObj.message === 'INSTALLATION_DECLINED') {
|
||||
showDeclineInstallation();
|
||||
$scope.installationDeclinedReason = '';
|
||||
$scope.isDeclineInstallationDisabled = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function uploadFile(file) {
|
||||
Upload.upload({
|
||||
url: 'orders/api/uploadAcceptanceDocument',
|
||||
method: 'POST',
|
||||
file: file,
|
||||
data: {
|
||||
idPackage,
|
||||
idOrder
|
||||
}
|
||||
}).then(displayMessage, utilsService.onHttpError);
|
||||
}
|
||||
|
||||
function acceptDeclineInstallation(actionType) {
|
||||
const params = $.param({
|
||||
idOrder,
|
||||
idPackage,
|
||||
actionType,
|
||||
declineReason: $scope.installationDeclinedReason
|
||||
});
|
||||
|
||||
if ((actionType === 'accept' && !$scope.isAcceptInstallationDisabled) ||
|
||||
(actionType === 'decline' && !$scope.isDeclineInstallationDisabled)) {
|
||||
$http({
|
||||
method: 'POST',
|
||||
data: params,
|
||||
url: 'orders/api/acceptDeclineInstallation'
|
||||
}).then(displayMessage, utilsService.onHttpError);
|
||||
}
|
||||
}
|
||||
|
||||
function getStatusIcon(status) {
|
||||
let icon = 'time';
|
||||
if (parseInt(status) === -1) {
|
||||
icon = 'remove';
|
||||
} else if (parseInt(status) === 1) {
|
||||
icon = 'ok';
|
||||
}
|
||||
|
||||
return icon;
|
||||
}
|
||||
|
||||
function showHideDialog(actionType) {
|
||||
$scope.$evalAsync(() => {
|
||||
$scope.isDialogVisible[actionType] = !$scope.isDialogVisible[actionType];
|
||||
});
|
||||
}
|
||||
|
||||
function showDeclineInstallation() {
|
||||
if (!$scope.isDeclineInstallationDisabled) {
|
||||
$scope.$evalAsync(() => {
|
||||
$scope.isInstallationDeclined[idPackage] = !$scope.isInstallationDeclined[idPackage];
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function getAcceptanceClass(acceptanceStatus) {
|
||||
let cssClass = 'warning';
|
||||
if (parseInt(acceptanceStatus) === -1) {
|
||||
cssClass = 'danger';
|
||||
} else if (parseInt(acceptanceStatus) === 1) {
|
||||
cssClass = 'success';
|
||||
}
|
||||
|
||||
return cssClass;
|
||||
}
|
||||
|
||||
function showCustomerAcceptance(acceptance) {
|
||||
return acceptance !== 0;
|
||||
}
|
||||
|
||||
function getCustomerAcceptanceDescription(customerAcceptance) {
|
||||
let acceptanceStatus = 'WAITING';
|
||||
if (parseInt(customerAcceptance) === -1) {
|
||||
acceptanceStatus = 'DECLINED';
|
||||
} else if (parseInt(customerAcceptance) === 1) {
|
||||
acceptanceStatus = 'ACCEPTED';
|
||||
}
|
||||
|
||||
return $translate.instant('orders.messages.CUSTOMER_INSTALLATION_' + acceptanceStatus);
|
||||
}
|
||||
|
||||
function removeAcceptanceDocument(idDocument) {
|
||||
const params = $.param({
|
||||
idOrder,
|
||||
idPackage,
|
||||
idDocument
|
||||
});
|
||||
|
||||
$http({
|
||||
method: 'POST',
|
||||
data: params,
|
||||
url: 'orders/api/removeOrderDocument'
|
||||
}).then(displayMessage, utilsService.onHttpError);
|
||||
}
|
||||
}
|
||||
})();
|
||||
@@ -0,0 +1,96 @@
|
||||
(function () {
|
||||
global.dashModule
|
||||
.controller('procurementCtrl', ['$scope', '$', '$http', '$translate', 'Upload', 'utilsService', 'ordersUtilsService', procurementCtrl])
|
||||
.directive('procurement', [procurementDirective]);
|
||||
|
||||
function procurementDirective() {
|
||||
return {
|
||||
restrict: 'E',
|
||||
templateUrl: 'orders/html/procurementTemplate'
|
||||
};
|
||||
}
|
||||
|
||||
function procurementCtrl($scope, $, $http, $translate, Upload, utilsService, ordersUtilsService) {
|
||||
const step = $scope.$parent.step;
|
||||
const idOrder = step.idOrder;
|
||||
$scope.getSuppliersByPackageOrder = getSuppliersByPackageOrder;
|
||||
$scope.uploadFile = uploadFile;
|
||||
$scope.removeOrderDocument = removeOrderDocument;
|
||||
$scope.isDialogVisible = {};
|
||||
$scope.showHideDialog = showHideDialog;
|
||||
$scope.selectPackage = selectPackage;
|
||||
$scope.selectedPackage = {};
|
||||
|
||||
function selectPackage(packageObj, idSupplier){
|
||||
$scope.selectedPackage[idSupplier] = packageObj;
|
||||
}
|
||||
|
||||
function getSuppliersByPackageOrder() {
|
||||
const params = $.param({
|
||||
idOrder,
|
||||
documentType: 'configuration'
|
||||
});
|
||||
|
||||
$http({
|
||||
method: 'POST',
|
||||
data: params,
|
||||
url: 'orders/api/getSuppliersByPackageOrder'
|
||||
}).then(setProductEstimations, utilsService.onHttpError);
|
||||
}
|
||||
|
||||
function setProductEstimations(response) {
|
||||
if (response.data) {
|
||||
$scope.suppliersData = response.data;
|
||||
$.each($scope.suppliersData, (name, details) => {
|
||||
details.documents.forEach(docDetails => {
|
||||
$scope.isDialogVisible[docDetails.idDocument] = false;
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function uploadFile(file, idSupplier) {
|
||||
Upload.upload({
|
||||
url: 'orders/api/uploadConfigurationDocument',
|
||||
method: 'POST',
|
||||
file: file,
|
||||
data: {
|
||||
idPackage : $scope.selectedPackage[idSupplier] && $scope.selectedPackage[idSupplier].idPackage || 0,
|
||||
idOrder,
|
||||
idSupplier
|
||||
}
|
||||
}).then(displayMessage, utilsService.onHttpError);
|
||||
}
|
||||
|
||||
function displayMessage(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);
|
||||
getSuppliersByPackageOrder();
|
||||
ordersUtilsService.getOrderInfo();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function removeOrderDocument(document) {
|
||||
const params = $.param({
|
||||
idOrder,
|
||||
idPackage: document.idPackage,
|
||||
idDocument: document.idDocument
|
||||
});
|
||||
|
||||
$http({
|
||||
method: 'POST',
|
||||
data: params,
|
||||
url: 'orders/api/removeOrderDocument'
|
||||
}).then(displayMessage, utilsService.onHttpError);
|
||||
}
|
||||
|
||||
function showHideDialog(idDocument) {
|
||||
$scope.$evalAsync(() => {
|
||||
$scope.isDialogVisible[idDocument] = !$scope.isDialogVisible[idDocument];
|
||||
});
|
||||
}
|
||||
}
|
||||
})();
|
||||
@@ -0,0 +1,147 @@
|
||||
(function () {
|
||||
global.dashModule
|
||||
.controller('scheduleMeetingCtrl', ['$scope', '$', '$http', '$translate', 'utilsService', scheduleMeetingCtrl])
|
||||
.directive('scheduleMeeting', [scheduleMeetingDirective]);
|
||||
|
||||
function scheduleMeetingDirective() {
|
||||
return {
|
||||
restrict: 'E',
|
||||
templateUrl: 'orders/html/scheduleMeetingTemplate'
|
||||
};
|
||||
}
|
||||
|
||||
function scheduleMeetingCtrl($scope, $, $http, $translate, utilsService) {
|
||||
$scope.updateScheduledDates = updateScheduledDates;
|
||||
$scope.getScheduledDates = getScheduledDates;
|
||||
$scope.addNewSchedule = addNewSchedule;
|
||||
$scope.getIcon = getIcon;
|
||||
$scope.canNotEditDate = canNotEditDate;
|
||||
$scope.changeScheduleStatus = changeScheduleStatus;
|
||||
$scope.parentStep = $scope.$parent.step;
|
||||
const stepInfo = {
|
||||
isNextButtonDisabled: true,
|
||||
idOrder: $scope.$parent.step.idOrder,
|
||||
idPackage: $scope.$parent.step.idPackage,
|
||||
idProcess: $scope.$parent.step.idProcess
|
||||
};
|
||||
utilsService.executeRegisteredFunction('isNextBtnDisabled', stepInfo);
|
||||
|
||||
function getScheduledDates(step) {
|
||||
const params = $.param({
|
||||
idOrder: step.idOrder,
|
||||
idPackage: step.idPackage,
|
||||
idProcessStep: step.idProcessStep || 0
|
||||
});
|
||||
|
||||
$http({
|
||||
method: 'POST',
|
||||
url: 'orders/api/getScheduledDates',
|
||||
data: params
|
||||
}).then((response) => {
|
||||
setScheduleDates(response, step);
|
||||
}, utilsService.onHttpError);
|
||||
}
|
||||
|
||||
function setScheduleDates(response, step) {
|
||||
if (response.data && response.data.length) {
|
||||
step.scheduledDates = response.data;
|
||||
} else {
|
||||
addNewSchedule(step);
|
||||
}
|
||||
checkIfDateConfirmed(step);
|
||||
}
|
||||
|
||||
function addNewSchedule(step) {
|
||||
if (!step.scheduledDates) {
|
||||
step.scheduledDates = [];
|
||||
}
|
||||
|
||||
step.scheduledDates.push((() => {
|
||||
return {
|
||||
idSchedule: 0,
|
||||
isDateConfirmed : 0,
|
||||
scheduledDate: '',
|
||||
idPackage: step.idPackage,
|
||||
idProcessStep: step.idProcessStep
|
||||
};
|
||||
})());
|
||||
}
|
||||
|
||||
function updateScheduledDates(newDate, data) {
|
||||
const params = $.param({
|
||||
idOrder: data.step.idOrder,
|
||||
idPackage: data.step.idPackage,
|
||||
idProcess: data.step.idProcess,
|
||||
idProcessStep: data.step.idProcessStep || 0,
|
||||
idSchedule: data.scheduleDate.idSchedule,
|
||||
newDate: newDate,
|
||||
});
|
||||
|
||||
$http({
|
||||
method: 'POST',
|
||||
url: 'orders/api/updateScheduledDates',
|
||||
data: params
|
||||
}).then((response) => {
|
||||
showConfirmationMessage(response, data.step);
|
||||
}, utilsService.onHttpError);
|
||||
}
|
||||
|
||||
function showConfirmationMessage(response, step) {
|
||||
if (typeof response.data.messages !== 'undefined') {
|
||||
response.data.messages.forEach((messageObj) => {
|
||||
const key = messageObj.key ? $translate.instant('orders.messages.' + messageObj.key) : '';
|
||||
let translatedMessage = $translate.instant('orders.messages.' + messageObj.message);
|
||||
translatedMessage = key !== '' ? key + ': ' + translatedMessage : translatedMessage;
|
||||
utilsService.displayMessage(messageObj.code, translatedMessage);
|
||||
if (messageObj.code === 'success') {
|
||||
getScheduledDates(step);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function getIcon(status){
|
||||
const statusesIcons = {
|
||||
pending: 'time',
|
||||
accepted: 'ok',
|
||||
declined: 'ban-circle'
|
||||
};
|
||||
|
||||
return statusesIcons[status];
|
||||
}
|
||||
|
||||
function canNotEditDate(scheduleDate){
|
||||
return parseInt(scheduleDate.isDateConfirmed) !== 0;
|
||||
}
|
||||
|
||||
function changeScheduleStatus(scheduleDate, status, step){
|
||||
const params = $.param({
|
||||
idSchedule : scheduleDate.idSchedule,
|
||||
idOrder: step.idOrder,
|
||||
idPackage: step.idPackage,
|
||||
actionCode: step.actionCode,
|
||||
status
|
||||
});
|
||||
|
||||
$http({
|
||||
method: 'POST',
|
||||
url: 'orders/api/updateScheduleDateStatus',
|
||||
data: params
|
||||
}).then((response) => {
|
||||
showConfirmationMessage(response, step);
|
||||
}, utilsService.onHttpError);
|
||||
}
|
||||
|
||||
function checkIfDateConfirmed(step){
|
||||
let isConfirmed = false;
|
||||
step.scheduledDates.forEach((date) => {
|
||||
if(date.isDateConfirmed && parseInt(date.isDateConfirmed) === 1){
|
||||
isConfirmed = true;
|
||||
}
|
||||
});
|
||||
|
||||
stepInfo.isNextButtonDisabled = !isConfirmed;
|
||||
utilsService.executeRegisteredFunction('isNextBtnDisabled', stepInfo);
|
||||
}
|
||||
}
|
||||
})();
|
||||
@@ -0,0 +1,178 @@
|
||||
(function () {
|
||||
global.dashModule
|
||||
.controller('validateQuestionnaireCtrl', ['$scope', '$', '$http', '$translate', 'Upload', 'utilsService', validateQuestionnaireCtrl])
|
||||
.directive('validateQuestionnaire', [validateQuestionnaireDirective]);
|
||||
|
||||
function validateQuestionnaireDirective() {
|
||||
return {
|
||||
restrict: 'E',
|
||||
templateUrl: 'orders/html/validateQuestionnaireTemplate'
|
||||
};
|
||||
}
|
||||
|
||||
function validateQuestionnaireCtrl($scope, $, $http, $translate, Upload, utilsService) {
|
||||
$scope.customerDocuments = [];
|
||||
$scope.getDocumentsAndQuestionnaireComments = getDocumentsAndQuestionnaireComments;
|
||||
$scope.getValidationStatus = getValidationStatus;
|
||||
$scope.validateQuestionaire = validateQuestionaire;
|
||||
$scope.uploadFile = uploadFile;
|
||||
$scope.needsUplaod = needsUplaod;
|
||||
$scope.isQuestionaireInvalid = {};
|
||||
$scope.isValidationDialogVisible = {
|
||||
validated : {},
|
||||
invalid : {}
|
||||
};
|
||||
$scope.showHideValidationDialog = showHideValidationDialog;
|
||||
$scope.showInvalidTextbox = showInvalidTextbox;
|
||||
$scope.waitingResponseFromCustomer = {};
|
||||
$scope.getInvalidReasonsHeader = getInvalidReasonsHeader;
|
||||
$scope.questionnaireCommentsExist = false;
|
||||
const step = $scope.$parent.step;
|
||||
const idOrder = step.idOrder;
|
||||
const idProcessStep = step.idProcessStep;
|
||||
const stepInfo = {
|
||||
idOrder,
|
||||
idProcess: step.idProcess
|
||||
};
|
||||
|
||||
function getDocumentsAndQuestionnaireComments() {
|
||||
getCustomerDocuments();
|
||||
getQuestionnaireComments();
|
||||
}
|
||||
|
||||
function getCustomerDocuments() {
|
||||
const params = $.param({
|
||||
idOrder,
|
||||
documentType: 'orderQuestionaire'
|
||||
});
|
||||
|
||||
$http({
|
||||
method: 'POST',
|
||||
data: params,
|
||||
url: 'v2/orders/api/getOrderDocumentsPerType'
|
||||
}).then(setCustomerDocuments, utilsService.onHttpError);
|
||||
}
|
||||
|
||||
function showHideValidationDialog(fctParams) {
|
||||
if(!$scope.waitingResponseFromCustomer[fctParams.idDocument]) {
|
||||
$scope.$evalAsync(() => {
|
||||
$scope.isValidationDialogVisible[fctParams.validationStatus][fctParams.idDocument] = !$scope.isValidationDialogVisible[fctParams.validationStatus][fctParams.idDocument];
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function checkIfAllValid() {
|
||||
let allValid = true;
|
||||
Object.keys($scope.customerDocuments).forEach(key => {
|
||||
const packageDocuments = $scope.customerDocuments[key];
|
||||
packageDocuments.forEach((doc) => {
|
||||
if (doc.validation !== 'validated') {
|
||||
allValid = false;
|
||||
}
|
||||
$scope.waitingResponseFromCustomer[doc.idDocument] = doc.validation !== 'not-validated';
|
||||
});
|
||||
});
|
||||
|
||||
stepInfo.isNextButtonDisabled = !allValid;
|
||||
utilsService.executeRegisteredFunction('isNextBtnDisabled', stepInfo);
|
||||
}
|
||||
|
||||
function setCustomerDocuments(response) {
|
||||
if (response.data && response.data.documents) {
|
||||
$scope.customerDocuments = response.data.documents;
|
||||
checkIfAllValid();
|
||||
}
|
||||
}
|
||||
|
||||
function getValidationStatus(status, documentValidation) {
|
||||
return status === documentValidation;
|
||||
}
|
||||
|
||||
function validateQuestionaire(fctParams) {
|
||||
const params = $.param({
|
||||
idOrder,
|
||||
idPackage: fctParams.idPackage,
|
||||
idDocument: fctParams.idDocument,
|
||||
idProcessStep,
|
||||
validationStatus: fctParams.validationStatus,
|
||||
invalidQuestionaireReason: $scope.invalidQuestionaireReason
|
||||
});
|
||||
|
||||
if (!$scope.waitingResponseFromCustomer[fctParams.idDocument]) {
|
||||
$http({
|
||||
method: 'POST',
|
||||
data: params,
|
||||
url: 'orders/api/validateQuestionaire'
|
||||
}).then(displayMessage, utilsService.onHttpError);
|
||||
}
|
||||
}
|
||||
|
||||
function displayMessage(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);
|
||||
|
||||
if (messageObj.code === 'success') {
|
||||
$scope.invalidQuestionaireReason = '';
|
||||
$scope.isQuestionaireInvalid = {};
|
||||
getDocumentsAndQuestionnaireComments();
|
||||
}
|
||||
|
||||
if (messageObj.message === 'REASON_EMPTY') {
|
||||
$('#invalid-questionaire-comment').focus();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function needsUplaod(validation) {
|
||||
return validation === 'invalid';
|
||||
}
|
||||
|
||||
function uploadFile(file, idDocument, idPackage) {
|
||||
Upload.upload({
|
||||
url: 'orders/api/reUploadQuestionaire',
|
||||
method: 'POST',
|
||||
file: file,
|
||||
data: {
|
||||
idPackage,
|
||||
idOrder,
|
||||
idDocument
|
||||
}
|
||||
}).then(displayMessage, utilsService.onHttpError);
|
||||
}
|
||||
|
||||
function showInvalidTextbox(idDocument) {
|
||||
$scope.isQuestionaireInvalid[idDocument] = (!$scope.isQuestionaireInvalid[idDocument] && !$scope.waitingResponseFromCustomer[idDocument]);
|
||||
}
|
||||
|
||||
function getQuestionnaireComments() {
|
||||
const params = $.param({
|
||||
idOrder,
|
||||
idProcessStep,
|
||||
commentType: 'invalidQuestionnaireComment'
|
||||
});
|
||||
|
||||
$http({
|
||||
method: 'POST',
|
||||
url: 'v2/orders/api/getCommentsByType',
|
||||
data: params
|
||||
}).then(setQuestionnaireComments, utilsService.onHttpError);
|
||||
}
|
||||
|
||||
function setQuestionnaireComments(response) {
|
||||
if (typeof response.data !== 'undefined') {
|
||||
if (response.data.messages) {
|
||||
displayMessage(response);
|
||||
}
|
||||
$scope.invalidQuestionaireComments = response.data;
|
||||
$scope.questionnaireCommentsExist = $scope.invalidQuestionaireComments.length > 0;
|
||||
}
|
||||
}
|
||||
|
||||
function getInvalidReasonsHeader() {
|
||||
return $translate.instant('orders.tables.extra.INVALID_REASONS');
|
||||
}
|
||||
}
|
||||
})();
|
||||
Reference in New Issue
Block a user