Change back to using the ORM to update the child weight, but use the batch::start() method so notifications are queued

This commit is contained in:
Tim Almdal
2009-08-17 12:32:33 -07:00
parent 5e9c602b09
commit 69d1b16818
+6 -3
View File
@@ -173,6 +173,9 @@ class Organize_Controller extends Controller {
$weight = $task->get("weight");
$target_id = $task->get("target_id");
$is_before = $task->get("before") == "before";
if ($task->percent_complete == 0) {
batch::start();
}
// @todo at some point if we allow drag from album tree this needs to be changed
if ($phase == "dropping") {
$children = ORM::factory("item")
@@ -208,9 +211,8 @@ class Organize_Controller extends Controller {
$task->set("phase", "dropping");
break;
}
Database::instance()->query(
"UPDATE {items} SET `weight` = " . item::get_max_weight() .
" WHERE `id` = " . $child->id);
$child->weight = item::get_max_weight();
$child->save();
$completed++;
if ($phase == "before_drop" && $child->id == $task->get("target_id")) {
@@ -222,6 +224,7 @@ class Organize_Controller extends Controller {
if ($completed == $task->get("total")) {
$parent->sort_column = "weight";
$parent->save();
batch::stop();
$task->done = true;
$task->state = "success";
$task->set("content", self::_get_micro_thumb_grid($parent, 0)->__toString());