summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/organize/controllers/organize.php6
-rw-r--r--modules/organize/views/organize_frame.html.php7
2 files changed, 8 insertions, 5 deletions
diff --git a/modules/organize/controllers/organize.php b/modules/organize/controllers/organize.php
index cfd385fe..82f74c9e 100644
--- a/modules/organize/controllers/organize.php
+++ b/modules/organize/controllers/organize.php
@@ -169,6 +169,7 @@ class Organize_Controller extends Controller {
"editable" => false,
"expandable" => false,
"id" => $child->id,
+ "leaf" => $child->children_count(array(array("type", "=", "album"))) == 0,
"text" => $child->title,
"nodeType" => "async");
@@ -177,11 +178,6 @@ class Organize_Controller extends Controller {
$node["children"] = $this->_get_tree($child, $selected);
$node["expanded"] = true;
}
-
- if ($child->children_count(array(array("type", "=", "album"))) == 0) {
- $node["children"] = array();
- $node["expanded"] = true;
- }
$tree[] = $node;
}
return $tree;
diff --git a/modules/organize/views/organize_frame.html.php b/modules/organize/views/organize_frame.html.php
index 13a5ff5c..cfc3933c 100644
--- a/modules/organize/views/organize_frame.html.php
+++ b/modules/organize/views/organize_frame.html.php
@@ -345,6 +345,13 @@
return returnCls;
}
+ // Override Ext.tree.TreeDropZone.getDropPoint so that it allows dropping
+ // on any node. The standard function won't let you drop on leaves, but
+ // in our model we consider an album without sub-albums a leaf.
+ v.dropZone.getDropPoint = function(e, n, dd) {
+ return "append";
+ }
+
v.dropZone.onNodeDrop = function(target, dd, e, data) {
var nodes = data.nodes;
source_ids = [];