Commit 928f8f31ff35ddd19731aee9f83560d8bf3f78fa

Authored by ROGERIO CASSIMIRO DE SOUZA
1 parent 0703b99b
Exists in master

redmine #4583 panel assinar doc

cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java
... ... @@ -408,7 +408,12 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
408 408 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.SITUACAO_INSTANCIA_TAREFA", "Situação instância tarefa", dominio, modulo));
409 409 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NIVEL_DE_ACESSO", "Nível de acesso", dominio, modulo));
410 410 internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.ASSUNTO_COMPLEMENTAR", "Assunto complementar", dominio, modulo));
411   - internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.VISUALIZAR_ASSINATURAS", "Visualiar Assinaturas", dominio, modulo));
  411 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.ASSINATURAS_DOCUMENTO", "Assinaturas do Documento", dominio, modulo));
  412 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.ASSINANTE", "Assinante", dominio, modulo));
  413 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.CARGO_FUNCAO", "Cargo/Função", dominio, modulo));
  414 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.OU", "ou", dominio, modulo));
  415 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.CERTIFICADO_DIGITAL", "Certificado Digital", dominio, modulo));
  416 + internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.ASSINATURA_DOCUMENTO", "Assinatura de Documento", dominio, modulo));
412 417 }
413 418  
414 419 /**
... ... @@ -517,5 +522,8 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen
517 522 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.TAREFA_SOBRESTADA_SUCESSO", "Tarefa sobrestada com sucesso!", dominio, modulo));
518 523 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.CONFIRMA_REATIVACAO_TAREFA", "Confirma reativação da tarefa?", dominio, modulo));
519 524 internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.TAREFA_REATIVADA", "Tarefa reativada com sucesso", dominio, modulo));
  525 + internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.ERRO_PERMISSAO_ASSINAR", "Erro! Para assinar documentos é necessário possuir o papel “Servidor” ou “Terceirizado” com “Função” preenchida no Cadastro de Pessoas!", dominio, modulo));
  526 + internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.USUARIO_SEM_PESSOA", "Usuário não está presente no Cadastro de Pessoa!", dominio, modulo));
  527 +
520 528 }
521 529 }
... ...
cit-ecm-web/src/main/webapp/assets/js/angular/custom/controller/GerenciarProcessoController.js
1 1 'use strict';
2 2  
3 3  
4   -citApp.controller('GerenciarProcessoController', [ '$scope', '$translate', '$timeout','GerenciarProcessoRepository', 'ProcessoRepository', 'RuntimeManagerRepository','$rootScope', 'DocumentoGedRepository', 'HistoricoAlteracaoProcessoRepository','UnidadeRepository','UnidadeProcessoRepository','CredencialProcessoRepository', '$q', 'PessoaRepository',
5   - function GerenciarProcessoController($scope, $translate, $timeout, GerenciarProcessoRepository, ProcessoRepository, RuntimeManagerRepository,$rootScope, DocumentoGedRepository, HistoricoAlteracaoProcessoRepository,UnidadeRepository, UnidadeProcessoRepository,CredencialProcessoRepository, $q, PessoaRepository) {
  4 +citApp.controller('GerenciarProcessoController', [ '$scope', '$translate', '$timeout','GerenciarProcessoRepository', 'ProcessoRepository', 'RuntimeManagerRepository','$rootScope', 'DocumentoGedRepository', 'HistoricoAlteracaoProcessoRepository','UnidadeRepository','UnidadeProcessoRepository','CredencialProcessoRepository', 'PessoaRepository',
  5 + function GerenciarProcessoController($scope, $translate, $timeout, GerenciarProcessoRepository, ProcessoRepository, RuntimeManagerRepository,$rootScope, DocumentoGedRepository, HistoricoAlteracaoProcessoRepository,UnidadeRepository, UnidadeProcessoRepository,CredencialProcessoRepository, PessoaRepository) {
6 6  
7 7 $scope.processo = {};
8 8 $scope.iconAnexo = {};
... ... @@ -30,6 +30,7 @@ citApp.controller('GerenciarProcessoController', [ '$scope', '$translate', '$tim
30 30 $scope.isGerenciarCredencialProcesso = false;
31 31 $scope.isClassificarProcessoDocumento = false;
32 32 $scope.isAtribuirProcesso = false;
  33 + $scope.isAssinarDocumento = false;
33 34 };
34 35  
35 36 // CRIAR RELACIONAMENTO DE PROCESSO
... ... @@ -624,9 +625,7 @@ citApp.controller('GerenciarProcessoController', [ '$scope', '$translate', '$tim
624 625  
625 626 $scope.tratimitado();
626 627  
627   - _carregarPermissoesDocumentoUsuario().then(function(){
628   - $scope.setLoading( false );
629   - });
  628 + $scope.setLoading( false );
630 629  
631 630 } );
632 631  
... ... @@ -635,17 +634,6 @@ citApp.controller('GerenciarProcessoController', [ '$scope', '$translate', '$tim
635 634 };
636 635 // FIM EXECUTAR BPE
637 636  
638   - function _carregarPermissoesDocumentoUsuario() {
639   - var defer = $q.defer();
640   - $scope.permiteAssintar = false;
641   - PessoaRepository.getPermissaoAssinaturaDocumento().then(function(result){
642   - $scope.permiteAssintar = result == undefined ? false : true;
643   - defer.resolve();
644   - });
645   -
646   - return defer.promise;
647   - }
648   -
649 637 if ( $scope.task != null ) {
650 638 $scope.initialize();
651 639 }
... ... @@ -705,6 +693,56 @@ citApp.controller('GerenciarProcessoController', [ '$scope', '$translate', '$tim
705 693 }
706 694  
707 695 });
  696 + };
  697 +
  698 + /*
  699 + * Abre panel assinar documento
  700 + */
  701 + $scope.abrirAssinarDocumento = function(documento) {
  702 + $scope.fecharPagina();
  703 + $scope.numeroDocumento = documento.numero ? documento.numero : '';
  704 + $scope.isAssinarDocumento = false;
  705 + _obterPermissaoAssinaturaDocumento();
  706 + };
  707 +
  708 + function _obterPermissaoAssinaturaDocumento(){
  709 + $scope.pessoa = {};
  710 + PessoaRepository.getPermissaoAssinaturaDocumento().then(function(result){
  711 + $scope.isAssinarDocumento = result.originalElement.isAssinarDocumento;
  712 + $scope.pessoa = result.originalElement;
  713 + if(!$scope.isAssinarDocumento) {
  714 + $scope.showAlert("error", $translate.instant('ECM.MSG.ERRO_PERMISSAO_ASSINAR'));
  715 + return;
  716 + }
  717 + _montarParceiros();
  718 + });
  719 + };
  720 +
  721 + function _montarParceiros() {
  722 + delete $scope.isFuncaoServidor;
  723 + $scope.funcoes =[];
  724 + $scope.pessoa.parceiros.forEach(function(parceiro){
  725 + if(parceiro.dataInativo === null && parceiro.classeParceiro.dominioTipoParceiro.codigo == 1){
  726 + $scope.funcoes.push(_getFuncao(parceiro, true));
  727 + } else if(parceiro.dataInativo === null && parceiro.classeParceiro.dominioTipoParceiro.codigo == 6){
  728 + $scope.funcoes.push(_getFuncao(parceiro, false));
  729 + }
  730 + });
  731 +
  732 + if($scope.funcoes.length === 1) {
  733 + $scope.funcoes.forEach(function(funcao){
  734 + funcao.isServidor = true;
  735 + });
  736 + }
708 737 }
709   -
  738 +
  739 + function _getFuncao(parceiro, isServidor) {
  740 + var funcao = {nome : '', isServidor : isServidor};
  741 + if(parceiro.cargo)
  742 + funcao.nome = funcao.nome.concat(parceiro.cargo).concat(' / ').concat(parceiro.funcao.nome);
  743 + else
  744 + funcao.nome = funcao.nome.concat(parceiro.funcao.nome);
  745 + return funcao;
  746 + }
  747 +
