Commit 928f8f31ff35ddd19731aee9f83560d8bf3f78fa
1 parent
0703b99b
Exists in
master
redmine #4583 panel assinar doc
Showing
5 changed files
with
141 additions
and
20 deletions
Show diff stats
cit-ecm-web/src/main/java/br/com/centralit/listener/StartupListenerEcm.java
@@ -408,7 +408,12 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen | @@ -408,7 +408,12 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen | ||
408 | internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.SITUACAO_INSTANCIA_TAREFA", "Situação instância tarefa", dominio, modulo)); | 408 | internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.SITUACAO_INSTANCIA_TAREFA", "Situação instância tarefa", dominio, modulo)); |
409 | internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NIVEL_DE_ACESSO", "Nível de acesso", dominio, modulo)); | 409 | internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.NIVEL_DE_ACESSO", "Nível de acesso", dominio, modulo)); |
410 | internacionalizacaoList.add(new Internacionalizacao("ECM.LABEL.ASSUNTO_COMPLEMENTAR", "Assunto complementar", dominio, modulo)); | 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,5 +522,8 @@ public class StartupListenerEcm extends UtilStartup implements ApplicationListen | ||
517 | internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.TAREFA_SOBRESTADA_SUCESSO", "Tarefa sobrestada com sucesso!", dominio, modulo)); | 522 | internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.TAREFA_SOBRESTADA_SUCESSO", "Tarefa sobrestada com sucesso!", dominio, modulo)); |
518 | internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.CONFIRMA_REATIVACAO_TAREFA", "Confirma reativação da tarefa?", dominio, modulo)); | 523 | internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.CONFIRMA_REATIVACAO_TAREFA", "Confirma reativação da tarefa?", dominio, modulo)); |
519 | internacionalizacaoList.add(new Internacionalizacao("ECM.MSG.TAREFA_REATIVADA", "Tarefa reativada com sucesso", dominio, modulo)); | 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 | 'use strict'; | 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 | $scope.processo = {}; | 7 | $scope.processo = {}; |
8 | $scope.iconAnexo = {}; | 8 | $scope.iconAnexo = {}; |
@@ -30,6 +30,7 @@ citApp.controller('GerenciarProcessoController', [ '$scope', '$translate', '$tim | @@ -30,6 +30,7 @@ citApp.controller('GerenciarProcessoController', [ '$scope', '$translate', '$tim | ||
30 | $scope.isGerenciarCredencialProcesso = false; | 30 | $scope.isGerenciarCredencialProcesso = false; |
31 | $scope.isClassificarProcessoDocumento = false; | 31 | $scope.isClassificarProcessoDocumento = false; |
32 | $scope.isAtribuirProcesso = false; | 32 | $scope.isAtribuirProcesso = false; |
33 | + $scope.isAssinarDocumento = false; | ||
33 | }; | 34 | }; |
34 | 35 | ||
35 | // CRIAR RELACIONAMENTO DE PROCESSO | 36 | // CRIAR RELACIONAMENTO DE PROCESSO |
@@ -624,9 +625,7 @@ citApp.controller('GerenciarProcessoController', [ '$scope', '$translate', '$tim | @@ -624,9 +625,7 @@ citApp.controller('GerenciarProcessoController', [ '$scope', '$translate', '$tim | ||
624 | 625 | ||
625 | $scope.tratimitado(); | 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,17 +634,6 @@ citApp.controller('GerenciarProcessoController', [ '$scope', '$translate', '$tim | ||
635 | }; | 634 | }; |
636 | // FIM EXECUTAR BPE | 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 | if ( $scope.task != null ) { | 637 | if ( $scope.task != null ) { |
650 | $scope.initialize(); | 638 | $scope.initialize(); |
651 | } | 639 | } |
@@ -705,6 +693,56 @@ citApp.controller('GerenciarProcessoController', [ '$scope', '$translate', '$tim | @@ -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 @@ | @@ -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 | \ No newline at end of file | 73 | \ No newline at end of file |
cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeAcaoProcesso.html
@@ -23,7 +23,10 @@ | @@ -23,7 +23,10 @@ | ||
23 | 23 | ||
24 | <div ng-include src="'/cit-ecm-web/html/atribuirProcesso/atribuir.html'" ng-show="isAtribuirProcesso" /> | 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 | <div id="widget-processo" ng-show="isProcessoEdit" class="widget-box margin-bottom"> | 31 | <div id="widget-processo" ng-show="isProcessoEdit" class="widget-box margin-bottom"> |
29 | <div class="widget-header"> | 32 | <div class="widget-header"> |
cit-ecm-web/src/main/webapp/html/gerenciarProcesso/includeDocumentosProcesso.html
@@ -39,8 +39,8 @@ | @@ -39,8 +39,8 @@ | ||
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> | 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 | <li ng-if='!documento.cancelado'><a href="#void" ng-click="visualizarVersoes(documento);"> <translate>ECM.LABEL.VERSOESDODOCUMENTO</translate></a></li> | 40 | <li ng-if='!documento.cancelado'><a href="#void" ng-click="visualizarVersoes(documento);"> <translate>ECM.LABEL.VERSOESDODOCUMENTO</translate></a></li> |
41 | <li ><a ng-if='documento.cancelado'href="#void" ng-click="getCancelamentoDocumento(documento);"> <translate>ECM.LABEL.JUSTIFICATIVA_CANCELAMENTO</translate></a></li> | 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 | </ul> | 44 | </ul> |
45 | 45 | ||
46 | </div> | 46 | </div> |