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,6 +3,17 @@ package br.com.centralit.api.dao;
3 import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; 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 @@ @@ -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,7 +32,6 @@ public class TarjaAssinatura extends PersistentObjectAudit{
32 private String descricao; 32 private String descricao;
33 33
34 @ManyToOne(fetch = FetchType.LAZY) 34 @ManyToOne(fetch = FetchType.LAZY)
35 - @Column (nullable = false)  
36 @JsonView({ ViewsEcm.TarjaAssinaturaEditview.class }) 35 @JsonView({ ViewsEcm.TarjaAssinaturaEditview.class })
37 private Dominio tipoAssinatura; 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 @@ @@ -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,15 +3,16 @@ package br.com.centralit.api.service;
3 import org.springframework.web.multipart.MultipartFile; 3 import org.springframework.web.multipart.MultipartFile;
4 4
5 import br.com.centralit.api.model.TarjaAssinatura; 5 import br.com.centralit.api.model.TarjaAssinatura;
  6 +import br.com.centralit.api.model.TarjaAssinaturaVH;
6 import br.com.centralit.framework.service.arquitetura.GenericService; 7 import br.com.centralit.framework.service.arquitetura.GenericService;
7 8
8 -  
9 /** 9 /**
10 * <p><img src="http://centralit.com.br/images/logo_central.png"></p> 10 * <p><img src="http://centralit.com.br/images/logo_central.png"></p>
11 * 11 *
12 * <p><b>Company: </b> Central IT - Governan&ccedil;a Corporativa - </p> 12 * <p><b>Company: </b> Central IT - Governan&ccedil;a Corporativa - </p>
13 * 13 *
14 * <p><b>Description: </b></p> 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 * @since 13 de abr de 2016 - 13:40:36 17 * @since 13 de abr de 2016 - 13:40:36
17 * @version 1.0.0 18 * @version 1.0.0
@@ -31,4 +32,30 @@ public interface TarjaAssinaturaService extends GenericService&lt;TarjaAssinatura, @@ -31,4 +32,30 @@ public interface TarjaAssinaturaService extends GenericService&lt;TarjaAssinatura,
31 * @param idConfiguracao 32 * @param idConfiguracao
32 */ 33 */
33 void uploadAnexoImagemTarja(MultipartFile file, Long idOrganizacao, Long idConfiguracao); 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,7 +344,7 @@ public class InicializarEcmServiceImpl extends UtilStartup {
344 pgTarjaAssinatura = this.paginaService.saveIfNotExist(pgTarjaAssinatura); 344 pgTarjaAssinatura = this.paginaService.saveIfNotExist(pgTarjaAssinatura);
345 345
346 Menu menuTarjaAssinatura = new Menu("Tarja de Assinatura", pgTarjaAssinatura, menuCadastroBasico, 0, 9, null, null, null, null, modulo); 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 this.menuService.mergeIfNotExist(menuTarjaAssinatura); 348 this.menuService.mergeIfNotExist(menuTarjaAssinatura);
349 } 349 }
350 350
cit-ecm-api/src/main/java/br/com/centralit/api/service/impl/TarjaAssinaturaServiceImpl.java
1 package br.com.centralit.api.service.impl; 1 package br.com.centralit.api.service.impl;
2 2
3 import java.io.IOException; 3 import java.io.IOException;
  4 +import java.util.ArrayList;
  5 +import java.util.List;
4 6
5 import org.apache.log4j.Logger; 7 import org.apache.log4j.Logger;
6 import org.springframework.beans.factory.annotation.Autowired; 8 import org.springframework.beans.factory.annotation.Autowired;
@@ -11,12 +13,27 @@ import org.springframework.web.multipart.MultipartFile; @@ -11,12 +13,27 @@ import org.springframework.web.multipart.MultipartFile;
11 13
12 import br.com.centralit.api.dao.TarjaAssinaturaDao; 14 import br.com.centralit.api.dao.TarjaAssinaturaDao;
13 import br.com.centralit.api.model.TarjaAssinatura; 15 import br.com.centralit.api.model.TarjaAssinatura;
  16 +import br.com.centralit.api.model.TarjaAssinaturaVH;
