Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion app/components/campo_autocomplete.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@

$vs_operador = $pa_parametros_campo["operador"] ?? "LIKE";

$vb_configuracao_padrao = $pa_parametros_campo["forcar_configuracao_padrao"] ?? 0;

if (!isset($pa_parametros_campo["multiplos_valores"]))
$vb_multiplos_valores = false;
else
Expand Down Expand Up @@ -851,7 +853,7 @@ function alterar_valor_filtro_<?php print $vs_id_campo_codigos ?>(pb_checked, ps
}
?>

vs_url_lista_sugestoes = "functions/autocomplete.php?tela=<?php print $vs_tela ?>&campo=<?php print $vs_nome_campo_lookup ?>&campo_codigos=<?php print $pa_parametros_campo["nome"][1]; ?>&termo="+encodeURIComponent(vs_termo)+"&obj=<?php print $vs_objeto_campo ?>"+"&procurar_por=<?php print $vs_procurar_por ?>&permitir_cadastro=<?php print $vb_permitir_cadastro ?>&campo_codigo=<?php print $vs_campo_codigo; ?>&campo_valor=<?php print $vs_campo_valor; ?>&operador=<?php print $vs_operador; ?>"+vs_filtro;
vs_url_lista_sugestoes = "functions/autocomplete.php?tela=<?php print $vs_tela ?>&campo=<?php print $vs_nome_campo_lookup ?>&campo_codigos=<?php print $pa_parametros_campo["nome"][1]; ?>&termo="+encodeURIComponent(vs_termo)+"&obj=<?php print $vs_objeto_campo ?>"+"&procurar_por=<?php print $vs_procurar_por ?>&permitir_cadastro=<?php print $vb_permitir_cadastro ?>&campo_codigo=<?php print $vs_campo_codigo; ?>&campo_valor=<?php print $vs_campo_valor; ?>&operador=<?php print $vs_operador; ?>&configuracao_padrao=<?php print $vb_configuracao_padrao; ?>"+vs_filtro;

