Overview
Comment: | Rejeter avec un message explicite si on essaye de choisir un numéro de membre qui ne contient pas que des chiffres |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
5335b732937b3b95930507f49ee17577 |
User & Date: | bohwaz on 2016-05-31 04:22:07 |
Other Links: | manifest | tags |
References
2020-12-08
| ||
23:25 | • Wiki page "Changelog/0.9" artifact: b9c916b4d1 user: bohwaz | |
Context
2016-05-31
| ||
04:29 | Ne pas accepter les noms de champs qui commencent par un chiffre (refusés par SQLite). check-in: 1e224909d5 user: bohwaz tags: trunk | |
04:22 | Rejeter avec un message explicite si on essaye de choisir un numéro de membre qui ne contient pas que des chiffres check-in: 5335b73293 user: bohwaz tags: trunk | |
04:10 | Augmenter le timeout en cas de concurrency, car des fois on a des erreurs sur certaines assos check-in: 0a88984edf user: bohwaz tags: trunk | |
Changes
Modified src/include/lib/Garradin/Membres.php from [18c1046b8c] to [b912871f30].
︙ | ︙ | |||
435 436 437 438 439 440 441 442 443 444 445 446 447 448 | && $db->simpleQuerySingle('SELECT 1 FROM membres WHERE '.$champ_id.' = ? AND id != ? LIMIT 1;', false, $data[$champ_id], (int)$id)) { throw new UserException('La valeur du champ '.$champ_id.' est déjà utilisée par un autre membre, hors ce champ doit être unique à chaque membre.'); } if (!empty($data['id'])) { if ($db->simpleQuerySingle('SELECT 1 FROM membres WHERE id = ?;', false, (int)$data['id'])) { throw new UserException('Ce numéro est déjà attribué à un autre membre.'); } // Si on ne vérifie pas toutes les tables qui sont liées ici à un ID de membre // la requête de modification provoquera une erreur de contrainte de foreign key | > > > > > | 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 | && $db->simpleQuerySingle('SELECT 1 FROM membres WHERE '.$champ_id.' = ? AND id != ? LIMIT 1;', false, $data[$champ_id], (int)$id)) { throw new UserException('La valeur du champ '.$champ_id.' est déjà utilisée par un autre membre, hors ce champ doit être unique à chaque membre.'); } if (!empty($data['id'])) { if (!preg_match('/^\d+$/', $data['id'])) { throw new UserException('Le numéro de membre ne doit contenir que des chiffres.'); } if ($db->simpleQuerySingle('SELECT 1 FROM membres WHERE id = ?;', false, (int)$data['id'])) { throw new UserException('Ce numéro est déjà attribué à un autre membre.'); } // Si on ne vérifie pas toutes les tables qui sont liées ici à un ID de membre // la requête de modification provoquera une erreur de contrainte de foreign key |
︙ | ︙ |
Modified src/templates/admin/membres/modifier.tpl from [05312cea7a] to [bea41901e2].
︙ | ︙ | |||
18 19 20 21 22 23 24 | <form method="post" action="{$self_url|escape}"> <fieldset> <legend>Informations personnelles</legend> <dl> {if $user.droits.membres == Garradin\Membres::DROIT_ADMIN} <dt><label for="f_id">Numéro de membre</label> <b title="(Champ obligatoire)">obligatoire</b></dt> | | | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <form method="post" action="{$self_url|escape}"> <fieldset> <legend>Informations personnelles</legend> <dl> {if $user.droits.membres == Garradin\Membres::DROIT_ADMIN} <dt><label for="f_id">Numéro de membre</label> <b title="(Champ obligatoire)">obligatoire</b></dt> <dd><input type="text" name="id" id="f_id" value="{form_field data=$membre name=id}" required="required" pattern="^\d+$" /></dd> {/if} {foreach from=$champs item="champ" key="nom"} {html_champ_membre config=$champ name=$nom data=$membre} {/foreach} </dl> </fieldset> |
︙ | ︙ |