14 import br.com.centralit.api.service.OrganizacaoService; 17 import br.com.centralit.api.service.OrganizacaoService;
15 import br.com.centralit.api.service.TarjaAssinaturaService; 18 import br.com.centralit.api.service.TarjaAssinaturaService;
16 import br.com.centralit.framework.model.AnexoImagem; 19 import br.com.centralit.framework.model.AnexoImagem;
17 import br.com.centralit.framework.model.Organizacao; 20 import br.com.centralit.framework.model.Organizacao;
  21 +import br.com.centralit.framework.model.arquitetura.PersistentObject;
18 import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; 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 @Service("tarjaAssinaturaService") 37 @Service("tarjaAssinaturaService")
21 public class TarjaAssinaturaServiceImpl extends GenericServiceImpl<TarjaAssinatura, Long> implements TarjaAssinaturaService { 38 public class TarjaAssinaturaServiceImpl extends GenericServiceImpl<TarjaAssinatura, Long> implements TarjaAssinaturaService {
22 39
@@ -34,6 +51,15 @@ public class TarjaAssinaturaServiceImpl extends GenericServiceImpl&lt;TarjaAssinatu @@ -34,6 +51,15 @@ public class TarjaAssinaturaServiceImpl extends GenericServiceImpl&lt;TarjaAssinatu
34 this.validator = validator; 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 @Override 63 @Override
38 public TarjaAssinatura merge(TarjaAssinatura tarjaAssinatura) { 64 public TarjaAssinatura merge(TarjaAssinatura tarjaAssinatura) {
39 this.validarEntidade(tarjaAssinatura, this.validator); 65 this.validarEntidade(tarjaAssinatura, this.validator);
@@ -60,4 +86,26 @@ public class TarjaAssinaturaServiceImpl extends GenericServiceImpl&lt;TarjaAssinatu @@ -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,22 +3,34 @@ package br.com.centralit.controller;
3 import javax.servlet.http.HttpServletRequest; 3 import javax.servlet.http.HttpServletRequest;
4 4
5 import org.springframework.beans.factory.annotation.Autowired; 5 import org.springframework.beans.factory.annotation.Autowired;
  6 +import org.springframework.stereotype.Controller;
  7 +import org.springframework.web.bind.annotation.RequestBody;
6 import org.springframework.web.bind.annotation.RequestMapping; 8 import org.springframework.web.bind.annotation.RequestMapping;
7 import org.springframework.web.bind.annotation.RequestMethod; 9 import org.springframework.web.bind.annotation.RequestMethod;
8 import org.springframework.web.bind.annotation.RequestParam; 10 import org.springframework.web.bind.annotation.RequestParam;
9 import org.springframework.web.bind.annotation.ResponseBody; 11 import org.springframework.web.bind.annotation.ResponseBody;
10 import org.springframework.web.multipart.MultipartFile; 12 import org.springframework.web.multipart.MultipartFile;
11 13
  14 +import br.com.centralit.api.framework.json.ViewsEcm;
12 import br.com.centralit.api.model.TarjaAssinatura; 15 import br.com.centralit.api.model.TarjaAssinatura;
  16 +import br.com.centralit.api.model.TarjaAssinaturaVH;
13 import br.com.centralit.api.service.TarjaAssinaturaService; 17 import br.com.centralit.api.service.TarjaAssinaturaService;
14 import br.com.centralit.framework.controller.GenericController; 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 @RequestMapping("/rest/tarjaAssinatura") 23 @RequestMapping("/rest/tarjaAssinatura")
17 public class TarjaAssinaturaController extends GenericController<TarjaAssinatura> { 24 public class TarjaAssinaturaController extends GenericController<TarjaAssinatura> {
18 25
19 @Autowired 26 @Autowired
20 private TarjaAssinaturaService tarjaAssinaturaService; 27 private TarjaAssinaturaService tarjaAssinaturaService;
21 28
  29 + @Override
  30 + public Class<ViewsEcm.TarjaAssinaturaEditview> getEditView() {
  31 + return ViewsEcm.TarjaAssinaturaEditview.class;
  32 + }
  33 +
22 @ResponseBody 34 @ResponseBody
23 @RequestMapping(value = "/uploadFileLogo", method = RequestMethod.POST) 35 @RequestMapping(value = "/uploadFileLogo", method = RequestMethod.POST)
24 public void uploadFileHandle(@RequestParam(value = "filename", required = false) String name, 36 public void uploadFileHandle(@RequestParam(value = "filename", required = false) String name,
@@ -28,4 +40,25 @@ public class TarjaAssinaturaController extends GenericController&lt;TarjaAssinatura @@ -28,4 +40,25 @@ public class TarjaAssinaturaController extends GenericController&lt;TarjaAssinatura
28 40
29 this.tarjaAssinaturaService.uploadAnexoImagemTarja(file, idOrganizacao, Long.parseLong(idTarjaAssinatura)); 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,8 +402,14 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
402 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NOME_NOVO_SUPORTE ", "Nome do suporte", dominio, modulo)); 402 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NOME_NOVO_SUPORTE ", "Nome do suporte", dominio, modulo));
403 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NOVO_TIPO_SUPORTE ", "Novo tipo suporte de documento", dominio, modulo)); 403 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NOVO_TIPO_SUPORTE ", "Novo tipo suporte de documento", dominio, modulo));
404 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.TIPO_SUPORTE_DOCUMENTO ", "Tipo suporte de documento", dominio, modulo)); 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,46 +7,57 @@ citApp.controller(&#39;TarjaAssinaturaController&#39;,
7 '$timeout', 7 '$timeout',
8 'TarjaAssinaturaRepository', 8 'TarjaAssinaturaRepository',
9 'DominioRepository', 9 'DominioRepository',
  10 + 'FileUploader',
10 function TarjaAssinaturaController($scope, 11 function TarjaAssinaturaController($scope,
11 $filter, 12 $filter,
12 $translate, 13 $translate,
13 $timeout, 14 $timeout,
14 TarjaAssinaturaRepository, 15 TarjaAssinaturaRepository,
15 - DominioRepository) { 16 + DominioRepository,
  17 + FileUploader) {
16 18
17 $scope.resetForm = function() { 19 $scope.resetForm = function() {
18 $scope.tarjaAssinatura = { 20 $scope.tarjaAssinatura = {
19 - assinaturaInterna : {},  
20 - assinaturaCertificado : {} 21 + assinaturaInterna : {},
  22 + assinaturaCertificado : {}
21 }; 23 };
22 $scope.tipoAssinaturaInterna = {}; 24 $scope.tipoAssinaturaInterna = {};
23 $scope.tipoAssinaturaCertificado = {}; 25 $scope.tipoAssinaturaCertificado = {};
24 26
25 - $scope.edit = true; 27 + $scope.edit = false;
26 $timeout(function(){ 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 $scope.tipoAssinaturaInterna = result.originalElement; 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 $scope.showAlert('error', $translate.instant('MSG.MN001'), " ", false); 61 $scope.showAlert('error', $translate.instant('MSG.MN001'), " ", false);
51 return; 62 return;
52 } 63 }
@@ -56,27 +67,21 @@ citApp.controller(&#39;TarjaAssinaturaController&#39;, @@ -56,27 +67,21 @@ citApp.controller(&#39;TarjaAssinaturaController&#39;,
56 TarjaAssinaturaRepository.save($scope.tarjaAssinatura).then(function(result) { 67 TarjaAssinaturaRepository.save($scope.tarjaAssinatura).then(function(result) {
57 $scope.tarjaAssinatura = result.originalElement; 68 $scope.tarjaAssinatura = result.originalElement;
58 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO')); 69 $scope.showAlert("success", $translate.instant('MSG.REGISTRO_SALVO'));
59 - form.$submitted = false; 70 + formAssinaturaInterna.$submitted = false;
  71 + formAssinaturaCertificado.$submitted = false;
60 $scope.setLoading(false); 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 //INSTANCIA DO OBJETO PARA FAZER UPLOAD 86 //INSTANCIA DO OBJETO PARA FAZER UPLOAD
82 var uploaderLogoTarjaAssinaturaInterna = $scope.uploaderLogoTarjaAssinaturaInterna = new FileUploader({ 87 var uploaderLogoTarjaAssinaturaInterna = $scope.uploaderLogoTarjaAssinaturaInterna = new FileUploader({
@@ -135,57 +140,57 @@ citApp.controller(&#39;TarjaAssinaturaController&#39;, @@ -135,57 +140,57 @@ citApp.controller(&#39;TarjaAssinaturaController&#39;,
135 140
136 //INSTANCIA DO OBJETO PARA FAZER UPLOAD 141 //INSTANCIA DO OBJETO PARA FAZER UPLOAD
137 var uploaderLogoTarjaAssinaturaCertificado = $scope.uploaderLogoTarjaAssinaturaCertificado = new FileUploader({ 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 // FILTERS 149 // FILTERS
145 uploaderLogoTarjaAssinaturaCertificado.filters.push({ 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 // CALLBACKS 158 // CALLBACKS
154 uploaderLogoTarjaAssinaturaCertificado.onWhenAddingFileFailed = function(item , filter, options) { 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 uploaderLogoTarjaAssinaturaCertificado.onAfterAddingFile = function(fileItem) { 163 uploaderLogoTarjaAssinaturaCertificado.onAfterAddingFile = function(fileItem) {
159 - console.info('onAfterAddingFile', fileItem); 164 + console.info('onAfterAddingFile', fileItem);
160 }; 165 };
161 uploaderLogoTarjaAssinaturaCertificado.onAfterAddingAll = function(addedFileItems) { 166 uploaderLogoTarjaAssinaturaCertificado.onAfterAddingAll = function(addedFileItems) {
162 - console.info('onAfterAddingAll', addedFileItems); 167 + console.info('onAfterAddingAll', addedFileItems);
163 }; 168 };
164 uploaderLogoTarjaAssinaturaCertificado.onBeforeUploadItem = function(item) { 169 uploaderLogoTarjaAssinaturaCertificado.onBeforeUploadItem = function(item) {
165 - console.info('onBeforeUploadItem', item); 170 + console.info('onBeforeUploadItem', item);
166 }; 171 };
167 uploaderLogoTarjaAssinaturaCertificado.onProgressItem = function(fileItem, progress) { 172 uploaderLogoTarjaAssinaturaCertificado.onProgressItem = function(fileItem, progress) {
168 - console.info('onProgressItem', fileItem, progress); 173 + console.info('onProgressItem', fileItem, progress);
169 }; 174 };
170 uploaderLogoTarjaAssinaturaCertificado.onProgressAll = function(progress) { 175 uploaderLogoTarjaAssinaturaCertificado.onProgressAll = function(progress) {
171 - console.info('onProgressAll', progress); 176 + console.info('onProgressAll', progress);
172 }; 177 };
173 uploaderLogoTarjaAssinaturaCertificado.onSuccessItem = function(fileItem, response, status, headers) { 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 uploaderLogoTarjaAssinaturaCertificado.onErrorItem = function(fileItem, response, status, headers) { 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 uploaderLogoTarjaAssinaturaCertificado.onCancelItem = function(fileItem, response, status, headers) { 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 uploaderLogoTarjaAssinaturaCertificado.onCompleteItem = function(fileItem, response, status, headers) { 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 uploaderLogoTarjaAssinaturaCertificado.onCompleteAll = function() { 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,8 +5,8 @@ citApp.factory(&#39;TarjaAssinaturaRepository&#39;, [&#39;RestangularEcm&#39;, &#39;AbstractReposito
5 function TarjaAssinaturaRepository() { 5 function TarjaAssinaturaRepository() {
6 AbstractRepository.call(this, restangularEcm, 'rest/tarjaAssinatura'); 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 <!-- <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/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 <div class="bar-buttons-action fixed"> 2 <div class="bar-buttons-action fixed">
4 <div class="row"> 3 <div class="row">
5 <div class="col-sm-8 text-left"> 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 <i class="fa fa-save green"></i> 6 <i class="fa fa-save green"></i>
8 <translate>LABEL.SALVAR</translate> 7 <translate>LABEL.SALVAR</translate>
9 </button> 8 </button>
@@ -15,9 +14,9 @@ @@ -15,9 +14,9 @@
15 <i class="fa fa-pencil blue"></i> 14 <i class="fa fa-pencil blue"></i>
16 <translate>LABEL.EDITAR</translate> 15 <translate>LABEL.EDITAR</translate>
17 </button> 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 </button> 20 </button>
22 </div> 21 </div>
23 <!-- .col --> 22 <!-- .col -->
@@ -29,65 +28,129 @@ @@ -29,65 +28,129 @@
29 </div><!-- .row --> 28 </div><!-- .row -->
30 </div><!-- .bar-buttons-action --> 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 <breadcrumb ng-workspace="workspace"></breadcrumb> 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 </div> 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 </div> 75 </div>
79 </div> 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 </div> 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 </div> 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 </div> 155 </div>
93 <!-- .page-content --> 156 <!-- .page-content -->