<?php if (isset($pa_parametros_campo["excluir"]))
{
Expand Down
11 changes: 7 additions & 4 deletions app/components/header.php
Original file line number Diff line number Diff line change
Expand Up @@ -52,21 +52,24 @@
if (!isset($vs_busca_id))
$vs_busca_id = "";

$vs_objeto_busca = class_exists("texto") ? "texto" : "item_acervo";

$vo_autocomplete_identificador = new html_autocomplete("item_acervo", "busca_id");

$pa_parametros_campo = array (
'html_autocomplete',
'nome' => ['busca_id', 'item_acervo_codigo'],
'nome' => ['busca_id', $vs_objeto_busca . '_codigo'],
'label' => '',
'objeto' => 'item_acervo',
'atributos' => ['item_acervo_codigo', 'item_acervo_identificador'],
'objeto' => $vs_objeto_busca,
'atributos' => [$vs_objeto_busca . '_codigo', 'item_acervo_identificador'],
'procurar_por' => 'item_acervo_identificador',
'operador' => 'LIKERIGHT',
'valor_no_input' => true,
'placeholder' => 'Busca por identificador',
'forcar_configuracao_padrao' => 1 // força o uso da configuração padrão para autocompletes e não o padrão da classe em get_campo_autocomplete()
);

$pa_valores_form = array('item_acervo_codigo' => '', "busca_id" => $vs_busca_id);
$pa_valores_form = array($vs_objeto_busca . '_codigo' => '', "busca_id" => $vs_busca_id);

$vo_autocomplete_identificador->build($pa_valores_form, $pa_parametros_campo);
?>
Expand Down
38 changes: 32 additions & 6 deletions app/components/ler_valor.php
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,28 @@ function ler_valor1($ps_atributo, $pa_item, $pa_opcoes_campo=null, $pn_numero_it
$va_atributo_temp = $va_atributo;

// $vb_busca_profundidade serve para controlar a busca hierárquica, se ela for acontecer

$vb_busca_profundidade = true;
$vn_contador_nivel = 0;
$va_ramo = array();

if (isset($pa_opcoes_campo["formato"]["hierarquia"]) && isset($pa_opcoes_campo["formato"]["link"]))
{
$va_atributo_construir_ramo = $va_atributo_temp;

while ($vb_busca_profundidade)
{
$va_ramo[$vn_contador_nivel] = $va_atributo_construir_ramo[$pa_opcoes_campo["formato"]["link"]["codigo"]];

if (isset($va_atributo_construir_ramo[$pa_opcoes_campo["formato"]["hierarquia"]]))
$va_atributo_construir_ramo = $va_atributo_construir_ramo[$pa_opcoes_campo["formato"]["hierarquia"]];
else
$vb_busca_profundidade = false;

$vn_contador_nivel--;
}
}

$vb_busca_profundidade = true;

while ($vb_busca_profundidade)
Expand Down Expand Up @@ -179,6 +201,7 @@ function ler_valor1($ps_atributo, $pa_item, $pa_opcoes_campo=null, $pn_numero_it
$vs_url = "navegar.php?obj=" . $pa_opcoes_campo["formato"]["link"]["objeto"] . "&cod=" . $vn_objeto_link_codigo;
$vs_expressao_montada = '<a href="'. $vs_url . '">' . $vs_expressao_montada . '</a>';
}

if (isset($pa_opcoes_campo["formato"]["link"]["url"]))
{
$vs_padrao_url = "padrao";
Expand All @@ -187,14 +210,15 @@ function ler_valor1($ps_atributo, $pa_item, $pa_opcoes_campo=null, $pn_numero_it

$vs_url = $pa_opcoes_campo["formato"]["link"]["url"];
$contador = 1;

foreach($pa_opcoes_campo["formato"]["link"]["parametros"] as $vs_parametro => $vs_campo_parametro)
{
if ($vs_padrao_url == "padrao")
{
if ($contador == 1)
$vs_url .= "?" . $vs_parametro . "=" . $va_atributo_temp[$vs_campo_parametro];
$vs_url .= "?" . $vs_parametro . "=" . (empty($va_atributo_temp[$vs_campo_parametro]) ? $vs_campo_parametro : $va_atributo_temp[$vs_campo_parametro]);
else
$vs_url .= "&" . $vs_parametro . "=" . $va_atributo_temp[$vs_campo_parametro];
$vs_url .= "&" . $vs_parametro . "=" . (empty($va_atributo_temp[$vs_campo_parametro]) ? $vs_campo_parametro : $va_atributo_temp[$vs_campo_parametro]);
}
else
$vs_url .= "/" . $va_atributo_temp[$vs_campo_parametro];
Expand All @@ -210,7 +234,7 @@ function ler_valor1($ps_atributo, $pa_item, $pa_opcoes_campo=null, $pn_numero_it

$vn_objeto_link_codigo = $va_atributo_temp[$pa_opcoes_campo["formato"]["link"]["codigo"]];

$vs_expressao_montada = $vo_objeto->get_link($vn_objeto_link_codigo, $vs_expressao_montada);
$vs_expressao_montada = $vo_objeto->get_link($vn_objeto_link_codigo, $vs_expressao_montada, $va_ramo);
}
else
{
Expand All @@ -228,22 +252,24 @@ function ler_valor1($ps_atributo, $pa_item, $pa_opcoes_campo=null, $pn_numero_it
// Adiciona sempre no começo do array
array_unshift($va_item_expressao, $vs_expressao_montada);

//var_dump($pa_opcoes_campo);

if (isset($pa_opcoes_campo["formato"]["hierarquia"]))
{
if (isset($va_atributo_temp[$pa_opcoes_campo["formato"]["hierarquia"]]))
{
$va_atributo_temp = $va_atributo_temp[$pa_opcoes_campo["formato"]["hierarquia"]];

// Adiciona o separador sempre no começo do array
// Adiciona o separador sempre no começo do array //
////////////////////////////////////////////////////

array_unshift($va_item_expressao, $pa_opcoes_campo["formato"]["separador"]);
}
else
$vb_busca_profundidade = false;
}
else
$vb_busca_profundidade = false;

$vn_contador_nivel++;
}

if (join("", $va_item_expressao))
Expand Down
6 changes: 5 additions & 1 deletion app/editar.php
Original file line number Diff line number Diff line change
Expand Up @@ -169,9 +169,13 @@

$_SESSION[$vs_id_objeto_tela][$_SESSION[$vs_id_objeto_tela]["campo_paginacao"]] = $vn_pagina_atual;

$va_parametros_filtros_consulta = $_SESSION[$vs_id_objeto_tela];
$vb_usar_parametros_sessao = true;
$vs_modo = "listagem";

require dirname(__FILE__)."/functions/montar_listagem.php";

$vs_modo = "edicao";

// A listagem_codigos só é atualizada após a chamada para /montar_listagem.php
if ($vn_objeto_codigo == "p")
$vn_objeto_codigo = end($_SESSION[$vs_id_objeto_tela]["listagem_codigos"]);
Expand Down
8 changes: 7 additions & 1 deletion app/functions/autocomplete.php
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,8 @@

$vs_operador = $_GET['operador'] ?? "LIKE";

$vb_configuracao_padrao = $_GET['configuracao_padrao'] ?? 0;

$vn_item_excluir = "";
if (isset($_GET['excluir']))
$vn_item_excluir = trim($_GET['excluir']);
Expand All @@ -376,7 +378,11 @@
$va_parametros_campo_pai = $va_campos_edicao[$vs_campo_codigos];

$vo_objeto = new $vs_id_objeto_campo;
$va_parametros_campo = $vo_objeto->get_campo_autocomplete($vs_campo, $vs_campo_codigo, $va_parametros_campo_pai['modo'] ?? "");

$va_parametros_campo = array();

if (!$vb_configuracao_padrao)
$va_parametros_campo = $vo_objeto->get_campo_autocomplete($vs_campo, $vs_campo_codigo, $va_parametros_campo_pai['modo'] ?? "");

if (!count($va_parametros_campo))
{
Expand Down
4 changes: 2 additions & 2 deletions app/functions/montar_filtros_busca.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
// Antes de chamar configurar_campos_tela.php, tenho que definir o modo "listagem"
//////////////////////////////////////////////////////////////////////////////////

$vs_modo = "listagem";
$vs_modo = $vs_modo ?? "listagem";
require_once dirname(__FILE__) . "/configurar_campos_tela.php";

// Vamos inicializar e ler aqui os parâmetros vindos dos filtros
Expand All @@ -23,7 +23,7 @@

$va_parametros_submit = array();

if (isset($_GET["back"]) && isset($_SESSION[$vs_id_objeto_tela]))
if ( (isset($_GET["back"]) && isset($_SESSION[$vs_id_objeto_tela])) || ($vb_usar_parametros_sessao ?? false))
{
// Se a requisição vem de uma página de edição ou ficha (back=1)
// carrega as variáveis de sessão
Expand Down
Loading