710 748 }] );
... ...
cit-ecm-web/src/main/webapp/html/documentoGed/documentoAssinatura.html 0 → 100644
... ... @@ -0,0 +1,72 @@
  1 +<div id="documentoAssinatura" class="widget-box margin-bottom" ng-controller="GerenciarProcessoController">
  2 + <div class="widget-header">
  3 + <h2 class="widget-title">
  4 + <translate>ECM.LABEL.ASSINATURA_DOCUMENTO</translate> : {{numeroDocumento}}
  5 + </h2>
  6 + <div class="widget-toolbar">
  7 + <a href="#void" ng-click="widgetAssinarDocIsCollapsed = !widgetAssinarDocIsCollapsed">
  8 + <i class="fa" ng-class="{'fa-chevron-up': !widgetAssinarDocIsCollapsed, 'fa-chevron-down': widgetAssinarDocIsCollapsed}"></i>
  9 + </a>
  10 + </div>
  11 + </div>
  12 + <div class="widget-body" collapse="widgetAssinarDocIsCollapsed">
  13 + <div class="widget-main clearfix">
  14 + <div class="page-content clearfix">
  15 + <div class="row">
  16 + <div class="col-sm-12">
  17 + <label-input ng-type="text" ng-id="assinante" ng-label="ECM.LABEL.ASSINANTE" ng-disabled="true" ng-model="pessoa.nome" />
  18 + </div>
  19 + </div>
  20 + <div class="row">
  21 + <div class="col-sm-12">
  22 + <strong><label><translate>ECM.LABEL.CARGO_FUNCAO</translate></label></strong>
  23 + </div>
  24 + </div>
  25 + <div class="row">
  26 + <div class="col-sm-12">
  27 + <div class="form-group" style="padding: 4px;">
  28 + <label data-ng-repeat="funcao in funcoes">
  29 + <input type="radio" name="response" data-ng-model="funcao.isServidor" data-ng-value="true" class="radio-group-inline" style="margin-left: 20px;"/>
  30 + {{funcao.nome}}
  31 + </label>
  32 + </div>
  33 + </div>
  34 + </div>
  35 +
  36 + <div class="row">
  37 + <div class="col-sm-1" style="margin-top: 5px; !important">
  38 + <label>
  39 + <translate>PORTAL.LABEL.SENHA</translate>
  40 + </label>
  41 + </div>
  42 + <div class="col-sm-4" style="margin-top: 0px; !important">
  43 + <label-input ng-type="password" ng-id="autenticacao" ng-disabled="false" ng-model="autenticacao" />
  44 + </div>
  45 + <div class="col-sm-4" style="margin-top: 5px; !important">
  46 + <label>
  47 + <translate>ECM.LABEL.OU</translate>
  48 + </label>
  49 + <label style="margin-left: 5px;">
  50 + <translate>ECM.LABEL.CERTIFICADO_DIGITAL</translate>
  51 + <i class="glyphicon glyphicon-info-sign blue" tooltip="{{$translate.instant('ECM.LABEL.CERTIFICADO_DIGITAL')}}" style="margin-left: 5px;"></i>
  52 + </label>
  53 + </div>
  54 + </div>
  55 +
  56 + <div class="row">
  57 + <div class="col-md-12">
  58 + <button title="{{$translate.instant('LABEL.SALVAR')}}" alt="{{$translate.instant('LABEL.SALVAR')}}" type="button" class="btn btn-sm btn-primary" dropdown-toggle>
  59 + <i class="fa fa-save green"></i>
  60 + <translate>LABEL.SALVAR</translate>
  61 + <span class="fa fa-caret-down icon-on-right"></span>
  62 + </button>
  63 + <button class="btn btn-sm btn-primary" ng-click="resetForm()" type="button">
  64 + <translate>LABEL.LIMPAR</translate>
  65 + </button>
  66 + </div>
  67 + </div>
  68 +
  69 + </div>
  70 + </div>
  71 + </div>
  72 +</div>
