From cf3376697c72c9ba3e57f4693e8e3dfb1b01a133 Mon Sep 17 00:00:00 2001 From: Anne Limoges Date: Fri, 25 Jan 2013 17:11:52 +0100 Subject: [PATCH] Automatically close the associated payment when an event is archived. --- modules/xnetevents.php | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/modules/xnetevents.php b/modules/xnetevents.php index a695205..dfa76b2 100644 --- a/modules/xnetevents.php +++ b/modules/xnetevents.php @@ -79,6 +79,17 @@ class XnetEventsModule extends PLModule } } + // archive le paiement associé si il existe + $pay_id = XDB::fetchOneCell("SELECT paiement_id + FROM group_events + WHERE eid = {?} AND asso_id = {?}", + $eid, $globals->asso('id')); + if (!$pay_id=='') { + XDB::execute("UPDATE payments + SET flags = 'old' + WHERE id = {?}", + $pay_id); + } // deletes the event items XDB::execute('DELETE FROM group_event_items WHERE eid = {?}', $eid); @@ -100,13 +111,32 @@ class XnetEventsModule extends PLModule } if ($action == 'archive') { + $pay_id = XDB::fetchOneCell("SELECT paiement_id + FROM group_events + WHERE eid = {?} AND asso_id = {?}", + $eid, $globals->asso('id')); + if (!$pay_id=='') { + XDB::execute("UPDATE payments + SET flags = 'old' + WHERE id = {?}", + $pay_id); + } XDB::execute("UPDATE group_events SET archive = 1 WHERE eid = {?} AND asso_id = {?}", - $eid, $globals->asso('id')); + $eid, $globals->asso('id')); } if ($action == 'unarchive') { + $pay_id = XDB::fetchOneCell("SELECT paiement_id FROM group_events + WHERE eid = {?} AND asso_id = {?}", + $eid, $globals->asso('id')); + if (!$pay_id=='') { + XDB::execute("UPDATE payments + SET flags = '' + WHERE id = {?}", + $pay_id); + } XDB::execute("UPDATE group_events SET archive = 0 WHERE eid = {?} AND asso_id = {?}", -- 2.1.4