Overview
Comment:Intercepter les recherches où rien n'a été sélectionné
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | dev
Files: files | file ages | folders
SHA1: 9c5436a829250a5d90e382361229d66ca3b4ae50
User & Date: bohwaz on 2018-10-19 19:33:44
Other Links: branch diff | manifest | tags
Context
2018-10-19
23:13
Fix bug nom de champ ambigu check-in: 366ec1d95d user: bohwaz tags: dev
19:33
Intercepter les recherches où rien n'a été sélectionné check-in: 9c5436a829 user: bohwaz tags: dev
16:40
N'utiliser FallbackResource que si disponible check-in: 311932a7d6 user: bohwaz tags: dev
Changes

Modified src/include/lib/Garradin/Recherche.php from [330b3b6bc8] to [1fb44b301a].

343
344
345
346
347
348
349





350
351
352
353
354
355
356
			}

			if (count($query_group_conditions))
			{
				$query_groups[] = implode(' ' . $group['operator'] . ' ', $query_group_conditions);
			}
		}






		$query_columns = array_unique($query_columns);

		// Ajout du champ identité si pas présent
		if ($target == 'membres' && !in_array($config->get('champ_identite'), $query_columns))
		{
			array_unshift($query_columns, $config->get('champ_identite'));







>
>
>
>
>







343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
			}

			if (count($query_group_conditions))
			{
				$query_groups[] = implode(' ' . $group['operator'] . ' ', $query_group_conditions);
			}
		}

		if (!count($query_groups))
		{
			throw new UserException('Aucune clause trouvée dans la recherche.');
		}

		$query_columns = array_unique($query_columns);

		// Ajout du champ identité si pas présent
		if ($target == 'membres' && !in_array($config->get('champ_identite'), $query_columns))
		{
			array_unshift($query_columns, $config->get('champ_identite'));

Modified src/templates/admin/membres/recherche.tpl from [3618a80c24] to [9553f0ff0f].

1
2
3


4
5
6
7
8
9
10
{include file="admin/_head.tpl" title="Recherche de membre" current="membres" js=1 custom_js=['query_builder.min.js']}

{include file="admin/membres/_nav.tpl" current="recherche"}



<form method="post" action="{$admin_url}membres/recherche.php" id="queryBuilderForm">
	<fieldset>
		<legend>Rechercher un membre</legend>
		<div class="queryBuilder" id="queryBuilder"></div>
		<p class="actions">
			<label>Trier par 



>
>







1
2
3
4
5
6
7
8
9
10
11
12
{include file="admin/_head.tpl" title="Recherche de membre" current="membres" js=1 custom_js=['query_builder.min.js']}

{include file="admin/membres/_nav.tpl" current="recherche"}

{form_errors}

<form method="post" action="{$admin_url}membres/recherche.php" id="queryBuilderForm">
	<fieldset>
		<legend>Rechercher un membre</legend>
		<div class="queryBuilder" id="queryBuilder"></div>
		<p class="actions">
			<label>Trier par 

Modified src/www/admin/membres/recherche.php from [5423db5485] to [873735cdf8].

66
67
68
69
70
71
72

73
74
75








76
77
78
79
80
81
82
83
84
85
86
87
88
if (f('q') !== null)
{
    $query = json_decode(f('q'), true);
}

if ($query)
{

    $sql_query = $recherche->buildQuery('membres', $query, $order, $desc, $limit);
    $result = $recherche->searchSQL('membres', $sql_query);









    if (count($result) == 1 && $text_query !== '')
    {
        Utils::redirect(ADMIN_URL . 'membres/fiche.php?id=' . (int)$result[0]->id);
    }

    if (f('save'))
    {
        $query = [
            'query' => $query,
            'order' => $order,
            'limit' => $limit,
            'desc'  => $desc,
        ];







>
|
|
|
>
>
>
>
>
>
>
>





|







66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
if (f('q') !== null)
{
    $query = json_decode(f('q'), true);
}

if ($query)
{
    try {
        $sql_query = $recherche->buildQuery('membres', $query, $order, $desc, $limit);
        $result = $recherche->searchSQL('membres', $sql_query);
    }
    catch (UserException $e) {
        $form->addError($e->getMessage());
        $query = null;
    }
}

if ($query)
{
    if (count($result) == 1 && $text_query !== '')
    {
        Utils::redirect(ADMIN_URL . 'membres/fiche.php?id=' . (int)$result[0]->id);
    }

    if (f('save') && !$form->hasErrors())
    {
        $query = [
            'query' => $query,
            'order' => $order,
            'limit' => $limit,
            'desc'  => $desc,
        ];