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 | 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> | ... | ... |