Index: src/include/lib/Garradin/Membres/Cotisations.php ================================================================== --- src/include/lib/Garradin/Membres/Cotisations.php +++ src/include/lib/Garradin/Membres/Cotisations.php @@ -135,11 +135,11 @@ * @return integer true en cas de succès */ public function delete($id) { $db = DB::getInstance(); - $db->simpleExec('DELETE FROM membres_operations WHERE id_cotisation = ?;', (int)$id); + $db->simpleExec('UPDATE membres_operations SET id_cotisation = NULL WHERE id_cotisation = ?;', (int)$id); return $db->simpleExec('DELETE FROM cotisations_membres WHERE id = ?;', (int) $id); } public function get($id) { @@ -157,10 +157,18 @@ $db = DB::getInstance(); return $db->simpleStatementFetch('SELECT * FROM compta_journal WHERE id IN (SELECT id_operation FROM membres_operations WHERE id_cotisation = ?);', \SQLITE3_ASSOC, (int)$id); } + + /** + * Compte les opérations comptables liées à cette cotisation + */ + public function countOperationsCompta($id) + { + return DB::getInstance()->simpleQuerySingle('SELECT COUNT(*) FROM membres_operations WHERE id_cotisation = ?;', false, (int)$id); + } /** * Ajouter une écriture comptable pour un paiemement membre * @param int $id Numéro de la cotisation membre * @param array $data Données Index: src/templates/admin/membres/cotisations/supprimer.tpl ================================================================== --- src/templates/admin/membres/cotisations/supprimer.tpl +++ src/templates/admin/membres/cotisations/supprimer.tpl @@ -18,12 +18,20 @@
Attention si des écritures comptables sont liées à cette cotisation - elles ne seront pas supprimées.
+ {if $nb_operations > 0} ++ Attention il y a {$nb_operations|escape} écritures comptables liées à cette cotisation. + Celles-ci ne seront pas supprimées lors de la suppression de la cotisation membre. +
+ {else} ++ Aucune écriture comptable n'est liée à cette cotisation. +
+ {/if}{csrf_field key="del_cotisation_`$cotisation.id`"} Index: src/www/admin/membres/cotisations/supprimer.php ================================================================== --- src/www/admin/membres/cotisations/supprimer.php +++ src/www/admin/membres/cotisations/supprimer.php @@ -56,7 +56,8 @@ } $tpl->assign('error', $error); $tpl->assign('membre', $membre); $tpl->assign('cotisation', $co); +$tpl->assign('nb_operations', $m_cotisations->countOperationsCompta($co['id'])); $tpl->display('admin/membres/cotisations/supprimer.tpl');