Overview
Comment: | Ne pas permettre de supprimer le champ email ! |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | stable |
Files: | files | file ages | folders |
SHA1: |
b619ea4702a99c17116e5b7b4559d2a7 |
User & Date: | bohwaz on 2018-02-21 04:51:25 |
Other Links: | manifest | tags |
References
2020-12-08
| ||
23:25 | • Wiki page "Changelog/0.9" artifact: b9c916b4d1 user: bohwaz | |
Context
2018-02-21
| ||
04:56 | Ne pas inclure les reports dans le rapprochement, signalé par @Alain check-in: c86a781f5e user: bohwaz tags: trunk, stable | |
04:51 | Ne pas permettre de supprimer le champ email ! check-in: b619ea4702 user: bohwaz tags: trunk, stable | |
04:38 | Corrige encodage du From dans les mails envoyés, signalé par @Emelyne check-in: 2cc684a884 user: bohwaz tags: trunk, stable | |
Changes
Modified src/include/lib/Garradin/Membres/Champs.php from [880caee707] to [c81852e57e].
︙ | ︙ | |||
87 88 89 90 91 92 93 | { if ($champs instanceOf Champs) { $this->champs = $champs->getAll(); } elseif (is_array($champs)) { | < < | < < < < < < < < < < < < < < < < < < < < < | 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | { if ($champs instanceOf Champs) { $this->champs = $champs->getAll(); } elseif (is_array($champs)) { $this->setAll($champs); } else { $champs = parse_ini_string((string)$champs, true); foreach ($champs as $key=>&$config) { |
︙ | ︙ | |||
439 440 441 442 443 444 445 | } /** * Modifie les champs en interne en vérifiant que tout va bien * @param array $champs Liste des champs * @return boolean true */ | | > > > > > > > > > > > > > > > > > > > > > > > > > > > | 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 | } /** * Modifie les champs en interne en vérifiant que tout va bien * @param array $champs Liste des champs * @return boolean true */ public function setAll(array $champs) { $presets = self::importPresets(); $this->champs = new \stdClass; if (!isset($champs['passe'])) { $champs['passe'] = ['type' => 'password']; } foreach ($champs as $key=>&$config) { if (is_array($config)) { $config = (object) $config; } if (isset($presets[$key])) { $config->type = $presets[$key]['type']; } $this->_checkField($key, $config); $this->champs->$key = $config; } unset($config); if (!array_key_exists('email', $champs)) { throw new UserException('Le champ E-Mail ne peut être supprimé des fiches membres.'); } if (!array_key_exists('passe', $champs)) { |
︙ | ︙ |
Modified src/templates/admin/config/membres.tpl from [166866b141] to [442c85f4e3].
︙ | ︙ | |||
254 255 256 257 258 259 260 | edit.title = 'Modifier ce champ'; edit.onclick = function (e) { this.parentNode.parentNode.querySelector('dl').classList.toggle('hidden'); return false; }; actions.appendChild(edit); | | | 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 | edit.title = 'Modifier ce champ'; edit.onclick = function (e) { this.parentNode.parentNode.querySelector('dl').classList.toggle('hidden'); return false; }; actions.appendChild(edit); if (field.id != champ_identifiant && field.id != 'f_passe' && field.id != champ_identite && field.id != 'f_numero' && field.id != 'f_email') { var rem = document.createElement('a'); rem.className = 'icn remove'; rem.innerHTML = '✘'; rem.title = 'Enlever ce champ de la fiche'; rem.onclick = function (e) { if (!window.confirm('Êtes-vous sûr de supprimer ce champ des fiches de membre ?')) |
︙ | ︙ |
Modified src/www/admin/static/admin.css from [758eb0ad20] to [d230c3bb28].
︙ | ︙ | |||
992 993 994 995 996 997 998 | line-height: .8em; color: #666; } #orderFields fieldset .actions { display: block; position: absolute; | | | 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 | line-height: .8em; color: #666; } #orderFields fieldset .actions { display: block; position: absolute; top: 0.2em; right: 1em; } #orderFields fieldset .actions .icn { position: absolute; } |
︙ | ︙ |