Commit f2f94480e56e2eff2988ded53b63f3a9bb252735

Authored by Ciro Junior
1 parent 5702950f
Exists in master

[Redmine #4466]

Corrigindo comportamento da tela.
cit-ecm-api/src/main/java/br/com/centralit/api/dao/TarjaAssinaturaDao.java
... ... @@ -3,6 +3,17 @@ package br.com.centralit.api.dao;
3 3 import br.com.centralit.framework.dao.arquitetura.CitGenericDAO;
4 4  
5 5  
6   -public interface TarjaAssinaturaDao extends CitGenericDAO {
7   -
8   -}
  6 +/**
  7 + * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
  8 + *
  9 + * <p><b>Company: </b> Central IT - Governan&ccedil;a Corporativa - </p>
  10 + *
  11 + * <p><b>Description: </b></p>
  12 + * Interface DAO para itera&ccedil;&atilde;o com banco de dados para os objetos de {@link TarjaAssinaturaDao}
  13 + *
  14 + * @since 14 de abr de 2016 - 10:21:47
  15 + * @version 1.0.0
  16 + * @author ciro.junior (<a href="mailto:ciro.junior@centralit.com.br">ciro.junior@centralit.com.br</a>)
  17 + *
  18 + */
  19 +public interface TarjaAssinaturaDao extends CitGenericDAO {}
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/dao/TarjaAssinaturaDaoHibernate.java 0 → 100644
... ... @@ -0,0 +1,28 @@
  1 +package br.com.centralit.api.dao;
  2 +
  3 +import org.springframework.stereotype.Repository;
  4 +
  5 +import br.com.centralit.api.model.TarjaAssinatura;
  6 +import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl;
  7 +
  8 +/**
  9 + * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
  10 + *
  11 + * <p><b>Company: </b> Central IT - Governan&ccedil;a Corporativa - </p>
  12 + *
  13 + * <p><b>Description: </b></p>
  14 + * Interface DAO para itera&ccedil;&atilde;o com banco de dados para os objetos de {@link TarjaAssinaturaDao}
  15 + *
  16 + * @since 14 de abr de 2016 - 10:21:47
  17 + * @version 1.0.0
  18 + * @author ciro.junior (<a href="mailto:ciro.junior@centralit.com.br">ciro.junior@centralit.com.br</a>)
  19 + *
  20 + */
  21 +@Repository("tarjaAssinaturaDao")
  22 +public class TarjaAssinaturaDaoHibernate extends CitGenericDAOImpl implements TarjaAssinaturaDao {
  23 +
  24 + public TarjaAssinaturaDaoHibernate() {
  25 + super(TarjaAssinatura.class);
  26 + }
  27 +
  28 +}
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/model/TarjaAssinatura.java
... ... @@ -32,7 +32,6 @@ public class TarjaAssinatura extends PersistentObjectAudit{
32 32 private String descricao;
33 33  
34 34 @ManyToOne(fetch = FetchType.LAZY)
35   - @Column (nullable = false)
36 35 @JsonView({ ViewsEcm.TarjaAssinaturaEditview.class })
37 36 private Dominio tipoAssinatura;
38 37  
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/model/TarjaAssinaturaVH.java 0 → 100644
... ... @@ -0,0 +1,42 @@
  1 +package br.com.centralit.api.model;
  2 +
  3 +import java.io.Serializable;
  4 +
  5 +import com.fasterxml.jackson.annotation.JsonView;
  6 +
  7 +import br.com.centralit.api.framework.json.ViewsEcm;
  8 +
  9 +public class TarjaAssinaturaVH implements Serializable{
  10 +
  11 + private static final long serialVersionUID = -82446677470229523L;
  12 +
  13 + @JsonView({ ViewsEcm.TarjaAssinaturaEditview.class })
  14 + private TarjaAssinatura assinaturaInterna;
  15 +
  16 + @JsonView({ ViewsEcm.TarjaAssinaturaEditview.class })
  17 + private TarjaAssinatura assinaturaCertificado;
  18 +
  19 +
  20 + public TarjaAssinatura getAssinaturaInterna() {
  21 +
  22 + return assinaturaInterna;
  23 + }
  24 +
  25 +
  26 + public void setAssinaturaInterna(TarjaAssinatura assinaturaInterna) {
  27 +
  28 + this.assinaturaInterna = assinaturaInterna;
  29 + }
  30 +
  31 +
  32 + public TarjaAssinatura getAssinaturaCertificado() {
  33 +
  34 + return assinaturaCertificado;
  35 + }
  36 +
  37 +
  38 + public void setAssinaturaCertificado(TarjaAssinatura assinaturaCertificado) {
  39 +
  40 + this.assinaturaCertificado = assinaturaCertificado;
  41 + }
  42 +}
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/TarjaAssinaturaService.java
... ... @@ -3,15 +3,16 @@ package br.com.centralit.api.service;
3 3 import org.springframework.web.multipart.MultipartFile;
4 4  
5 5 import br.com.centralit.api.model.TarjaAssinatura;
  6 +import br.com.centralit.api.model.TarjaAssinaturaVH;
6 7 import br.com.centralit.framework.service.arquitetura.GenericService;
7 8  
8   -
9 9 /**
10 10 * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
11 11 *
12 12 * <p><b>Company: </b> Central IT - Governan&ccedil;a Corporativa - </p>
13 13 *
14 14 * <p><b>Description: </b></p>
  15 + * Classe de servi&ccedil;os para a entidade TarjaAssinatura, a qual mant&eacute;m as regras de neg&oacute;cio.
15 16 *
16 17 * @since 13 de abr de 2016 - 13:40:36
17 18 * @version 1.0.0
... ... @@ -31,4 +32,30 @@ public interface TarjaAssinaturaService extends GenericService&lt;TarjaAssinatura,
31 32 * @param idConfiguracao
32 33 */
33 34 void uploadAnexoImagemTarja(MultipartFile file, Long idOrganizacao, Long idConfiguracao);
  35 +
  36 + /**
  37 + *
  38 + * M&eacute;todo respons&aacute;vel por retornar todas as tarjas de assinatura existentes no banco.
  39 + * Normalmente existem apenas dois tipos fixos de tarjas:</br>
  40 + * <ul>
  41 + * <li>Tarja de assinatura interna</li>
  42 + * <li>Tarja de assinatura de certificado digital</li>
  43 + * </ul>
  44 + *
  45 + * @author ciro.junior (<a href="mailto:ciro.junior@centralit.com.br">ciro.junior@centralit.com.br</a>)
  46 + *
  47 + * @return
  48 + */
  49 + TarjaAssinaturaVH getAllTarjas ();
  50 +
  51 + /**
  52 + *
  53 + * M&eacute;todo respons&aacute;vel por salvar os dois tipos de tarjas de assinatura ao mesmo tempo
  54 + *
  55 + * @author ciro.junior (<a href="mailto:ciro.junior@centralit.com.br">ciro.junior@centralit.com.br</a>)
  56 + *
  57 + * @param tarjaAssinaturaVH
  58 + * @return
  59 + */
  60 + TarjaAssinaturaVH save (TarjaAssinaturaVH tarjaAssinaturaVH);
34 61 }
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/InicializarEcmServiceImpl.java
... ... @@ -344,7 +344,7 @@ public class InicializarEcmServiceImpl extends UtilStartup {
344 344 pgTarjaAssinatura = this.paginaService.saveIfNotExist(pgTarjaAssinatura);
345 345  
346 346 Menu menuTarjaAssinatura = new Menu("Tarja de Assinatura", pgTarjaAssinatura, menuCadastroBasico, 0, 9, null, null, null, null, modulo);
347   - menuTarjaAssinatura.setIncludes(this.gerarArquivosMenu(menuTarjaAssinatura, this.CIT_ECM_WEB_ANGULAR, "Tarja de Assinatura", true, true, true));
  347 + menuTarjaAssinatura.setIncludes(this.gerarArquivosMenu(menuTarjaAssinatura, this.CIT_ECM_WEB_ANGULAR, "TarjaAssinatura", true, false, true));
348 348 this.menuService.mergeIfNotExist(menuTarjaAssinatura);
349 349 }
350 350  
... ...
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/TarjaAssinaturaServiceImpl.java
1 1 package br.com.centralit.api.service.impl;
2 2  
3 3 import java.io.IOException;
  4 +import java.util.ArrayList;
  5 +import java.util.List;
4 6  
5 7 import org.apache.log4j.Logger;
6 8 import org.springframework.beans.factory.annotation.Autowired;
... ... @@ -11,12 +13,27 @@ import org.springframework.web.multipart.MultipartFile;
11 13  
12 14 import br.com.centralit.api.dao.TarjaAssinaturaDao;
13 15 import br.com.centralit.api.model.TarjaAssinatura;
  16 +import br.com.centralit.api.model.TarjaAssinaturaVH;
14 17 import br.com.centralit.api.service.OrganizacaoService;
15 18 import br.com.centralit.api.service.TarjaAssinaturaService;
16 19 import br.com.centralit.framework.model.AnexoImagem;
17 20 import br.com.centralit.framework.model.Organizacao;
  21 +import br.com.centralit.framework.model.arquitetura.PersistentObject;
18 22 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl;
19 23  
  24 +/**
  25 + * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
  26 + *
  27 + * <p><b>Company: </b> Central IT - Governan&ccedil;a Corporativa - </p>
  28 + *
  29 + * <p><b>Description: </b></p>
  30 + * Classe de servi&ccedil;os para a entidade TarjaAssinatura, a qual mant&eacute;m as regras de neg&oacute;cio.
  31 + *
  32 + * @since 13 de abr de 2016 - 13:40:36
  33 + * @version 1.0.0
  34 + * @author ciro.junior (<a href="mailto:ciro.junior@centralit.com.br">ciro.junior@centralit.com.br</a>)
  35 + *
  36 + */
20 37 @Service("tarjaAssinaturaService")
21 38 public class TarjaAssinaturaServiceImpl extends GenericServiceImpl<TarjaAssinatura, Long> implements TarjaAssinaturaService {
22 39  
... ... @@ -34,6 +51,15 @@ public class TarjaAssinaturaServiceImpl extends GenericServiceImpl&lt;TarjaAssinatu
34 51 this.validator = validator;
35 52 }
36 53  
  54 + public TarjaAssinaturaVH save (TarjaAssinaturaVH tarjaAssinaturaVH){
  55 + TarjaAssinaturaVH tarjaAssinaturaVHSaved = new TarjaAssinaturaVH();
  56 + if(tarjaAssinaturaVH.getAssinaturaInterna() != null && tarjaAssinaturaVH.getAssinaturaCertificado() != null){
  57 + tarjaAssinaturaVHSaved.setAssinaturaInterna(this.merge(tarjaAssinaturaVH.getAssinaturaInterna()));
  58 + tarjaAssinaturaVHSaved.setAssinaturaCertificado(this.merge(tarjaAssinaturaVH.getAssinaturaCertificado()));
  59 + }
  60 + return tarjaAssinaturaVHSaved;
  61 + }
  62 +
37 63 @Override
38 64 public TarjaAssinatura merge(TarjaAssinatura tarjaAssinatura) {
39 65 this.validarEntidade(tarjaAssinatura, this.validator);
... ... @@ -60,4 +86,26 @@ public class TarjaAssinaturaServiceImpl extends GenericServiceImpl&lt;TarjaAssinatu
60 86 }
61 87 }
62 88  
  89 + /**{@inheritDoc}*/
  90 + @Override
  91 + public TarjaAssinaturaVH getAllTarjas () {
  92 +
  93 + TarjaAssinaturaVH tarjaAssinaturaVH = new TarjaAssinaturaVH();
  94 + List<PersistentObject> tarjas = tarjaAssinaturaDao.findAll();
  95 + List<TarjaAssinatura> tarjasAssinatura = new ArrayList<>();
  96 + for (PersistentObject item : tarjas) {
  97 + if(item instanceof TarjaAssinatura){
  98 + tarjasAssinatura.add((TarjaAssinatura) item);
  99 + }
  100 + }
  101 + for (TarjaAssinatura tarjaAssinatura : tarjasAssinatura) {
  102 + if(tarjaAssinatura.getTipoAssinatura().getCodigo() == 1L){
  103 + tarjaAssinaturaVH.setAssinaturaInterna(tarjaAssinatura);
  104 + continue;
  105 + }
  106 + tarjaAssinaturaVH.setAssinaturaCertificado(tarjaAssinatura);
  107 + }
  108 + return tarjaAssinaturaVH;
  109 + }
  110 +
