Overview
Comment: | éviter les problèmes de foreign key en mettant à NULL id_cotisation dans membres_operations, et prévenir de l'effet |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
87b5f2fd4f7a62aac555ef919a861032 |
User & Date: | bohwaz on 2015-03-28 16:48:06 |
Other Links: | manifest | tags |
Context
2015-03-28
| ||
17:06 | Liste des écritures liées à une cotisation check-in: 9e6dc2ec31 user: bohwaz tags: trunk | |
16:48 | éviter les problèmes de foreign key en mettant à NULL id_cotisation dans membres_operations, et prévenir de l'effet check-in: 87b5f2fd4f user: bohwaz tags: trunk | |
16:33 | comptage du nombre d'écritures liées et avertissement avant suppression, et ne pas supprimer les liaisons membre <-> écriture, simplement indiquer qu'elles ne sont plus liées à une cotisation check-in: fea5d3bdbe user: bohwaz tags: trunk | |
Changes
Modified src/include/lib/Garradin/Cotisations.php from [aa5c86a894] to [c70e00c4d9].
︙ | ︙ | |||
114 115 116 117 118 119 120 121 122 123 124 125 126 127 | * @return integer true en cas de succès */ public function delete($id) { $db = DB::getInstance(); $db->exec('BEGIN;'); $db->simpleExec('DELETE FROM cotisations_membres WHERE id_cotisation = ?;', (int) $id); $db->simpleExec('DELETE FROM cotisations WHERE id = ?;', (int) $id); $db->exec('END;'); return true; } | > > > > > | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | * @return integer true en cas de succès */ public function delete($id) { $db = DB::getInstance(); $db->exec('BEGIN;'); // Inscrire à NULL les opérations liées à cette cotisation, ainsi on conserve le lien avec les membres $db->simpleExec('UPDATE membres_operations SET id_cotisation = NULL WHERE id_cotisation IN (SELECT id FROM cotisations_membres WHERE id_cotisation = ?);', (int) $id); $db->simpleExec('DELETE FROM cotisations_membres WHERE id_cotisation = ?;', (int) $id); $db->simpleExec('DELETE FROM cotisations WHERE id = ?;', (int) $id); $db->exec('END;'); return true; } |
︙ | ︙ |
Modified src/templates/admin/membres/cotisations/gestion/supprimer.tpl from [72c2730600] to [c69a905047].
︙ | ︙ | |||
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <fieldset> <legend>Supprimer cette cotisation ?</legend> <h3 class="warning"> Êtes-vous sûr de vouloir supprimer la cotisation « {$cotisation.intitule|escape} » ? </h3> <p class="help"> Attention, l'historique des membres ayant cotisé à cette cotisation sera supprimé. </p> </fieldset> <p class="submit"> {csrf_field key="delete_co_"|cat:$cotisation.id} <input type="submit" name="delete" value="Supprimer →" /> </p> </form> {include file="admin/_foot.tpl"} | > > | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | <fieldset> <legend>Supprimer cette cotisation ?</legend> <h3 class="warning"> Êtes-vous sûr de vouloir supprimer la cotisation « {$cotisation.intitule|escape} » ? </h3> <p class="help"> Attention, l'historique des membres ayant cotisé à cette cotisation sera supprimé. Si des écritures comptables sont liées à l'historique des cotisations, elles ne seront pas supprimées, et la comptabilité demeurera inchangée. </p> </fieldset> <p class="submit"> {csrf_field key="delete_co_"|cat:$cotisation.id} <input type="submit" name="delete" value="Supprimer →" /> </p> </form> {include file="admin/_foot.tpl"} |