rework index template to use dynpostkv to delete events.
authorx2000habouzit <x2000habouzit@839d8a87-29fc-0310-9880-83ba4fa771e5>
Sat, 15 Jul 2006 22:03:36 +0000 (22:03 +0000)
committerx2000habouzit <x2000habouzit@839d8a87-29fc-0310-9880-83ba4fa771e5>
Sat, 15 Jul 2006 22:03:36 +0000 (22:03 +0000)
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

modules/xnetevents.php
templates/xnetevents/index.tpl

index ddf7ed1..b65342a 100644 (file)
@@ -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");
         }
index 507efa9..98367e4 100644 (file)
@@ -44,7 +44,7 @@
         <img src="{rel}/images/profil.png" title="Edition de l'événement" alt="Edition" />
       </a>]
       &nbsp;&nbsp;&nbsp;&nbsp;
-      [<a href="{rel}/{$platal->ns}events/edit/{$e.eid}?sup=1"
+      [<a href="javascript:dynpostkv('{rel}/{$platal->ns}events', 'del', {$e.eid})"
         onclick="return confirm('Supprimer l\'événement effacera la liste des inscrits et des paiements.\n Es-tu sûr de vouloir supprimer l\'événement ?')">
         supprimer
         <img src="{rel}/images/del.png" alt="Suppression de {$e.intitule}" title="Suppression" />