+ finish task #337.
This commit is contained in:
@@ -71,9 +71,13 @@ class doc extends control
|
||||
$docs = $this->doc->getDocs($libID, $productID, $projectID, $modules, $orderBy, $pager);
|
||||
|
||||
/* Get the tree menu. */
|
||||
if($libID == 'product' or $libID == 'project')
|
||||
if($libID == 'product')
|
||||
{
|
||||
$moduleTree = $this->tree->getSystemDocTreeMenu($libID);
|
||||
$moduleTree = $this->tree->getProductDocTreeMenu();
|
||||
}
|
||||
elseif($libID == 'project')
|
||||
{
|
||||
$moduleTree = $this->tree->getProjectDocTreeMenu();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='yui-d0 yui-t1' id='mainbox'>
|
||||
<div class='yui-d0 yui-t2' id='mainbox'>
|
||||
|
||||
<div class="yui-main">
|
||||
<div class="yui-b">
|
||||
|
||||
@@ -217,6 +217,21 @@ class projectModel extends model
|
||||
->fetchAll();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get projects lists grouped by product.
|
||||
*
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getProductGroupList()
|
||||
{
|
||||
return $this->dao->select('t1.id, t1.name, t2.product')->from(TABLE_PROJECT)->alias('t1')
|
||||
->leftJoin(TABLE_PROJECTPRODUCT)->alias('t2')->on('t1.id = t2.project')
|
||||
->where('t1.deleted')->eq(0)
|
||||
->orderBy('t1.id')
|
||||
->fetchGroup('product');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get project by id.
|
||||
*
|
||||
|
||||
+61
-43
@@ -161,73 +161,91 @@ class treeModel extends model
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the tree menu of system document library.
|
||||
* Get the tree menu of product document library.
|
||||
*
|
||||
* @param string $libID product|project
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function getSystemDocTreeMenu($libID)
|
||||
public function getProductDocTreeMenu()
|
||||
{
|
||||
$menu = "<ul id='tree'>";
|
||||
if($libID == 'product')
|
||||
$products = $this->loadModel('product')->getPairs();
|
||||
$modules = $this->dao->findByType('productdoc')->from(TABLE_MODULE)->orderBy('`order`')->fetchAll();
|
||||
$projectModules = $this->dao->findByType('projectdoc')->from(TABLE_MODULE)->orderBy('`order`')->fetchAll();
|
||||
|
||||
foreach($products as $productID =>$productName)
|
||||
{
|
||||
$products = $this->loadModel('product')->getPairs();
|
||||
$modules = $this->dao->findByType('productdoc')->from(TABLE_MODULE)->orderBy('`order`')->fetchAll();
|
||||
$projectModules = $this->dao->findByType('projectdoc')->from(TABLE_MODULE)->orderBy('`order`')->fetchAll();
|
||||
|
||||
foreach($products as $productID =>$productName)
|
||||
$menu .= '<li>';
|
||||
$menu .= html::a(helper::createLink('doc', 'browse', "libID=product&module=0&productID=$productID"), $productName);
|
||||
if($modules)
|
||||
{
|
||||
$menu .= '<li>';
|
||||
$menu .= html::a(helper::createLink('doc', 'browse', "libID=product&module=0&productID=$productID"), $productName);
|
||||
if($modules)
|
||||
$menu .= '<ul>';
|
||||
foreach($modules as $module)
|
||||
{
|
||||
$menu .= '<li>' . html::a(helper::createLink('doc', 'browse', "libID=product&module=$module->id&productID=$productID"), $module->name) . '</li>';
|
||||
}
|
||||
|
||||
/* If $projectModules not emtpy, append the project modules. */
|
||||
if($projectModules)
|
||||
{
|
||||
$menu .= '<li>';
|
||||
$menu .= html::a(helper::createLink('doc', 'browse', "libID=product&module=0&productID=$productID&projectID=int"), $this->lang->tree->projectDoc);
|
||||
$menu .= '<ul>';
|
||||
foreach($modules as $module)
|
||||
foreach($projectModules as $module)
|
||||
{
|
||||
$menu .= '<li>' . html::a(helper::createLink('doc', 'browse', "libID=product&module=$module->id&productID=$productID"), $module->name) . '</li>';
|
||||
}
|
||||
|
||||
/* If $projectModules not emtpy, append the project modules. */
|
||||
if($projectModules)
|
||||
{
|
||||
$menu .= '<li>';
|
||||
$menu .= html::a(helper::createLink('doc', 'browse', "libID=product&module=0&productID=$productID&projectID=int"), $this->lang->tree->projectDoc);
|
||||
$menu .= '<ul>';
|
||||
foreach($projectModules as $module)
|
||||
{
|
||||
$menu .= '<li>' . html::a(helper::createLink('doc', 'browse', "libID=product&module=$module->id&productID=$productID"), $module->name) . '</li>';
|
||||
}
|
||||
$menu .= '</ul></li>';
|
||||
}
|
||||
|
||||
$menu .= '</ul>';
|
||||
$menu .= '</ul></li>';
|
||||
}
|
||||
$menu .= '</li>';
|
||||
|
||||
$menu .= '</ul>';
|
||||
}
|
||||
}
|
||||
elseif($libID == 'project')
|
||||
|
||||
$menu .= '</li>';
|
||||
return $menu;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the tree menu of project document library.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getProjectDocTreeMenu()
|
||||
{
|
||||
$menu = "<ul id='tree'>";
|
||||
$products = $this->loadModel('product')->getPairs();
|
||||
$projects = $this->loadModel('project')->getProductGroupList();
|
||||
$modules = $this->dao->findByType('projectdoc')->from(TABLE_MODULE)->orderBy('`order`')->fetchAll();
|
||||
|
||||
foreach($products as $productID => $productName)
|
||||
{
|
||||
$projects = $this->loadModel('project')->getPairs();
|
||||
$modules = $this->dao->findByType('projectdoc')->from(TABLE_MODULE)->orderBy('`order`')->fetchAll();
|
||||
|
||||
foreach($projects as $projectID =>$projectName)
|
||||
$menu .= '<li>';
|
||||
$menu .= $productName;
|
||||
|
||||
if(isset($projects[$productID]))
|
||||
{
|
||||
$menu .= '<li>';
|
||||
$menu .= html::a(helper::createLink('doc', 'browse', "libID=project&moduleID=0&productID=0&projectID=$projectID"), $projectName);
|
||||
if($modules)
|
||||
$menu .= '<ul>';
|
||||
foreach($projects[$productID] as $project)
|
||||
{
|
||||
$menu .= '<ul>';
|
||||
foreach($modules as $module)
|
||||
$menu .= '<li>' . html::a(helper::createLink('doc', 'browse', "libID=project&module=0&productID=0&projectID=$project->id"), $project->name);
|
||||
if($modules)
|
||||
{
|
||||
$menu .= '<li>' . html::a(helper::createLink('doc', 'browse', "libID=project&module=$module->id&productID=0&projectID=$projectID"), $module->name) . '</li>';
|
||||
$menu .= '<ul>';
|
||||
foreach($modules as $module)
|
||||
{
|
||||
$menu .= '<li>' . html::a(helper::createLink('doc', 'browse', "libID=project&module=$module->id&productID=0&projectID=$project->id"), $module->name) . '</li>';
|
||||
}
|
||||
$menu .= '</ul>';
|
||||
}
|
||||
$menu .= '</ul>';
|
||||
$menu .= '</li>';
|
||||
}
|
||||
$menu .= '</li>';
|
||||
$menu .='</ul>';
|
||||
}
|
||||
$menu .='</li>';
|
||||
}
|
||||
|
||||
|
||||
$menu .= '</ul>';
|
||||
return $menu;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user