Commit 3de3258852db224fb82b82cb3c1993b5b1bc44e6

Authored by luis.camargo
2 parents 19f17361 3033b35b
Exists in master

Merge branch 'master' of http://ferramentasgo.centralit.com.br:8080/scm/git/cit-grp-corporativo

# Conflicts:
#	cit-portal-api/src/main/java/br/com/centralit/api/service/impl/MenuServiceImpl.java
cit-portal-api/src/main/java/br/com/centralit/api/service/impl/MenuServiceImpl.java
... ... @@ -1248,7 +1248,7 @@ public class MenuServiceImpl extends GenericServiceImpl<Menu, Long> implements M
1248 1248 for (Grupo grupo : gruposAdd) {
1249 1249 if(!UtilColecao.isVazio(menu.getMenuGrupos())){
1250 1250 for (MenuGrupo menuGrupoPresente : menu.getMenuGrupos()) {
1251   - if(menuGrupoPresente.getGrupo().getId().equals(grupo.getId())){
  1251 + if(menuGrupoPresente.getGrupo().getId().doubleValue() == grupo.getId().doubleValue()){
1252 1252 permiteAddGrupo = false;
1253 1253 break;
1254 1254 }
... ...
cit-portal-api/src/main/resources/scripts-bd/postgres/v2.3.0/01-cit-portal-2.3.0-postgres.sql
1 1 -- Erick INICIO 19/05/2016
2 2 DELETE FROM grupousuario WHERE grupousuario.ctid NOT IN (SELECT MIN(grupousuario.ctid) FROM grupousuario GROUP BY grupo_id, usuario_id);
3 3 ALTER TABLE grupousuario ADD CONSTRAINT grupousuario_unico UNIQUE (grupo_id, usuario_id);
4   --- Erick FIM 19/05/2016
5 4 \ No newline at end of file
  5 +-- Erick FIM 19/05/2016
  6 +
  7 +-- Erick INICIO 23/05/2016
  8 + INSERT INTO configuracaoparametrosistema(id, datacriacao, dataedicao, version, chave, valor, configuracao_id, isobrigatorio)
  9 + SELECT NEXTVAL('hibernate_sequence'), LOCALTIMESTAMP, LOCALTIMESTAMP, 0, 'VALIDAR_FECHAR_ABA',
  10 + 'true', conf.id, false FROM configuracao conf;
  11 +-- Erick FIM 23/05/2016
6 12 \ No newline at end of file
... ...
cit-portal-web/src/main/java/br/com/centralit/listener/StartupListener.java
... ... @@ -800,6 +800,7 @@ public class StartupListener extends UtilStartup implements ApplicationListener<
800 800 parametros.add(new ConfiguracaoParametroSistema("TERMO_ENCERRAMENTO_INTRODUCAO", INTRODUCAO, configuracao, true));
801 801 parametros.add(new ConfiguracaoParametroSistema("TERMO_ENCERRAMENTO_ENCAMINHAMENTOS", ENCAMINHAMENTOS, configuracao, true));
802 802 parametros.add(new ConfiguracaoParametroSistema("TERMO_ENCERRAMENTO_DECISAO", DECISAO, configuracao, true));
  803 + parametros.add(new ConfiguracaoParametroSistema("VALIDAR_FECHAR_ABA", "true", configuracao, false));
803 804  
804 805 configuracao.setParametros(parametros);
805 806 configuracao = configuracaoService.saveIfNotExist(configuracao);
... ... @@ -1305,6 +1306,8 @@ public class StartupListener extends UtilStartup implements ApplicationListener<
1305 1306 internacionalizacaoList.add(new Internacionalizacao("PORTAL.MSG.EXCLUIR_NAO_PERMITIDO_ACAO_VISUALIZAR", "Não é permitido excluir um item na visualização do registro", dominio, modulo));
1306 1307 internacionalizacaoList.add(new Internacionalizacao("PORTAL.MSG.REMOCAO_GRUPO_NAO_PERMITIDA", "Não é permitido remover este grupo.", dominio, modulo));
1307 1308 internacionalizacaoList.add(new Internacionalizacao("PORTAL.MSG.CHAVE_MENU_DUPLICADA", "A chave do menu já existe", dominio, modulo));
  1309 + internacionalizacaoList.add(new Internacionalizacao("PORTAL.MSG.CONFIRMA_RELOAD_CLOSE_PAGE", "Você deseja mesmo sair? informações fornecidas podem ser perdidas.", dominio, modulo));
  1310 + internacionalizacaoList.add(new Internacionalizacao("PORTAL.MSG.CONFIRMA_CLOSE_WORKSPACE", "Você deseja mesmo fechar essa aba? informações fornecidas podem ser perdidas.", dominio, modulo));
1308 1311  
1309 1312 }
1310 1313  
... ... @@ -1469,7 +1472,7 @@ public class StartupListener extends UtilStartup implements ApplicationListener<
1469 1472 internacionalizacaoList.add(new Internacionalizacao("LABEL.DOCUMENTOS", "Documentos", dominio, modulo));
1470 1473  
1471 1474 internacionalizacaoList.add(new Internacionalizacao("LABEL.CPF_CNPJ", "CPF/CNPJ", dominio, modulo));
1472   -
  1475 + internacionalizacaoList.add(new Internacionalizacao("PORTAL.LABEL.VALIDAR_FECHAR_ABA", "Confirma antes de fechar aba", dominio, modulo));
1473 1476 }
1474 1477  
1475 1478 /**
... ...
cit-portal-web/src/main/webapp/assets/js/angular/custom/controller/AppController.js
... ... @@ -17,7 +17,7 @@ citApp.controller('AppController', ['$scope', '$routeParams', '$timeout', '$loca
17 17  
18 18 $scope.notificacao = {};
19 19  
20   - //CONSTANTES
  20 + // CONSTANTES
21 21 $scope.MASK_CPF = "999.999.999.99";
22 22 $scope.MASK_CNPJ = "99.999.999/9999-99";
23 23 $scope.LIMITE_FAVORITO_MENU = 5;
... ... @@ -35,6 +35,26 @@ citApp.controller('AppController', ['$scope', '$routeParams', '$timeout', '$loca
35 35 $scope.usuarioLogado.organizacoes = $filter('itemOrganizacaoDistinct')($scope.usuarioLogado.organizacoes, $scope.usuarioLogado.organizacao);
36 36 });
37 37  
  38 + ConfiguracaoParametroSistemaRepository.getParametro("VALIDAR_FECHAR_ABA").then(function(result) {
  39 + if(result.valor){
  40 + $scope.validarFecharAba = result.valor;
  41 + }else{
  42 + $scope.validarFecharAba = false;
  43 + }
  44 +
  45 + if($scope.validarFecharAba && $scope.validarFecharAba == 'true'){
  46 + $(window).on('beforeunload', function() {
  47 + if($scope.workspaces.length > 0){
  48 + return $translate.instant("PORTAL.MSG.CONFIRMA_RELOAD_CLOSE_PAGE");
  49 + }
  50 + });
  51 +
  52 + $(window).unload(function() {
  53 + logout();
  54 + });
  55 + }
  56 + });
  57 +
38 58 ConfiguracaoParametroSistemaRepository.getParametro("TEMPO_GRAVACAO_RASCUNHO").then(function(result) {
39 59 if(result.valor){
40 60 $scope.tempoGravacaoRascunho = result.valor * 1000;
... ... @@ -93,14 +113,14 @@ citApp.controller('AppController', ['$scope', '$routeParams', '$timeout', '$loca
93 113 };
94 114  
95 115  
96   - //Método responsável por abrir a tela inicial de Notificação
  116 + // Método responsável por abrir a tela inicial de Notificação
97 117 $scope.openNotificacoes = function(){
98 118  
99 119 $scope.openMenuPorNome($translate.instant('PORTAL.LABEL.NOTIFICACAO'));
100 120  
101 121 };
102 122  
103   - //Métoto responsável por abir o favorito
  123 + // Métoto responsável por abir o favorito
104 124 $scope.openWorkspaceFavorito = function(titulo, pagina, classePagina, paginaId){
105 125  
106 126 MenuRepository.buscarMenusPorPagina({pagina : pagina}).then(function(result) {
... ... @@ -112,7 +132,7 @@ citApp.controller('AppController', ['$scope', '$routeParams', '$timeout', '$loca
112 132 };
113 133  
114 134  
115   - //Método responsável por abir o menu através do nome
  135 + // Método responsável por abir o menu através do nome
116 136 $scope.openMenuPorNome = function(nome){
117 137  
118 138 MenuRepository.obterPorNome(nome).then(function(result) {
... ... @@ -184,7 +204,8 @@ citApp.controller('AppController', ['$scope', '$routeParams', '$timeout', '$loca
184 204 }
185 205 };
186 206  
187   - //Controla a visualização das notificações individualmente na nav-bar do topo da tela
  207 + // Controla a visualização das notificações individualmente na nav-bar do
  208 + // topo da tela
188 209 $scope.visualizarNotificacao = function(notificacao) {
189 210  
190 211 NotificacaoRepository.visualizar(notificacao.originalElement).then(function(result) {
... ... @@ -393,7 +414,7 @@ citApp.controller('AppController', ['$scope', '$routeParams', '$timeout', '$loca
393 414  
394 415 /**
395 416 * Metodo para mostrar mensagens para o usuario
396   - *
  417 + *
397 418 * type: success|info|warning|error
398 419 */
399 420 $scope.showAlert = function(type, message, title) {
... ... @@ -467,7 +488,8 @@ citApp.controller('AppController', ['$scope', '$routeParams', '$timeout', '$loca
467 488 citsmart: false
468 489 };
469 490  
470   - // CASO CONTENHA A SUBSTRING .load, é uma página citsmart redireciona para o iframe.
  491 + // CASO CONTENHA A SUBSTRING .load, é uma página citsmart redireciona
  492 + // para o iframe.
471 493 if(page.indexOf(".load") > -1){
472 494 workspace.grp = false;
473 495 workspace.citsmart = true;
... ... @@ -475,7 +497,7 @@ citApp.controller('AppController', ['$scope', '$routeParams', '$timeout', '$loca
475 497  
476 498 $scope.workspaceRelatorio = angular.copy(workspace);
477 499  
478   - //VALIDA SE A WORKSPACE E FAVORITA
  500 + // VALIDA SE A WORKSPACE E FAVORITA
479 501 isWorkspaceFavorito(workspace);
480 502  
481 503 $scope.workspaces.push(workspace);
... ... @@ -539,13 +561,29 @@ citApp.controller('AppController', ['$scope', '$routeParams', '$timeout', '$loca
539 561 };
540 562  
541 563 $scope.removeWorkspace = function(id) {
  564 +
  565 + if($scope.validarFecharAba && $scope.validarFecharAba != 'true'){
  566 + $scope.closeWorkspace(id);
  567 + }else{
  568 + $scope.$openModalConfirm({
  569 + message: $translate.instant("PORTAL.MSG.CONFIRMA_CLOSE_WORKSPACE"),
  570 + callback: function () {
  571 + $scope.closeWorkspace(id);
  572 + $scope.$modalConfirmInstance.dismiss('cancel');
  573 + }
  574 +
  575 + });
  576 + }
  577 + };
  578 +
  579 + $scope.closeWorkspace = function(id){
542 580 var workspaces = $scope.workspaces,
543   - i;
544   - for (i = 0; i < workspaces.length; i = i + 1) {
  581 + i;
  582 + for (i = 0; i < workspaces.length; i = i + 1) {
545 583 if (id === workspaces[i].id) {
546 584 var workspaceTarget = workspaces[i],
547   - workspaceNext = workspaces[i + 1],
548   - workspacePrev = workspaces[i - 1];
  585 + workspaceNext = workspaces[i + 1],
  586 + workspacePrev = workspaces[i - 1];
549 587  
550 588 if(workspaceTarget.active === true) {
551 589  
... ... @@ -573,7 +611,8 @@ citApp.controller(&#39;AppController&#39;, [&#39;$scope&#39;, &#39;$routeParams&#39;, &#39;$timeout&#39;, &#39;$loca
573 611 }
574 612 }
575 613 };
576   - // Método responsável por remover os interval dos widget.
  614 +
  615 + // Método responsável por remover os interval dos widget.
577 616 $scope.removeIntervalDashboard = function () {
578 617  
579 618 if($rootScope.listaWidgetIntervals){
... ... @@ -587,8 +626,9 @@ citApp.controller(&#39;AppController&#39;, [&#39;$scope&#39;, &#39;$routeParams&#39;, &#39;$timeout&#39;, &#39;$loca
587 626 };
588 627 };
589 628  
590   -// Foi desabilitado o dashboard pelo fato de nao esta ainda funcionado
591   -// $scope.workspaces = [{ id: 1, name: "Dasboard", page: '/cit-portal-web/html/home/home.html', active:true }];
  629 +// Foi desabilitado o dashboard pelo fato de nao esta ainda funcionado
  630 +// $scope.workspaces = [{ id: 1, name: "Dasboard", page:
  631 +// '/cit-portal-web/html/home/home.html', active:true }];
592 632 $scope.workspaces = [];
593 633  
594 634 $scope.addWorkspace = function () {
... ... @@ -597,8 +637,9 @@ citApp.controller(&#39;AppController&#39;, [&#39;$scope&#39;, &#39;$routeParams&#39;, &#39;$timeout&#39;, &#39;$loca
597 637 };
598 638  
599 639 /**
600   - * Funcao responsavel por validar se a Workspace adicionada ja e favorita - O class do favorito muda de acordo com o booleano
601   - */
  640 + * Funcao responsavel por validar se a Workspace adicionada ja e favorita -
  641 + * O class do favorito muda de acordo com o booleano
  642 + */
602 643 var isWorkspaceFavorito = function(workspace) {
603 644 var paginaUsuario = $scope.recuperarPaginaUsuario(workspace);
604 645  
... ... @@ -606,8 +647,9 @@ citApp.controller(&#39;AppController&#39;, [&#39;$scope&#39;, &#39;$routeParams&#39;, &#39;$timeout&#39;, &#39;$loca
606 647 };
607 648  
608 649 /**
609   - * Responsável por adicionar a Workspace ativa como favorito ou nao conforme status atual
610   - */
  650 + * Responsável por adicionar a Workspace ativa como favorito ou nao conforme
  651 + * status atual
  652 + */
611 653 $scope.addFavorito = function(workspace){
612 654  
613 655 var favoritoVH = {
... ... @@ -618,18 +660,20 @@ citApp.controller(&#39;AppController&#39;, [&#39;$scope&#39;, &#39;$routeParams&#39;, &#39;$timeout&#39;, &#39;$loca
618 660 // SALVA OU REMOVE O FAVORITO
619 661 PaginaUsuarioRepository.saveFavorito(favoritoVH).then(function(result){
620 662 workspace.favorito = result.favorito;
621   - // DETERMINA A LISTA DE PAGINAS DO USUARIO COM A ULTIMA VERSAO SALVA.
  663 + // DETERMINA A LISTA DE PAGINAS DO USUARIO COM A ULTIMA VERSAO
  664 + // SALVA.
622 665 $scope.usuarioLogado.paginasUsuario = result.paginasUsuario;
623   - //ATUALIZA AS ABAS REPETIDAS
  666 + // ATUALIZA AS ABAS REPETIDAS
624 667 atualizarWorkspacesFavorito(workspace);
625   - //ATUALIZA A LISTA DE PÁGINAS FAVORITAS MENU
  668 + // ATUALIZA A LISTA DE PÁGINAS FAVORITAS MENU
626 669 $scope.getPaginasFavoritadas();
627 670 });
628 671 };
629 672  
630 673 /**
631   - * Funcao responsavel por atualizar a lista de workspaces apos clicar em favoritar. Util para as abas repetidas
632   - */
  674 + * Funcao responsavel por atualizar a lista de workspaces apos clicar em
  675 + * favoritar. Util para as abas repetidas
  676 + */
633 677 var atualizarWorkspacesFavorito = function(workspace){
634 678  
635 679 for(var index = 0; index < $scope.workspaces.length; index++){
... ... @@ -642,8 +686,8 @@ citApp.controller(&#39;AppController&#39;, [&#39;$scope&#39;, &#39;$routeParams&#39;, &#39;$timeout&#39;, &#39;$loca
642 686 };
643 687  
644 688 /**
645   - * Responsavel por obter as páginas favoritas no menu
646   - */
  689 + * Responsavel por obter as páginas favoritas no menu
  690 + */
647 691 $scope.getPaginasFavoritadas = function(){
648 692  
649 693 $scope.paginasUsuarioFavoritoTemp = [];
... ... @@ -739,7 +783,8 @@ citApp.controller(&#39;AppController&#39;, [&#39;$scope&#39;, &#39;$routeParams&#39;, &#39;$timeout&#39;, &#39;$loca
739 783  
740 784 var idRelatorioCount = 0;
741 785 $scope.arrayContentReports = new Object();
742   - // Metodo responsavel por fazer a requisicao relatorios no GRP em uma TAB, abrindo uma nova workspace posteriormente
  786 + // Metodo responsavel por fazer a requisicao relatorios no GRP em uma TAB,
  787 + // abrindo uma nova workspace posteriormente
743 788 $scope.visualizarRelatorio = function(url, titleTab) {
744 789  
745 790 $scope.titleReport = titleTab;
... ... @@ -901,7 +946,9 @@ citApp.controller(&#39;AppController&#39;, [&#39;$scope&#39;, &#39;$routeParams&#39;, &#39;$timeout&#39;, &#39;$loca
901 946 });
902 947 };
903 948  
904   - // Método responsável por cortar uma string de visualização em tela para o tamanho definido como parametro se não for definido parametro de tamanho corta para 50 caracteres
  949 + // Método responsável por cortar uma string de visualização em tela para o
  950 + // tamanho definido como parametro se não for definido parametro de tamanho
  951 + // corta para 50 caracteres
905 952 $scope.splitText = function(string, tamanho) {
906 953 if (!tamanho) {
907 954 tamanho = 50;
... ... @@ -934,7 +981,8 @@ citApp.controller(&#39;AppController&#39;, [&#39;$scope&#39;, &#39;$routeParams&#39;, &#39;$timeout&#39;, &#39;$loca
934 981 }
935 982 };
936 983  
937   - // Verifica se a data em formato BR da referencia esta dentro da referencia vigente
  984 + // Verifica se a data em formato BR da referencia esta dentro da referencia
  985 + // vigente
938 986 $scope.isDataBRDentroReferenciaVigenteBR = function(data) {
939 987  
940 988 if(data !== undefined){
... ... @@ -955,7 +1003,8 @@ citApp.controller(&#39;AppController&#39;, [&#39;$scope&#39;, &#39;$routeParams&#39;, &#39;$timeout&#39;, &#39;$loca
955 1003 }
956 1004 };
957 1005  
958   - // Verifica se a data em formato BR da referencia é maior ou igual a data da referencia vigente
  1006 + // Verifica se a data em formato BR da referencia é maior ou igual a data da
  1007 + // referencia vigente
959 1008 $scope.isDataBRMaiorOuIgualReferenciaVigente = function(data) {
960 1009  
961 1010 if(data !== undefined){
... ... @@ -982,7 +1031,8 @@ citApp.controller(&#39;AppController&#39;, [&#39;$scope&#39;, &#39;$routeParams&#39;, &#39;$timeout&#39;, &#39;$loca
982 1031 }
983 1032 };
984 1033  
985   - // Verifica se a data em formato US da referencia esta dentro da referencia vigente
  1034 + // Verifica se a data em formato US da referencia esta dentro da referencia
  1035 + // vigente
986 1036 $scope.isDataUSDentroReferenciaVigente = function(data) {
987 1037  
988 1038 if(data !== undefined){
... ... @@ -1003,7 +1053,8 @@ citApp.controller(&#39;AppController&#39;, [&#39;$scope&#39;, &#39;$routeParams&#39;, &#39;$timeout&#39;, &#39;$loca
1003 1053 }
1004 1054 };
1005 1055  
1006   - // Verifica se a data em formato BR da referencia é maior ou igual a data da referencia vigente
  1056 + // Verifica se a data em formato BR da referencia é maior ou igual a data da
  1057 + // referencia vigente
1007 1058 $scope.isDataUSMaiorOuIgualReferenciaVigente = function(data) {
1008 1059  
1009 1060 if(data !== undefined){
... ... @@ -1030,7 +1081,9 @@ citApp.controller(&#39;AppController&#39;, [&#39;$scope&#39;, &#39;$routeParams&#39;, &#39;$timeout&#39;, &#39;$loca
1030 1081 }
1031 1082 };
1032 1083  
1033   - //TODO refatorar assim que o login estiver pronto. Foi preciso timeout por ter que atualizar o menu com quantidade de favoritos, sem ele o usuario logado ainda nao foi completamente carregado.
  1084 + // TODO refatorar assim que o login estiver pronto. Foi preciso timeout por
  1085 + // ter que atualizar o menu com quantidade de favoritos, sem ele o usuario
  1086 + // logado ainda nao foi completamente carregado.
1034 1087 $timeout(function() {
1035 1088  
1036 1089 $scope.getPaginasFavoritadas();
... ... @@ -1560,7 +1613,7 @@ citApp.controller(&#39;AppController&#39;, [&#39;$scope&#39;, &#39;$routeParams&#39;, &#39;$timeout&#39;, &#39;$loca
1560 1613 }
1561 1614  
1562 1615 var workspace = undefined;
1563   -// angular.element('#' + idFormEdit).scope().resetForm();
  1616 +// angular.element('#' + idFormEdit).scope().resetForm();
1564 1617 $timeout(function() {
1565 1618 $scope.setLoadingGet(true);
1566 1619 for(var i = 0; i < $scope.workspaces.length; i++){
... ... @@ -1572,7 +1625,7 @@ citApp.controller(&#39;AppController&#39;, [&#39;$scope&#39;, &#39;$routeParams&#39;, &#39;$timeout&#39;, &#39;$loca
1572 1625  
1573 1626 getRascunho(workspace, rascunho.id);
1574 1627 $timeout(function(){
1575   -// workspace.rascunho = rascunho;
  1628 +// workspace.rascunho = rascunho;
1576 1629 angular.element('#' + $scope.nomeFormIdController).scope().setRascunho(JSON.parse(rascunho.json));
1577 1630 $scope.$showPageEditWorkspace(workspace);
1578 1631 $scope.$modalInstance.dismiss('cancel');
... ...
cit-portal-web/src/main/webapp/html/configuracao/configuracao.html
... ... @@ -73,7 +73,7 @@
73 73 <div class="row">
74 74 <div class="col-sm-4">
75 75 <div class="form-group">
76   - <label class="control-label"><translate>LABEL.USUARIO</translate>:</label> <input type="text" class="form-control" ng-model="parametro.EMAIL_LOGIN" />
  76 + <label class="control-label"><translate>LABEL.USUARIO</translate>:</label> <input type="text" class="form-control" ng-model="parametro.EMAIL_LOGIN" id="parametro.EMAIL_LOGIN" />
77 77 </div>
78 78 <!-- .form-control -->
79 79 </div>
... ... @@ -84,7 +84,7 @@
84 84 <div class="row">
85 85 <div class="col-sm-4">
86 86 <div class="form-group">
87   - <label class="control-label"><translate>PORTAL.LABEL.SENHA</translate>:</label> <input type="password" class="form-control" ng-model="parametro.EMAIL_SENHA" />
  87 + <label class="control-label"><translate>PORTAL.LABEL.SENHA</translate>:</label> <input type="password" class="form-control" ng-model="parametro.EMAIL_SENHA" id="parametro.EMAIL_SENHA" />
88 88 </div>
89 89 <!-- .form-control -->
90 90 </div>
... ... @@ -96,7 +96,7 @@
96 96 <div class="col-sm-4">
97 97 <div class="form-group">
98 98 <div class="checkbox" style="margin: 0;">
99   - <label> <input type="checkbox" ng-model="parametro.EMAIL_EXIGE_AUTENTICACAO" ng-true-value="'true'" ng-false-value="'false'" /> <translate>PORTAL.LABEL.EXIGE_AUTENTICACAO</translate>
  99 + <label> <input type="checkbox" id= "parametro.EMAIL_EXIGE_AUTENTICACAO" ng-model="parametro.EMAIL_EXIGE_AUTENTICACAO" ng-true-value="'true'" ng-false-value="'false'" /> <translate>PORTAL.LABEL.EXIGE_AUTENTICACAO</translate>
100 100 </label>
101 101 </div>
102 102 <!-- .checkbox -->
... ... @@ -111,7 +111,7 @@
111 111 <div class="col-sm-4">
112 112 <div class="form-group">
113 113 <div class="checkbox" style="margin: 0;">
114   - <label> <input type="checkbox" ng-model="parametro.EMAIL_TSL_SSL" ng-true-value="'true'" ng-false-value="'false'" /> <translate>PORTAL.LABEL.TSL_SSL</translate>
  114 + <label> <input type="checkbox" id="parametro.EMAIL_TSL_SSL" ng-model="parametro.EMAIL_TSL_SSL" ng-true-value="'true'" ng-false-value="'false'" /> <translate>PORTAL.LABEL.TSL_SSL</translate>
115 115 </label>
116 116 </div>
117 117 <!-- .checkbox -->
... ... @@ -170,7 +170,7 @@
170 170 <div class="col-sm-4">
171 171 <div class="form-group">
172 172 <div class="checkbox" style="margin: 0;">
173   - <label> <input type="checkbox" ng-model="parametro.EMAIL_EXIGE_AUTENTICACAO" ng-true-value="'true'" ng-false-value="'false'" form="configuracaoModulosForm" /> <translate>PORTAL.LABEL.EXIGE_AUTENTICACAO</translate>
  173 + <label> <input type="checkbox" id="parametro.EMAIL_EXIGE_AUTENTICACAO" ng-model="parametro.EMAIL_EXIGE_AUTENTICACAO" ng-true-value="'true'" ng-false-value="'false'" form="configuracaoModulosForm" /> <translate>PORTAL.LABEL.EXIGE_AUTENTICACAO</translate>
174 174 </label>
175 175 </div>
176 176 <!-- .checkbox -->
... ... @@ -192,7 +192,7 @@
192 192 <div class="col-sm-12">
193 193 <div class="form-group">
194 194 <div class="checkbox" style="margin: 0;">
195   - <label> <input type="checkbox" ng-model="parametro['EXECUTAR_SCRIPT_MENU']" ng-true-value="'true'" ng-false-value="'false'" form="configuracaoModulosForm" /> <translate>PORTAL.LABEL.EXECUTAR_SCRIPT_MENU</translate>
  195 + <label> <input type="checkbox" id="parametro.EXECUTAR_SCRIPT_MENU" ng-model="parametro['EXECUTAR_SCRIPT_MENU']" ng-true-value="'true'" ng-false-value="'false'" form="configuracaoModulosForm" /> <translate>PORTAL.LABEL.EXECUTAR_SCRIPT_MENU</translate>
196 196 </label>
197 197 </div>
198 198 <!-- .checkbox -->
... ... @@ -206,7 +206,7 @@
206 206 <div class="col-sm-12">
207 207 <div class="form-group">
208 208 <div class="checkbox" style="margin: 0;">
209   - <label> <input type="checkbox" ng-model="parametro['EXECUTAR_BASE_INICIAL']" ng-true-value="'true'" ng-false-value="'false'" form="configuracaoModulosForm" /> <translate>PORTAL.LABEL.EXECUTAR_BASE_INICIAL</translate>
  209 + <label> <input type="checkbox" id="parametro.EXECUTAR_BASE_INICIAL" ng-model="parametro['EXECUTAR_BASE_INICIAL']" ng-true-value="'true'" ng-false-value="'false'" form="configuracaoModulosForm" /> <translate>PORTAL.LABEL.EXECUTAR_BASE_INICIAL</translate>
210 210 </label>
211 211 </div>
212 212 <!-- .checkbox -->
... ... @@ -220,7 +220,7 @@
220 220 <div class="col-sm-12">
221 221 <div class="form-group">
222 222 <div class="checkbox" style="margin: 0;">
223   - <label> <input type="checkbox" ng-model="parametro['EXECUTAR_INTERNACIONALIZACAO']" ng-true-value="'true'" ng-false-value="'false'" form="configuracaoModulosForm" /> <translate>PORTAL.LABEL.EXECUTAR_INTERNACIONALIZACAO</translate>
  223 + <label> <input type="checkbox" id="parametro.EXECUTAR_INTERNACIONALIZACAO" ng-model="parametro['EXECUTAR_INTERNACIONALIZACAO']" ng-true-value="'true'" ng-false-value="'false'" form="configuracaoModulosForm" /> <translate>PORTAL.LABEL.EXECUTAR_INTERNACIONALIZACAO</translate>
224 224 </label>
225 225 </div>
226 226 <!-- .checkbox -->
... ... @@ -243,7 +243,7 @@
243 243 <div class="form-group">
244 244 <div class="checkbox" style="margin: 0;">
245 245 <label>
246   - <input type="checkbox" ng-model="parametro['ITSM_ATIVO']" ng-true-value="'true'" ng-false-value="'false'" form="configuracaoModulosForm" />
  246 + <input type="checkbox" id="parametro.ITSM_ATIVO" ng-model="parametro['ITSM_ATIVO']" ng-true-value="'true'" ng-false-value="'false'" form="configuracaoModulosForm" />
247 247 <translate>LABEL.ITSM_ATIVO</translate>
248 248 </label>
249 249 </div>
... ... @@ -268,7 +268,7 @@
268 268 <div class="col-sm-12">
269 269 <div class="form-group">
270 270 <div class="checkbox" style="margin: 0;">
271   - <label> <input type="checkbox" ng-model="parametro['EXECUTAR_SCRIPT_MENU-'+modulo.id]" ng-true-value="'true'" ng-false-value="'false'" form="configuracaoModulosForm" /> <translate>PORTAL.LABEL.EXECUTAR_SCRIPT_MENU</translate>
  271 + <label> <input type="checkbox" id="parametro.EXECUTAR_SCRIPT_MENU-{{modulo.id}}" ng-model="parametro['EXECUTAR_SCRIPT_MENU-'+modulo.id]" ng-true-value="'true'" ng-false-value="'false'" form="configuracaoModulosForm" /> <translate>PORTAL.LABEL.EXECUTAR_SCRIPT_MENU</translate>
272 272 </label>
273 273 </div>
274 274 <!-- .checkbox -->
... ... @@ -282,7 +282,7 @@
282 282 <div class="col-sm-12">
283 283 <div class="form-group">
284 284 <div class="checkbox" style="margin: 0;">
285   - <label> <input type="checkbox" ng-model="parametro['EXECUTAR_BASE_INICIAL-'+modulo.id]" ng-true-value="'true'" ng-false-value="'false'" form="configuracaoModulosForm" /> <translate>PORTAL.LABEL.EXECUTAR_BASE_INICIAL</translate>
  285 + <label> <input type="checkbox" id="parametro.EXECUTAR_BASE_INICIAL-{{modulo.id}}" ng-model="parametro['EXECUTAR_BASE_INICIAL-'+modulo.id]" ng-true-value="'true'" ng-false-value="'false'" form="configuracaoModulosForm" /> <translate>PORTAL.LABEL.EXECUTAR_BASE_INICIAL</translate>
286 286 </label>
287 287 </div>
288 288 <!-- .checkbox -->
... ... @@ -492,7 +492,7 @@
492 492 <fieldset>
493 493 <div class="row">
494 494 <div class="col-sm-8">
495   - <label-input-radio ng-label="PORTAL.LABEL.MASCARA_NUMERO_IDENTIFICACAO" list="radioValueList" ng-model="mascara.dominioTipoMascara.codigo" ng-disabled="false" text="descricao" ng-obrigatorio="true"
  495 + <label-input-radio ng-label="PORTAL.LABEL.MASCARA_NUMERO_IDENTIFICACAO" list="radioValueList" ng-model="mascara.dominioTipoMascara.codigo" ng-disabled="false" text="descricao"
496 496 value="codigo" form="configuracaoGeralForm" ng-click="configurarMascara()"></label-input-radio>
497 497 </div>
498 498 <!-- .col -->
... ... @@ -502,7 +502,7 @@
502 502 <div class="row">
503 503 <div class="col-sm-2">
504 504 <label-input-number label-info-tooltip="{{$translate.instant('PORTAL.MSG.INFO_TAMANHO_MASCARA_OPERACAO')}}" ng-id="mascara.tamanhoSequencial" ng-label="PORTAL.LABEL.TAMANHO_MASCARA"
505   - form="configuracaoGeralForm" ng-disabled="false" ng-obrigatorio="true" ng-model="mascara.tamanhoSequencial" ng-custom-maxlength="2" ng-min-number="5" ng-max-number="10"
  505 + form="configuracaoGeralForm" ng-disabled="false" ng-model="mascara.tamanhoSequencial" ng-custom-maxlength="2" ng-min-number="5" ng-max-number="10"
506 506 ng-keyup="configurarMascara()" />
507 507 </div>
508 508 <!-- .col -->
... ... @@ -526,7 +526,19 @@
526 526 <!-- .col -->
527 527 </div>
528 528 <!-- .row -->
529   -
  529 + <div class="row">
  530 + <div class="col-sm-12">
  531 + <div class="form-group">
  532 + <div class="checkbox" style="margin: 0;">
  533 + <label> <input type="checkbox" id="parametro.VALIDAR_FECHAR_ABA" ng-model="parametro.VALIDAR_FECHAR_ABA" ng-true-value="'true'" ng-false-value="'false'" form="configuracaoGeralForm" /> <translate>PORTAL.LABEL.VALIDAR_FECHAR_ABA</translate>
  534 + </label>
  535 + </div>
  536 + <!-- .checkbox -->
  537 + </div>
  538 + <!-- .form-control -->
  539 + </div>
  540 + <!-- .col -->
  541 + </div>
530 542 <div class="row margin-top">
531 543 <div class="col-sm-2">
532 544 <button class="btn btn-success" ng-disabled="configuracaoGeralForm.$invalid" ng-click="saveOrUpdateParametrosGeral();">
... ...