From fdf75265379694deec3fbe612f1510140c44a005 Mon Sep 17 00:00:00 2001 From: Ronan Tavares Camargo Date: Tue, 19 Apr 2016 10:54:05 -0300 Subject: [PATCH] Redmine #4545 --- cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/CronogramaExecucaoController.js | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/CronogramaExecucaoController.js b/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/CronogramaExecucaoController.js index ed63769..c3bdf68 100644 --- a/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/CronogramaExecucaoController.js +++ b/cit-contratos-web/src/main/webapp/assets/js/angular/custom/controller/CronogramaExecucaoController.js @@ -20,7 +20,7 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim $scope.uploader = new FileUploader({ autoUpload: false, - queueLimit: 1, + queueLimit: 99, url: '/cit-tabelas-corp-web/rest/anexo/uploadAnexo?idDocumento=' }); @@ -153,15 +153,16 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim $scope.setLoadingSalva(true); var cronogramaExecucaoTemp = { - documentos: [] + documentos: [] }; // preencher lista de documentos temporarios para verificacao dos anexos. verificar qual anexo e de qual documento pelo numero do documento angular.forEach($scope.cronogramaExecucao.documentos, function(documento, key) { if (documento.uploadsDocumento) { + documento.uuid = getUuid(); cronogramaExecucaoTemp.documentos.push({ - uploadsDocumento: clone(documento.uploadsDocumento), - numero: clone(documento.numero) + file: documento.uploadsDocumento[0], + uuid: clone(documento.uuid) }); // deleta esse atributo por causa de um erro de ciclo no json delete documento.uploadsDocumento; @@ -192,33 +193,28 @@ citApp.controller('CronogramaExecucaoController', ['$scope', '$translate', '$tim // metodo utilizado para percorrer a lista de documentos persistidos e verificar com a lista de documentos temporarios para verificacao de qual anexo pertence a qual documento var salvarListaDocumentos = function(cronogramaExecucaoTemp) { - + $scope.uploader.queue = []; + angular.forEach($scope.cronogramaExecucao.documentos, function(documentoSalvo, key) { // verifica se a entidade documento foi salva if (documentoSalvo !== undefined && documentoSalvo.id !== undefined) { // percorre todos os documentos temporarios para verificacao do numero do documento angular.forEach(cronogramaExecucaoTemp.documentos, function(documentoTransient, key) { // verifica se o numero do documento salvo e igual ao numero do documento transient que o anexo ainda esta vinculado - if (documentoSalvo.numero === documentoTransient.numero) { + if (documentoTransient.file && documentoSalvo.uuid === documentoTransient.uuid) { //salva o anexo ao documento que tiver o mesmo numero do documento transient - salvarUpload(documentoSalvo, documentoTransient.uploadsDocumento); + + documentoTransient.file.url = documentoTransient.file.url + documentoSalvo.id + $scope.uploader.queue.push(documentoTransient.file) } }); } }); - }; - - // metodo responsavel para salvar os anexos do contrato depois de ter salvo o contrato, utilizando a referencia do id contrato.documento.id - var salvarUpload = function(documento, uploadsDocumento) { - $scope.uploader.queue = uploadsDocumento; - // percorre a lista de uploads a serem enviados - angular.forEach($scope.uploader.queue, function(item, key) { - item.url = item.url + documento.id; - }); - if ($scope.uploader.queue && $scope.uploader.queue.length > 0) { - // realiza o upload se existir no minimo um arquivo para upload - $scope.uploader.uploadAll(); + + if($scope.uploader.queue.length > 0){ + $scope.uploader.uploadAll(); } + delete $scope.cronogramaExecucaoTemp; }; // Limpa o formulario preenchido -- libgit2 0.21.2