Overview
Comment:Renvoi direct sur la fiche membre quand un seul résultat et pas de champ spécifié
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 13719ce97e83e0aa9013eee62ed794e3a50b7c07
User & Date: bohwaz on 2014-02-06 19:36:21
Other Links: manifest | tags
Context
2014-02-06
19:37
Nombre d'écritures comptables réalisées par un membre check-in: 0c756fa6ba user: bohwaz tags: trunk
19:36
Renvoi direct sur la fiche membre quand un seul résultat et pas de champ spécifié check-in: 13719ce97e user: bohwaz tags: trunk
19:19
Mentions champs obligatoires check-in: 09cbe82560 user: bohwaz tags: trunk
Changes

Modified src/www/admin/membres/recherche.php from [f06f6ef465] to [f1144db489].

     8      8       throw new UserException("Vous n'avez pas le droit d'accéder à cette page.");
     9      9   }
    10     10   
    11     11   $recherche = trim(utils::get('r'));
    12     12   $champ = trim(utils::get('c'));
    13     13   
    14     14   $champs = $config->get('champs_membres');
           15  +
           16  +$auto = false;
    15     17   
    16     18   // On détermine magiquement quel champ on recherche
    17     19   if (!$champ)
    18     20   {
           21  +    $auto = true;
           22  +
    19     23       if (is_numeric(trim($recherche))) {
    20     24           $champ = 'id';
    21     25       }
    22     26       elseif (strpos($recherche, '@') !== false) {
    23     27           $champ = 'email';
    24     28       }
    25     29       elseif ($champs->get('nom')) {
................................................................................
    32     36   else
    33     37   {
    34     38       if ($champ != 'id' && !$champs->get($champ))
    35     39       {
    36     40           throw new UserException('Le champ demandé n\'existe pas.');
    37     41       }
    38     42   }
           43  +
           44  +if ($recherche != '')
           45  +{
           46  +    $result = $membres->search($champ, $recherche);
           47  +
           48  +    if (count($result) == 1 && $auto)
           49  +    {
           50  +        utils::redirect('/admin/membres/fiche.php?id=' . (int)$result[0]['id']);
           51  +    }
           52  +}
    39     53   
    40     54   $champs_liste = $champs->getList();
    41     55   
    42     56   $champs_liste = array_merge(
    43     57       array('id' => array('title' => 'Numéro unique', 'type' => 'number')),
    44     58       $champs_liste
    45     59   );
................................................................................
    56     70   
    57     71   $tpl->assign('champs_entete', $champs_entete);
    58     72   $tpl->assign('champs_liste', $champs_liste);
    59     73   $tpl->assign('champ', $champ);
    60     74   
    61     75   if ($recherche != '')
    62     76   {
    63         -    $tpl->assign('liste', $membres->search($champ, $recherche));
           77  +    $tpl->assign('liste', $result);
    64     78   }
    65     79   
    66     80   $tpl->assign('recherche', $recherche);
    67     81   
    68     82   $tpl->display('admin/membres/recherche.tpl');
    69     83   
    70     84   ?>