63 111 }
... ...
cit-ecm-web/src/main/java/br/com/centralit/controller/TarjaAssinaturaController.java
... ... @@ -3,22 +3,34 @@ package br.com.centralit.controller;
3 3 import javax.servlet.http.HttpServletRequest;
4 4  
5 5 import org.springframework.beans.factory.annotation.Autowired;
  6 +import org.springframework.stereotype.Controller;
  7 +import org.springframework.web.bind.annotation.RequestBody;
6 8 import org.springframework.web.bind.annotation.RequestMapping;
7 9 import org.springframework.web.bind.annotation.RequestMethod;
8 10 import org.springframework.web.bind.annotation.RequestParam;
9 11 import org.springframework.web.bind.annotation.ResponseBody;
10 12 import org.springframework.web.multipart.MultipartFile;
11 13  
  14 +import br.com.centralit.api.framework.json.ViewsEcm;
12 15 import br.com.centralit.api.model.TarjaAssinatura;
  16 +import br.com.centralit.api.model.TarjaAssinaturaVH;
13 17 import br.com.centralit.api.service.TarjaAssinaturaService;
14 18 import br.com.centralit.framework.controller.GenericController;
  19 +import br.com.centralit.framework.json.ResponseBodyWrapper;
  20 +import br.com.centralit.framework.view.ResultResponseVH;
