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