From 0d8b0e20f7ce666d19c0585bcca3088ec150864d Mon Sep 17 00:00:00 2001 From: avl Date: Wed, 25 Mar 2009 12:32:40 +0200 Subject: [PATCH] more customizable orderable --- ipf/admin/templates/admin/items.html | 2 +- ipf/admin/views.php | 7 ++++++- ipf/orm/record.php | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ipf/admin/templates/admin/items.html b/ipf/admin/templates/admin/items.html index 3f3b046..c32ed12 100644 --- a/ipf/admin/templates/admin/items.html +++ b/ipf/admin/templates/admin/items.html @@ -17,7 +17,7 @@ $(document).ready(function() $('#items-grid').tableDnD({ onDragClass: "ItemsDragClass", onDrop: function(table, row) { - $.post(reorder_url, {'ids': $.tableDnD.serialize()}, function(data){}); + $.post(reorder_url, {'ids': $.tableDnD.serialize(), 'drop_id':row.id}, function(data){}); } }); }); diff --git a/ipf/admin/views.php b/ipf/admin/views.php index 16720ac..80c5761 100644 --- a/ipf/admin/views.php +++ b/ipf/admin/views.php @@ -85,9 +85,14 @@ function IPF_Admin_Views_Reorder($request, $match){ if (!isset($request->POST['ids'])) return new IPF_HTTP_Response_NotFound(); + if (!isset($request->POST['drop_id'])) + return new IPF_HTTP_Response_NotFound(); + $drop_id = $request->POST['drop_id']; + $lapp = $match[1]; $lmodel = $match[2]; + foreach (IPF_Project::getInstance()->appList() as $app){ foreach($app->modelList() as $m){ if (strtolower($m)==$lmodel){ @@ -102,7 +107,7 @@ function IPF_Admin_Views_Reorder($request, $match){ $o = new $m(); $ids = split(',',(string)$request->POST['ids']); - $o->_reorder($ids, $ord_field); + $o->_reorder($ids, $ord_field, $drop_id); return new IPF_HTTP_Response_Json("Ok"); } } diff --git a/ipf/orm/record.php b/ipf/orm/record.php index 42a86fb..6333a34 100644 --- a/ipf/orm/record.php +++ b/ipf/orm/record.php @@ -1296,7 +1296,7 @@ abstract class IPF_ORM_Record extends IPF_ORM_Record_Abstract implements Countab return null; } - public function _reorder($ids, $ord_field){ + public function _reorder($ids, $ord_field, $drop_id){ $ord = 1; foreach($ids as $id){ $item = $this->getTable()->find($id); -- 2.49.0