15 21  
  22 +@Controller
16 23 @RequestMapping("/rest/tarjaAssinatura")
17 24 public class TarjaAssinaturaController extends GenericController<TarjaAssinatura> {
18 25  
19 26 @Autowired
20 27 private TarjaAssinaturaService tarjaAssinaturaService;
21 28  
  29 + @Override
  30 + public Class<ViewsEcm.TarjaAssinaturaEditview> getEditView() {
  31 + return ViewsEcm.TarjaAssinaturaEditview.class;
  32 + }
  33 +
22 34 @ResponseBody
23 35 @RequestMapping(value = "/uploadFileLogo", method = RequestMethod.POST)
24 36 public void uploadFileHandle(@RequestParam(value = "filename", required = false) String name,
... ... @@ -28,4 +40,25 @@ public class TarjaAssinaturaController extends GenericController&lt;TarjaAssinatura
28 40  
29 41 this.tarjaAssinaturaService.uploadAnexoImagemTarja(file, idOrganizacao, Long.parseLong(idTarjaAssinatura));
30 42 }
  43 +
  44 + @ResponseBody
  45 + @RequestMapping(value = "/getAllTarjas", method = RequestMethod.GET, produces = "application/json")
  46 + public ResponseBodyWrapper getAllTarjas () {
  47 +
  48 + ResultResponseVH<TarjaAssinaturaVH> resultResponseVH = new ResultResponseVH<TarjaAssinaturaVH>(this.tarjaAssinaturaService.getAllTarjas());
  49 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(resultResponseVH, this.getEditView());
  50 +
  51 + return responseBody;
  52 +
  53 + }
  54 +
  55 + @ResponseBody
  56 + @RequestMapping(value = "save", method = RequestMethod.POST, produces = "application/json")
  57 + public ResponseBodyWrapper save(@RequestBody TarjaAssinaturaVH tarjaAssinaturaVH) throws Exception {
  58 +
  59 + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.tarjaAssinaturaService.save(tarjaAssinaturaVH), getEditView());
  60 +
  61 + return responseBody;
  62 + }
  63 +
31 64 }
... ...
cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java
... ... @@ -402,8 +402,14 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
402 402 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NOME_NOVO_SUPORTE ", "Nome do suporte", dominio, modulo));
403 403 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NOVO_TIPO_SUPORTE ", "Novo tipo suporte de documento", dominio, modulo));
404 404 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.TIPO_SUPORTE_DOCUMENTO ", "Tipo suporte de documento", dominio, modulo));
405   -
406   -
  405 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.TARJAS_ASSINATURA", "Tarjas de assinatura", dominio, modulo));
  406 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.LOGO_TARJA_ASSINATURA", "Logotipo da tarja de assinatura", dominio, modulo));
  407 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DADOS_TARJA_ASSINATURA_INTERNA", "Dados da tarja de assinatura interna", dominio, modulo));
  408 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.TIPO_ASSINATURA", "Tipo de assinatura", dominio, modulo));
  409 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.CONTEUDO_HTML", "Conteúdo HTML", dominio, modulo));
  410 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.DADOS_TARJA_ASSINATURA_CERTIFICADO_DIGITAL", "Dados da tarja de assinatura com certificado digital", dominio, modulo));
  411 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.ASSINATURA_CERTIFICADO_DIGITAL", "Assinatura com certificado digital", dominio, modulo));
  412 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.ASSINATURA_INTERNA", "Assinatura interna", dominio, modulo));
