From: x2000habouzit Date: Sat, 15 Jul 2006 22:03:36 +0000 (+0000) Subject: rework index template to use dynpostkv to delete events. X-Git-Tag: xorg/0.9.11~393 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=2b9e5fd3ab5177166d3a77a7f5acc87b14fb3aa9;p=platal.git rework index template to use dynpostkv to delete events. move the deletion code to the index handler. improve it to be more robust; git-svn-id: svn+ssh://murphy/home/svn/platal/trunk@509 839d8a87-29fc-0310-9880-83ba4fa771e5 --- diff --git a/modules/xnetevents.php b/modules/xnetevents.php index ddf7ed1..b65342a 100644 --- a/modules/xnetevents.php +++ b/modules/xnetevents.php @@ -38,6 +38,51 @@ class XnetEventsModule extends PLModule new_group_page('xnetevents/index.tpl'); + if (Post::has('del')) { + if (!may_update()) { + return PL_NOT_ALLOWED; + } + + $eid = Post::get('del'); + + $res = $globals->xdb->query("SELECT asso_id, short_name FROM groupex.evenements + WHERE eid = {?} AND asso_id = {?}", + $eid, $globals->asso('id')); + + $tmp = $res->fetchOneRow(); + if (!$tmp) { + return PL_NOT_ALLOWED; + } + + // deletes the event mailing aliases + if ($tmp[1]) { + $globals->xdb->execute( + "DELETE FROM virtual WHERE type = 'evt' AND alias = {?}", + $tmp[1].'-absents'); + $globals->xdb->execute( + "DELETE FROM virtual WHERE type = 'evt' AND alias = {?}", + $tmp[1].'-participants'); + } + + // deletes the event items + $globals->xdb->execute("DELETE FROM groupex.evenements_items WHERE eid = {?}", $eid); + + // deletes the event participants + $globals->xdb->execute("DELETE FROM groupex.evenements_participants + WHERE eid = {?}", $eid); + + // deletes the event + $globals->xdb->execute("DELETE FROM groupex.evenements + WHERE eid = {?} AND asso_id = {?}", + $eid, $globals->asso('id')); + + // delete the requests for payments + require_once 'validations.inc.php'; + $globals->xdb->execute("DELETE FROM requests + WHERE type = 'paiements' AND data LIKE {?}", + PayReq::same_event($eid, $globals->asso('id'))); + } + $page->assign('admin', may_update()); $evenements = $globals->xdb->iterator( @@ -379,34 +424,6 @@ class XnetEventsModule extends PLModule } } - if (Env::has('sup') && $eid) { - // deletes the event - $globals->xdb->execute("DELETE FROM groupex.evenements - WHERE eid = {?} AND asso_id = {?}", - $eid, $globals->asso('id')); - - // deletes the event items - $globals->xdb->execute("DELETE FROM groupex.evenements_items WHERE eid = {?}", $eid); - - // deletes the event participants - $globals->xdb->execute("DELETE FROM groupex.evenements_participants - WHERE eid = {?}", $eid); - - // deletes the event mailing aliases - if ($infos['short_name']) { - $globals->xdb->execute("DELETE FROM virtual - WHERE type = 'evt' AND alias LIKE {?}", - $infos['short_name']."-%"); - } - - // delete the requests for payments - require_once 'validations.inc.php'; - $globals->xdb->execute("DELETE FROM requests - WHERE type = 'paiements' AND data LIKE {?}", - PayReq::same_event($eid, $globals->asso('id'))); - redirect("evenements.php"); - } - if (!$get_form) { redirect("evenements.php"); } diff --git a/templates/xnetevents/index.tpl b/templates/xnetevents/index.tpl index 507efa9..98367e4 100644 --- a/templates/xnetevents/index.tpl +++ b/templates/xnetevents/index.tpl @@ -44,7 +44,7 @@ Edition ]      - [ supprimer Suppression de {$e.intitule}