0 73 \ No newline at end of file
... ...
cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeAcaoProcesso.html
... ... @@ -23,7 +23,10 @@
23 23  
24 24 <div ng-include src="'/cit-ecm-web/html/atribuirProcesso/atribuir.html'" ng-show="isAtribuirProcesso" />
25 25  
  26 +<div ng-include src="'/cit-ecm-web/html/atribuirProcesso/atribuir.html'" ng-show="isAtribuirProcesso" />
26 27  
  28 +<!-- Assinatura documento -->
  29 +<div ng-include src="'/cit-ecm-web/html/documentoGed/documentoAssinatura.html'" ng-show="isAssinarDocumento" />
27 30  
28 31 <div id="widget-processo" ng-show="isProcessoEdit" class="widget-box margin-bottom">
29 32 <div class="widget-header">
... ...
cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeDocumentosProcesso.html
... ... @@ -39,8 +39,8 @@
39 39 <li ng-if='processo.isTramitado && (!documento.cancelado && documento.unidade.id === usuarioLogado.unidade.id)'><a href="#void" ng-click='cancelarDocumento(documento)'> <translate>ECM.LABEL.CANCELARDOCUMENTO</translate></a></li>
40 40 <li ng-if='!documento.cancelado'><a href="#void" ng-click="visualizarVersoes(documento);"> <translate>ECM.LABEL.VERSOESDODOCUMENTO</translate></a></li>
41 41 <li ><a ng-if='documento.cancelado'href="#void" ng-click="getCancelamentoDocumento(documento);"> <translate>ECM.LABEL.JUSTIFICATIVA_CANCELAMENTO</translate></a></li>
42   - <li ><a href="#void" ng-if="permiteAssintar"> <translate>ECM.LABEL.ASSINARDOCUMENTO</translate></a></li>
43   - <li ><a href="#void" ng-if="permiteAssintar"> <translate>ECM.LABEL.VISUALIZAR_ASSINATURAS</translate></a></li>
  42 + <li ><a href="#void" ng-click="abrirAssinarDocumento(documento)"> <translate>ECM.LABEL.ASSINARDOCUMENTO</translate></a></li>
  43 + <li ><a href="#void" ng-click="visualizarAssinarDocumento()"> <translate>ECM.LABEL.ASSINATURAS_DOCUMENTO</translate></a></li>
44 44 </ul>
45 45  
46 46 </div>
... ...