Author: sevein
Date: Mon Aug 27 11:36:09 2012
New Revision: 12215

Log:
Define hasNextSiblings so the treeview can show the 'next' button

Modified:
   trunk/apps/qubit/modules/term/actions/treeViewAction.class.php

Modified: trunk/apps/qubit/modules/term/actions/treeViewAction.class.php
==============================================================================
--- trunk/apps/qubit/modules/term/actions/treeViewAction.class.php      Mon Aug 
27 11:24:56 2012        (r12214)
+++ trunk/apps/qubit/modules/term/actions/treeViewAction.class.php      Mon Aug 
27 11:36:09 2012        (r12215)
@@ -27,29 +27,11 @@
     if ('all' == $request->show)
     {
       $taxonomyId = QubitTerm::getById($request->resourceId)->taxonomyId;
-
-      // Get first child
-      $criteria = new Criteria;
-      $criteria->add(QubitTerm::PARENT_ID, QubitTerm::ROOT_ID);
-      $criteria->add(QubitTerm::TAXONOMY_ID, $taxonomyId);
-      $criteria = QubitCultureFallback::addFallbackCriteria($criteria, 
'QubitTerm');
-      $criteria->addAscendingOrderByColumn('name');
-      $criteria->addAscendingOrderByColumn('lft');
-      $criteria->setLimit(1);
-
-      $first = QubitTerm::getOne($criteria);
-
-      // Create array
-      $this->items = array();
-      $this->items[] = $first;
-
-      // Merge following siblings to the array
-      $this->items = array_merge($this->items, 
$first->getTreeViewSiblings(array('limit' => $numberOfPreviousOrNextSiblings + 
1, 'position' => 'next')));
-
-      return;
     }
-
-    $this->resource = $this->getRoute()->resource;
+    else
+    {
+      $this->resource = $this->getRoute()->resource;
+    }
 
     switch ($request->show)
     {
@@ -80,10 +62,58 @@
 
         break;
 
+      case 'all':
+
+        // Get first child
+        $criteria = new Criteria;
+        $criteria->add(QubitTerm::PARENT_ID, QubitTerm::ROOT_ID);
+        $criteria->add(QubitTerm::TAXONOMY_ID, $taxonomyId);
+        $criteria = QubitCultureFallback::addFallbackCriteria($criteria, 
'QubitTerm');
+        $criteria->addAscendingOrderByColumn('name');
+        $criteria->addAscendingOrderByColumn('lft');
+        $criteria->setLimit(1);
+        $first = QubitTerm::getOne($criteria);
+
+        // Create array
+        $this->items = array();
+        $this->items[] = $first;
+
+        // Merge following siblings to the array
+        $this->items = array_merge($this->items, 
$first->getTreeViewSiblings(array('limit' => $numberOfPreviousOrNextSiblings + 
2, 'position' => 'next')));
+
+        $this->hasNextSiblings = count($this->items) > 
$numberOfPreviousOrNextSiblings;
+        if ($this->hasNextSiblings)
+        {
+          array_pop($this->items);
+        }
+
+        break;
+
       case 'item':
       default:
 
-        $this->items = $this->resource->getChildren(array('sortBy' => 'name'));
+        // Get first child
+        $criteria = new Criteria;
+        $criteria->add(QubitTerm::PARENT_ID, $this->resource->id);
+        $criteria->add(QubitTerm::TAXONOMY_ID, $this->resource->taxonomyId);
+        $criteria = QubitCultureFallback::addFallbackCriteria($criteria, 
'QubitTerm');
+        $criteria->addAscendingOrderByColumn('name');
+        $criteria->addAscendingOrderByColumn('lft');
+        $criteria->setLimit(1);
+        $first = QubitTerm::getOne($criteria);
+
+        // Create array
+        $this->items = array();
+        $this->items[] = $first;
+
+        // Merge following siblings to the array
+        $this->items = array_merge($this->items, 
$first->getTreeViewSiblings(array('limit' => $numberOfPreviousOrNextSiblings + 
2, 'position' => 'next')));
+
+        $this->hasNextSiblings = count($this->items) > 
$numberOfPreviousOrNextSiblings;
+        if ($this->hasNextSiblings)
+        {
+          array_pop($this->items);
+        }
 
         break;
     }

-- 
You received this message because you are subscribed to the Google Groups 
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/qubit-commits?hl=en.

Reply via email to