407 413 }
408 414  
409 415 /**
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/TarjaAssinaturaController.js
... ... @@ -7,46 +7,57 @@ citApp.controller(&#39;TarjaAssinaturaController&#39;,
7 7 '$timeout',
8 8 'TarjaAssinaturaRepository',
9 9 'DominioRepository',
  10 + 'FileUploader',
10 11 function TarjaAssinaturaController($scope,
11 12 $filter,
12 13 $translate,
13 14 $timeout,
14 15 TarjaAssinaturaRepository,
15   - DominioRepository) {
  16 + DominioRepository,
  17 + FileUploader) {
16 18  
17 19 $scope.resetForm = function() {
18 20 $scope.tarjaAssinatura = {
19   - assinaturaInterna : {},
20   - assinaturaCertificado : {}
  21 + assinaturaInterna : {},
  22 + assinaturaCertificado : {}
21 23 };
22 24 $scope.tipoAssinaturaInterna = {};
23 25 $scope.tipoAssinaturaCertificado = {};
24 26  
25   - $scope.edit = true;
  27 + $scope.edit = false;
26 28 $timeout(function(){
27   - $scope.tarjaAssinaturaForm.$submitted = false;
28   - $scope.tarjaAssinaturaForm.$setPristine();
  29 + if($scope.tarjaAssinaturaInternaForm && $scope.tarjaAssinaturaCertificadoForm){
  30 + $scope.tarjaAssinaturaInternaForm.$submitted = false;
  31 + $scope.tarjaAssinaturaCertificadoForm.$submitted = false;
  32 + $scope.tarjaAssinaturaInternaForm.$setPristine();
  33 + $scope.tarjaAssinaturaCertificadoForm.$setPristine();
  34 + }
29 35 });
30 36 };
  37 + $scope.resetForm();
31 38  
32   - DominioRepository.buscaDominioByCodigoAndChave('tipoAssinatura', 1).then(function(result) {
  39 + DominioRepository.buscaDominioByCodigoAndChave(1, 'tipoAssinatura').then(function(result) {
33 40 $scope.tipoAssinaturaInterna = result.originalElement;
34 41 });
35   - DominioRepository.buscaDominioByCodigoAndChave('tipoAssinatura', 2).then(function(result) {
36   - $scope.tipoAssinaturaCertificado = result.originalElement;
  42 + DominioRepository.buscaDominioByCodigoAndChave(2, 'tipoAssinatura').then(function(result) {
  43 + $scope.tipoAssinaturaCertificado = result.originalElement;
37 44 });
38 45  
39   - // Atualiza pagina de pesquisa
40   - $scope.atualizaPaginaPesquisa = function () {
41   - angular.element('#searchTarjaAssinatura').scope().fetchResult();
42   - };
  46 + $scope.getAllTarjas = function(){
  47 + $scope.setLoadingGet(true);
  48 + TarjaAssinaturaRepository.getAllTarjas().then(function(result) {
  49 + $scope.tarjaAssinatura = result.originalElement;
  50 + $scope.setLoading(false);
  51 + });
  52 + };
  53 + $scope.getAllTarjas();
43 54  
44   - $scope.saveOrUpdate = function(){
  55 + $scope.saveOrUpdate = function(formAssinaturaInterna, formAssinaturaCertificado){
45 56  
46   - $scope.tarjaAssinaturaInternaForm.$submitted = true;
47   - $scope.tarjaAssinaturaCertificadoForm.$submitted = true;
  57 + formAssinaturaInterna.$submitted = true;
  58 + formAssinaturaCertificado.$submitted = true;
48 59  
49   - if($scope.tarjaAssinaturaInternaForm.$invalid || $scope.tarjaAssinaturaCertificadoForm.$invalid){
  60 + if(formAssinaturaInterna.$invalid || formAssinaturaCertificado.$invalid){
50 61 $scope.showAlert('error', $translate.instant('MSG.MN001'), " ", false);
51 62 return;
52 63 }
... ... @@ -56,27 +67,21 @@ citApp.controller(&#39;TarjaAssinaturaController&#39;,
56 67 TarjaAssinaturaRepository.save($scope.tarjaAssinatura).then(function(result) {
57 68 $scope.tarjaAssinatura = result.originalElement;
58 69 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO'));
59   - form.$submitted = false;
  70 + formAssinaturaInterna.$submitted = false;
  71 + formAssinaturaCertificado.$submitted = false;
60 72 $scope.setLoading(false);
  73 + if(uploaderLogoTarjaAssinaturaInterna.queue.length > 0 || uploaderLogoTarjaAssinaturaCertificado > 0){
  74 + uploaderLogoTarjaAssinaturaInterna.uploadAll();
  75 + uploaderLogoTarjaAssinaturaCertificado.uploadAll();
  76 + }
61 77 });
62   - if(uploaderLogoTarja.queue.length > 0){
63   - uploaderLogoTarja.uploadAll();
64   - }
65 78 };
66 79  
67   - $scope.getAllTarjas = function(){
68   - $scope.setLoadingGet(true);
69   - TarjaAssinaturaRepository.findAllTarjas().then(function(result) {
70   - angular.forEach(result, function(item){
71   - $scope.contrato.valorTotalItens += item.valorTotalItem;
72   - });
73   - $scope.tarjaAssinatura = result.originalElement;
74   - $scope.edit = edit;
75   - $scope.setLoading(false);
76   - });
77   - };
78   -
79   - $scope.getAllTarjas();
  80 + $scope.cancelarEdicao = function () {
  81 + $scope.resetForm();
  82 + $scope.getAllTarjas();
  83 + $scope.edit= false
  84 + }
80 85  
81 86 //INSTANCIA DO OBJETO PARA FAZER UPLOAD
82 87 var uploaderLogoTarjaAssinaturaInterna = $scope.uploaderLogoTarjaAssinaturaInterna = new FileUploader({
... ... @@ -135,57 +140,57 @@ citApp.controller(&#39;TarjaAssinaturaController&#39;,
135 140  
136 141 //INSTANCIA DO OBJETO PARA FAZER UPLOAD
137 142 var uploaderLogoTarjaAssinaturaCertificado = $scope.uploaderLogoTarjaAssinaturaCertificado = new FileUploader({
138   - autoUpload: false,
139   - queueLimit: 1,
140   - url : '/cit-ecm-web/rest/tarjaAssinatura/uploadFileLogo?idOrganizacao=' + $scope.usuarioLogado.organizacao.id +
141   - '&idTarjaAssinatura=' + $scope.tarjaAssinatura.assinaturaCertificado.id
  143 + autoUpload: false,
  144 + queueLimit: 1,
  145 + url : '/cit-ecm-web/rest/tarjaAssinatura/uploadFileLogo?idOrganizacao=' + $scope.usuarioLogado.organizacao.id +
  146 + '&idTarjaAssinatura=' + $scope.tarjaAssinatura.assinaturaCertificado.id
142 147 });
143 148  
144 149 // FILTERS
145 150 uploaderLogoTarjaAssinaturaCertificado.filters.push({
146   - name: 'imageFilter',
147   - fn: function(item , options) {
148   - var type = '|' + item.type.slice(item.type.lastIndexOf('/') + 1) + '|';
149   - return '|jpg|png|jpeg|bmp|gif|'.indexOf(type) !== -1;
150   - }
  151 + name: 'imageFilter',
  152 + fn: function(item , options) {
  153 + var type = '|' + item.type.slice(item.type.lastIndexOf('/') + 1) + '|';
  154 + return '|jpg|png|jpeg|bmp|gif|'.indexOf(type) !== -1;
  155 + }
151 156 });
152 157  
153 158 // CALLBACKS
154 159 uploaderLogoTarjaAssinaturaCertificado.onWhenAddingFileFailed = function(item , filter, options) {
155   - uploaderLogoTarjaAssinaturaCertificado.clearQueue();
156   - console.info('onWhenAddingFileFailed', item, filter, options);
  160 + uploaderLogoTarjaAssinaturaCertificado.clearQueue();
  161 + console.info('onWhenAddingFileFailed', item, filter, options);
157 162 };
158 163 uploaderLogoTarjaAssinaturaCertificado.onAfterAddingFile = function(fileItem) {
159   - console.info('onAfterAddingFile', fileItem);
  164 + console.info('onAfterAddingFile', fileItem);
160 165 };
161 166 uploaderLogoTarjaAssinaturaCertificado.onAfterAddingAll = function(addedFileItems) {
162   - console.info('onAfterAddingAll', addedFileItems);
  167 + console.info('onAfterAddingAll', addedFileItems);
163 168 };
164 169 uploaderLogoTarjaAssinaturaCertificado.onBeforeUploadItem = function(item) {
165   - console.info('onBeforeUploadItem', item);
  170 + console.info('onBeforeUploadItem', item);
166 171 };
167 172 uploaderLogoTarjaAssinaturaCertificado.onProgressItem = function(fileItem, progress) {
168   - console.info('onProgressItem', fileItem, progress);
  173 + console.info('onProgressItem', fileItem, progress);
169 174 };
170 175 uploaderLogoTarjaAssinaturaCertificado.onProgressAll = function(progress) {
171   - console.info('onProgressAll', progress);
  176 + console.info('onProgressAll', progress);
172 177 };
173 178 uploaderLogoTarjaAssinaturaCertificado.onSuccessItem = function(fileItem, response, status, headers) {
174   - console.info('onSuccessItem', fileItem, response, status, headers);
  179 + console.info('onSuccessItem', fileItem, response, status, headers);
175 180 };
176 181 uploaderLogoTarjaAssinaturaCertificado.onErrorItem = function(fileItem, response, status, headers) {
177   - console.info('onErrorItem', fileItem, response, status, headers);
  182 + console.info('onErrorItem', fileItem, response, status, headers);
178 183 };
179 184 uploaderLogoTarjaAssinaturaCertificado.onCancelItem = function(fileItem, response, status, headers) {
180   - console.info('onCancelItem', fileItem, response, status, headers);
  185 + console.info('onCancelItem', fileItem, response, status, headers);
181 186 };
182 187 uploaderLogoTarjaAssinaturaCertificado.onCompleteItem = function(fileItem, response, status, headers) {
183   - console.info('onCompleteItem', fileItem, response, status, headers);
  188 + console.info('onCompleteItem', fileItem, response, status, headers);
184 189 };
185 190 uploaderLogoTarjaAssinaturaCertificado.onCompleteAll = function() {
186   - uploaderLogoTarjaAssinaturaCertificado.clearQueue();
187   - $scope.getTarjaAssinatura($scope.tarjaAssinatura);
188   - console.info('onCompleteAll');
  191 + uploaderLogoTarjaAssinaturaCertificado.clearQueue();
  192 + $scope.getTarjaAssinatura($scope.tarjaAssinatura);
  193 + console.info('onCompleteAll');
189 194 };
190 195  
191 196 }]);
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/repository/TarjaAssinaturaRepository.js
... ... @@ -5,8 +5,8 @@ citApp.factory(&#39;TarjaAssinaturaRepository&#39;, [&#39;RestangularEcm&#39;, &#39;AbstractReposito
5 5 function TarjaAssinaturaRepository() {
6 6 AbstractRepository.call(this, restangularEcm, 'rest/tarjaAssinatura');
7 7  
8   - this.findAllTarjas = function() {
9   - return restangular.one(this.route).getList("findAllTarjas").then();
  8 + this.getAllTarjas = function() {
  9 + return restangularEcm.one(this.route + "/getAllTarjas" ).get();
10 10 };
11 11 }
12 12  
... ...
cit-ecm-web/src/main/webapp/html/tarjaAssinatura/tarjaAssinatura.html
  1 +<div ng-include src="'/cit-ecm-web/html/tarjaAssinatura/tarjaAssinaturaEdit.html'"></div>
1 2 <!-- <div ng-include src="'/cit-ecm-web/html/tarjaAssinatura/tarjaAssinaturaList.html'" ng-show="workspace.$showSearch"></div> -->
2   -<div ng-include src="'/cit-ecm-web/html/tarjaAssinatura/tarjaAssinaturaEdit.html'" ng-show="workspace.$showEdit"></div>
... ...
cit-ecm-web/src/main/webapp/html/tarjaAssinatura/tarjaAssinaturaEdit.html
1   -<div id="editTarjaAssinatura" class="page-content clearfix"
2   - ng-controller="TarjaAssinaturaController">
  1 +<div id="editTarjaAssinatura" class="page-content clearfix" ng-controller="TarjaAssinaturaController">
3 2 <div class="bar-buttons-action fixed">
4 3 <div class="row">
5 4 <div class="col-sm-8 text-left">
6   - <button class="btn btn-clear" ng-click="saveOrUpdate(tarjaAssinaturaForm)" ng-show="edit">
  5 + <button class="btn btn-clear" ng-click="saveOrUpdate(tarjaAssinaturaInternaForm, tarjaAssinaturaCertificadoForm)" ng-show="edit">
7 6 <i class="fa fa-save green"></i>
8 7 <translate>LABEL.SALVAR</translate>
9 8 </button>
... ... @@ -15,9 +14,9 @@
15 14 <i class="fa fa-pencil blue"></i>
16 15 <translate>LABEL.EDITAR</translate>
17 16 </button>
18   - <button class="btn btn-clear" ng-click="$showPageSearchWorkspace(workspace); atualizaPaginaPesquisa();">
19   - <i class="fa fa-search"></i>
20   - <translate>LABEL.PESQUISAR</translate>
  17 + <button class="btn btn-clear" ng-show="edit" ng-click="cancelarEdicao()">
  18 + <i class="fa fa-times"></i>
  19 + <translate>LABEL.CANCELAR</translate>
21 20 </button>
22 21 </div>
23 22 <!-- .col -->
... ... @@ -29,65 +28,129 @@
29 28 </div><!-- .row -->
30 29 </div><!-- .bar-buttons-action -->
31 30  
32   - <h1 class="title"><translate>ECM.LABEL.TARJAS_ASSINATURA</translate></h1>
33   - </br>
  31 +<!-- <h1 class="title"><translate>ECM.LABEL.TARJAS_ASSINATURA</translate></h1> -->
  32 +<!-- </br> -->
34 33 <breadcrumb ng-workspace="workspace"></breadcrumb>
35 34  
36   - <form name="tarjaAssinaturaForm">
37   - <p><small>( <span class="red">*</span> ) <translate>LABEL.CAMPOS_OBRIGATORIOS</translate></small></p>
38   - <fieldset>
39   - <legend>
40   - <translate>ECM.LABEL.DADOS_TARJA_ASSINATURA</translate>
41   - </legend>
42   - </fieldset>
43   - <div class="row">
44   - <div class="col-md-6">
45   - <label-input ng-id="tarjaAssinatura.assinaturaInterna.descricao" ng-label="LABEL.DESCRICAO" ng-type="text"
46   - ng-model="tarjaAssinatura.assinaturaInterna.descricao" form="tarjaAssinaturaForm" ng-obrigatorio="true"
47   - ng-custom-maxlength="100" ng-type="text" ng-disabled="!edit" />
48   - </div>
49   - <div class="col-md-4">
50   - <label-input ng-id="tarjaAssinatura.assinaturaInterna.tipoAssinatura" ng-label="LABEL.TIPO_ASSINATURA" ng-type="text"
51   - ng-disabled="true" ng-model="tarjaAssinatura.assinaturaInterna.tipoAssinatura" form="tarjaAssinaturaForm"
52   - ng-obrigatorio="false" ng-type="text" />
53   - </div>
54   - </div>
55   - <div class="row">
56   - <div class="col-md-12">
57   - <div class="form-group">
58   - <label class="control-label block" ng-class="{'has-error': !tarjaAssinatura.assinaturaInterna.conteudo && tarjaAssinaturaForm.$submitted}">
59   - <translate>ECM.LABEL.CONTEUDO_HTML</translate> <span class="red">*</span>
60   - <i ng-show="!tarjaAssinatura.assinaturaInterna.conteudo && tarjaAssinaturaForm.$submitted" class='fa fa-warning red'
61   - tooltip="{{$translate.instant('ECM.LABEL.CONTEUDO_HTML') + ' ' +$translate.instant('LABEL.CAMPO_OBRIGATORIO')}}"
62   - tooltip-placement='top'></i>
63   - </label>
64   - <div id="tarjaAssinatura.assinaturaInterna.conteudo" ckeditor="options" ng-if='edit' ready="onReady()"
65   - ng-model="tarjaAssinatura.assinaturaInterna.conteudo" ></div>
66   - <iframe id="visualizacaoConteudoTarjaAssinatura" allowfullscreen class="iframe-report" ng-show="!edit"></iframe>
  35 + <tabset class="tabbable margin-top margin-bottom">
  36 + <tab>
  37 + <tab-heading><translate>ECM.LABEL.ASSINATURA_INTERNA</translate></tab-heading>
  38 +
  39 + <form name="tarjaAssinaturaInternaForm">
  40 + <p><small>( <span class="red">*</span> ) <translate>LABEL.CAMPOS_OBRIGATORIOS</translate></small></p>
  41 + <fieldset>
  42 + <legend>
  43 + <translate>ECM.LABEL.DADOS_TARJA_ASSINATURA_INTERNA</translate>
  44 + </legend>
  45 + </fieldset>
  46 + <div class="row">
  47 + <div class="col-md-6">
  48 + <label-input ng-id="tarjaAssinatura.assinaturaInterna.descricao" ng-label="LABEL.DESCRICAO" ng-type="text"
  49 + ng-model="tarjaAssinatura.assinaturaInterna.descricao" form="tarjaAssinaturaInternaForm" ng-obrigatorio="true"
  50 + ng-custom-maxlength="100" ng-type="text" ng-disabled="!edit" />
  51 + </div>
  52 + <div class="col-md-4">
  53 + <label-input ng-id="tarjaAssinatura.assinaturaInterna.tipoAssinatura" ng-label="ECM.LABEL.TIPO_ASSINATURA" ng-type="text"
  54 + ng-disabled="true" ng-model="tarjaAssinatura.assinaturaInterna.tipoAssinatura.descricao" form="tarjaAssinaturaInternaForm"
  55 + ng-obrigatorio="false" ng-type="text" />
  56 + </div>
67 57 </div>
68   - </div>
69   - </div>
70   - <div class="row">
71   - <div class="col-sm-12">
72   - <div class="form-group">
73   - <label class="control-label"><translate>ECM.LABEL.LOGO_TARJA_ASSINATURA</translate></label>
74   - <div nv-file-drop="" uploader="uploaderLogoTarja" onclick="$('#uploadLogoTarjaAssinatura').click();">
75   - <div nv-file-over="" uploader="uploaderLogoTarja" over-class="another-file-over-class" class="well my-drop-zone">
76   - <span ng-show="uploaderLogoTarja.queue.length <= 0"><translate>MSG.ARRASTE_SOLTE_ARQUIVO</translate></span>
77   - <span ng-show="uploaderLogoTarja.queue.length > 0">{{uploaderLogoTarja.queue[0].file.name}}</span>
  58 + <div class="row">
  59 + <div class="col-sm-12">
  60 + <div class="form-group">
  61 + <label class="control-label"><translate>ECM.LABEL.LOGO_TARJA_ASSINATURA</translate></label>
  62 + <div nv-file-drop="" uploader="uploaderLogoTarjaAssinaturaInterna" onclick="$('#uploadLogoTarjaAssinaturaInterna').click();">
  63 + <div nv-file-over="" uploader="uploaderLogoTarjaAssinaturaInterna" over-class="another-file-over-class" class="well my-drop-zone">
  64 + <span ng-show="uploaderLogoTarjaAssinaturaInterna.queue.length <= 0"><translate>MSG.ARRASTE_SOLTE_ARQUIVO</translate></span>
  65 + <span ng-show="uploaderLogoTarjaAssinaturaInterna.queue.length > 0">{{uploaderLogoTarjaAssinaturaInterna.queue[0].file.name}}</span>
  66 + </div>
  67 + </div>
  68 + <input id="uploadLogoTarjaAssinaturaInterna" type="file" nv-file-select="" uploader="uploaderLogoTarjaAssinaturaInterna" ng-show="false" />
  69 + <div ng-show="uploaderLogoTarjaAssinaturaInterna.queue.length > 0 && tarjaAssinatura.assinaturaInterna.anexoImagem.anexo == undefined">
  70 + <div ng-thumb="{ file: uploaderLogoTarjaAssinaturaInterna.queue._file, width: auto, height: auto }"></div>
  71 + </div>
  72 + </div><!-- .form-group -->
  73 + <div ng-show="tarjaAssinatura.assinaturaCertificado.anexoImagem.anexo">
  74 + <img ng-src="data:image/JPEG;base64,{{tarjaAssinatura.assinaturaInterna.anexoImagem.anexo}}" class="img-thumbnail" style="max-width: 300px; height: auto;">
78 75 </div>
79 76 </div>
80   - <input id="uploadLogoTarjaAssinatura" type="file" nv-file-select="" uploader="uploaderLogoTarja" ng-show="false" />
81   - <div ng-show="uploaderLogoTarja.queue.length > 0 && tarjaAssinatura.anexoImagem.anexo == undefined">
82   - <div ng-thumb="{ file: uploaderLogoTarja.queue._file, width: auto, height: auto }"></div>
  77 + </div>
  78 + <div class="row">
  79 + <div class="col-md-12">
  80 + <div class="form-group">
  81 + <label class="control-label block" ng-class="{'has-error': !tarjaAssinatura.assinaturaInterna.conteudo && tarjaAssinaturaInternaForm.$submitted}">
  82 + <translate>ECM.LABEL.CONTEUDO_HTML</translate> <span class="red">*</span>
  83 + <i ng-show="!tarjaAssinatura.assinaturaInterna.conteudo && tarjaAssinaturaInternaForm.$submitted" class='fa fa-warning red'
  84 + tooltip="{{$translate.instant('ECM.LABEL.CONTEUDO_HTML') + ' ' +$translate.instant('LABEL.CAMPO_OBRIGATORIO')}}"
  85 + tooltip-placement='top'></i>
  86 + </label>
  87 + <div id="tarjaAssinatura.assinaturaInterna.conteudo" ckeditor="options" ng-if='edit' ready="onReady()"
  88 + ng-model="tarjaAssinatura.assinaturaInterna.conteudo" ></div>
  89 + <iframe id="visualizacaoConteudoTarjaAssinatura" allowfullscreen class="iframe-report" ng-show="!edit"></iframe>
  90 + </div>
83 91 </div>
84   - </div><!-- .form-group -->
85   - <div>
86   - <img ng-src="data:image/JPEG;base64,{{tarjaAssinatura.anexoImagem.anexo}}" class="img-thumbnail" style="max-width: 300px; height: auto;">
87 92 </div>
  93 + </form>
  94 + </tab>
  95 + <tab>
  96 + <tab-heading><translate>ECM.LABEL.ASSINATURA_CERTIFICADO_DIGITAL</translate></tab-heading>
88 97  
89   - </div>
90   - </div>
91   - </form>
  98 + <form name="tarjaAssinaturaCertificadoForm">
  99 + <p><small>( <span class="red">*</span> ) <translate>LABEL.CAMPOS_OBRIGATORIOS</translate></small></p>
  100 + <fieldset>
  101 + <legend>
  102 + <translate>ECM.LABEL.DADOS_TARJA_ASSINATURA_CERTIFICADO_DIGITAL</translate>
  103 + </legend>
  104 + </fieldset>
  105 + <div class="row">
  106 + <div class="col-md-6">
  107 + <label-input ng-id="tarjaAssinatura.assinaturaCertificado.descricao" ng-label="LABEL.DESCRICAO" ng-type="text"
  108 + ng-model="tarjaAssinatura.assinaturaCertificado.descricao" form="tarjaAssinaturaCertificadoForm" ng-obrigatorio="true"
  109 + ng-custom-maxlength="100" ng-type="text" ng-disabled="!edit" />
  110 + </div>
  111 + <div class="col-md-4">
  112 + <label-input ng-id="tarjaAssinatura.assinaturaCertificado.tipoAssinatura" ng-label="ECM.LABEL.TIPO_ASSINATURA" ng-type="text"
  113 + ng-disabled="true" ng-model="tarjaAssinatura.assinaturaCertificado.tipoAssinatura.descricao" form="tarjaAssinaturaCertificadoForm"
  114 + ng-obrigatorio="false" ng-type="text" />
  115 + </div>
  116 + </div>
  117 + <div class="row">
  118 + <div class="col-sm-12">
  119 + <div class="form-group">
  120 + <label class="control-label"><translate>ECM.LABEL.LOGO_TARJA_ASSINATURA</translate></label>
  121 + <div nv-file-drop="" uploader="uploaderLogoTarjaAssinaturaCertificado" onclick="$('#uploadLogoTarjaAssinaturaCertificado').click();">
  122 + <div nv-file-over="" uploader="uploaderLogoTarjaAssinaturaCertificado" over-class="another-file-over-class" class="well my-drop-zone">
  123 + <span ng-show="uploaderLogoTarjaAssinaturaCertificado.queue.length <= 0"><translate>MSG.ARRASTE_SOLTE_ARQUIVO</translate></span>
  124 + <span ng-show="uploaderLogoTarjaAssinaturaCertificado.queue.length > 0">{{uploaderLogoTarjaAssinaturaCertificado.queue[0].file.name}}</span>
  125 + </div>
  126 + </div>
  127 + <input id="uploadLogoTarjaAssinaturaCertificado" type="file" nv-file-select="" uploader="uploaderLogoTarjaAssinaturaCertificado" ng-show="false" />
  128 + <div ng-show="uploaderLogoTarjaAssinaturaCertificado.queue.length > 0 && tarjaAssinatura.assinaturaCertificado.anexoImagem.anexo == undefined">
  129 + <div ng-thumb="{ file: uploaderLogoTarjaAssinaturaCertificado.queue._file, width: auto, height: auto }"></div>
  130 + </div>
  131 + </div><!-- .form-group -->
  132 + <div ng-show="tarjaAssinatura.assinaturaCertificado.anexoImagem.anexo">
  133 + <img ng-src="data:image/JPEG;base64,{{tarjaAssinatura.assinaturaCertificado.anexoImagem.anexo}}" class="img-thumbnail" style="max-width: 300px; height: auto;">
  134 + </div>
  135 + </div>
  136 + </div>
  137 + <div class="row">
  138 + <div class="col-md-12">
  139 + <div class="form-group">
  140 + <label class="control-label block" ng-class="{'has-error': !tarjaAssinatura.assinaturaCertificado.conteudo && tarjaAssinaturaCertificadoForm.$submitted}">
  141 + <translate>ECM.LABEL.CONTEUDO_HTML</translate> <span class="red">*</span>
  142 + <i ng-show="!tarjaAssinatura.assinaturaCertificado.conteudo && tarjaAssinaturaCertificadoForm.$submitted" class='fa fa-warning red'
  143 + tooltip="{{$translate.instant('ECM.LABEL.CONTEUDO_HTML') + ' ' +$translate.instant('LABEL.CAMPO_OBRIGATORIO')}}"
  144 + tooltip-placement='top'></i>
  145 + </label>
  146 + <div id="tarjaAssinatura.assinaturaCertificado.conteudo" ckeditor="options" ng-if='edit' ready="onReady()"
  147 + ng-model="tarjaAssinatura.assinaturaCertificado.conteudo" ></div>
  148 + <iframe id="visualizacaoConteudoTarjaAssinatura" allowfullscreen class="iframe-report" ng-show="!edit"></iframe>
  149 + </div>
  150 + </div>
  151 + </div>
  152 + </form>
  153 + </tab>
  154 + </tabset>
92 155 </div>
93 156 <!-- .page-content -->
... ...