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