* refactor code.
This commit is contained in:
+11
-10
@@ -401,9 +401,9 @@ class commonModel extends model
|
||||
echo "<ul class='nav'>\n";
|
||||
foreach($menu as $menuItem)
|
||||
{
|
||||
if($menuItem->hidden) continue;
|
||||
if(isset($menuItem->hidden) && $menuItem->hidden) continue;
|
||||
$active = $menuItem->name == $mainMenu ? "class='$activeName'" : '';
|
||||
$link = is_array($menuItem->link) ? helper::createLink($menuItem->link['module'], $menuItem->link['method'], $menuItem->link['vars']) : $menuItem->link;
|
||||
$link = is_array($menuItem->link) ? helper::createLink($menuItem->link['module'], $menuItem->link['method'], isset($menuItem->link['vars']) ? $menuItem->link['vars'] : null) : $menuItem->link;
|
||||
echo "<li $active data-id='$menuItem->name'><a href='$link' $active>$menuItem->text</a></li>\n";
|
||||
}
|
||||
$customLink = helper::createLink('custom', 'menu', "module={$app->getModuleName()}&method={$app->getMethodName()}", '', true);
|
||||
@@ -483,28 +483,29 @@ class commonModel extends model
|
||||
/* Cycling to print every sub menus. */
|
||||
foreach($menu as $menuItem)
|
||||
{
|
||||
if($menuItem->hidden) continue;
|
||||
if(isset($menuItem->hidden) && $menuItem->hidden) continue;
|
||||
|
||||
/* Init the these vars. */
|
||||
if($menuItem->link)
|
||||
{
|
||||
$active = '';
|
||||
$float = $menuItem->float;
|
||||
$float = isset($menuItem->float) ? $menuItem->float : '';
|
||||
$alias = '';
|
||||
$target = '';
|
||||
$module = '';
|
||||
$method = '';
|
||||
$link = is_array($menuItem->link) ? helper::createLink($menuItem->link['module'], $menuItem->link['method'], $menuItem->link['vars']) : $menuItem->link;
|
||||
$link = is_array($menuItem->link) ? helper::createLink($menuItem->link['module'], $menuItem->link['method'], isset($menuItem->link['vars']) ? $menuItem->link['vars'] : '') : $menuItem->link;
|
||||
if(is_array($menuItem->link))
|
||||
{
|
||||
if($menuItem->link['subModule'])
|
||||
if(isset($menuItem->link['subModule']))
|
||||
{
|
||||
$subModules = explode(',', $menuItem->link['subModule']);
|
||||
if(in_array($currentModule, $subModules) and $float != 'right') $active = 'active';
|
||||
}
|
||||
$alias = $menuItem->link['alias'];
|
||||
$target = $menuItem->link['target'];
|
||||
$module = $menuItem->link['module'];
|
||||
$method = $menuItem->link['method'];
|
||||
if(isset($menuItem->link['alias'])) $alias = $menuItem->link['alias'];
|
||||
if(isset($menuItem->link['target'])) $target = $menuItem->link['target'];
|
||||
if(isset($menuItem->link['module'])) $module = $menuItem->link['module'];
|
||||
if(isset($menuItem->link['method'])) $method = $menuItem->link['method'];
|
||||
}
|
||||
if($float != 'right' and $module == $currentModule and ($method == $currentMethod or strpos(",$alias,", ",$currentMethod,") !== false)) $active = 'active';
|
||||
echo "<li class='$float $active'>" . html::a($link, $menuItem->text, $target, "data-id='$menuItem->name'") . "</li>\n";
|
||||
|
||||
@@ -191,23 +191,23 @@ class customModel extends model
|
||||
if($module && $method)
|
||||
{
|
||||
$itemLink = array('module' => $module, 'method' => $method);
|
||||
if($link[3]) $itemLink['vars'] = $link[3];
|
||||
if(isset($link[3])) $itemLink['vars'] = $link[3];
|
||||
if(is_array($item))
|
||||
{
|
||||
$itemLink['subModule'] = $item['subModule'];
|
||||
$itemLink['alias'] = $item['alias'];
|
||||
$itemLink['target'] = $item['target'];
|
||||
if(isset($item['subModule'])) $itemLink['subModule'] = $item['subModule'];
|
||||
if(isset($item['alias'])) $itemLink['alias'] = $item['alias'];
|
||||
if(isset($item['target'])) $itemLink['target'] = $item['target'];
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if(is_array($item))
|
||||
{
|
||||
$float = $item['float'];
|
||||
$fixed = $item['fixed'];
|
||||
if(isset($item['float'])) $float = $item['float'];
|
||||
if(isset($item['fixed'])) $fixed = $item['fixed'];
|
||||
}
|
||||
|
||||
$hidden = !$fixed && $isSetMenuConfig && $menuConfigMap[$name] && $menuConfigMap[$name]->hidden;
|
||||
$hidden = !$fixed && $isSetMenuConfig && $menuConfigMap[$name] && isset($menuConfigMap[$name]->hidden) && $menuConfigMap[$name]->hidden;
|
||||
|
||||
$menuItem = new stdclass();
|
||||
$menuItem->name = $name;
|
||||
|
||||
+63
-29
@@ -1970,18 +1970,13 @@ class projectModel extends model
|
||||
$taskItem->left = $task->left;
|
||||
$taskItem->assignedTo = $users[$task->assignedTo];
|
||||
$taskItem->url = helper::createLink('task', 'view', "task=$task->id");
|
||||
$taskItem->storyChanged = $task->storyStatus == 'active' and $task->latestStoryVersion > $task->storyVersion;
|
||||
$taskItem->storyChanged = isset($task->storyStatus) and $task->storyStatus == 'active' and $task->latestStoryVersion > $task->storyVersion;
|
||||
|
||||
$buttons = '';
|
||||
$buttons .= common::buildIconButton('task', 'assignTo', "projectID=$task->project&taskID=$task->id", $task, 'list', '', '', 'iframe', true);
|
||||
$buttons .= common::buildIconButton('task', 'start', "taskID=$task->id", $task, 'list', '', '', 'iframe', true);
|
||||
|
||||
$buttons .= common::buildIconButton('task', 'recordEstimate', "taskID=$task->id", $task, 'list', 'time', '', 'iframe', true);
|
||||
if($browseType == 'needconfirm')
|
||||
{
|
||||
$lang->task->confirmStoryChange = $lang->confirm;
|
||||
$buttons .= common::buildIconButton('task', 'confirmStoryChange', "taskid=$task->id", '', 'list', '', 'hiddenwin');
|
||||
}
|
||||
$buttons .= common::buildIconButton('task', 'finish', "taskID=$task->id", $task, 'list', '', '', 'iframe', true);
|
||||
$buttons .= common::buildIconButton('task', 'close', "taskID=$task->id", $task, 'list', '', '', 'iframe', true);
|
||||
$buttons .= common::buildIconButton('task', 'edit', "taskID=$task->id", '', 'list');
|
||||
@@ -1992,6 +1987,42 @@ class projectModel extends model
|
||||
return $taskItems;
|
||||
}
|
||||
|
||||
/**
|
||||
* Format stories list for tree view
|
||||
* @param array $stories
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function formatStoriesForTree($stories)
|
||||
{
|
||||
$this->loadModel('task');
|
||||
$storyItems = array();
|
||||
foreach ($stories as $story)
|
||||
{
|
||||
$storyItem = new stdclass();
|
||||
$storyItem->type = 'story';
|
||||
$storyItem->id = 'story' . $story->id;
|
||||
$storyItem->title = $story->title;
|
||||
$storyItem->color = $story->color;
|
||||
$storyItem->pri = (int) $story->pri;
|
||||
$storyItem->storyId = $story->id;
|
||||
$storyItem->url = helper::createLink('story', 'view', "storyID=$story->id&version=$story->version&from=project¶m=$story->project");
|
||||
$storyItem->taskCreateUrl = helper::createLink('task', 'batchCreate', "projectID={$story->project}&story={$story->id}");
|
||||
|
||||
$storyTasks = $this->task->getStoryTasks($story->id, $story->project);
|
||||
if(!empty($storyTasks))
|
||||
{
|
||||
$taskItems = $this->formatTasksForTree($storyTasks);
|
||||
$storyItem->tasksCount = count($taskItems);
|
||||
$storyItem->children = array();
|
||||
$storyItem->children[] = array('id' => 'tasks' . $story->id, 'tasks' => $taskItems, 'type' => 'tasks', 'actions' => false);
|
||||
}
|
||||
|
||||
$storyItems[] = $storyItem;
|
||||
}
|
||||
return $storyItems;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build product task tree item
|
||||
* @param object $tree
|
||||
@@ -2001,12 +2032,11 @@ class projectModel extends model
|
||||
public function buildProductTaskTree($node, $projectID)
|
||||
{
|
||||
$this->loadModel('story');
|
||||
$this->loadModel('task');
|
||||
|
||||
static $users;
|
||||
if(empty($users)) $users = $this->loadModel('user')->getPairs('noletter');
|
||||
|
||||
if($node->children)
|
||||
if(isset($node->children))
|
||||
{
|
||||
foreach ($node->children as $child)
|
||||
{
|
||||
@@ -2024,29 +2054,33 @@ class projectModel extends model
|
||||
$node->type = 'module';
|
||||
$node->actions = false;
|
||||
$stories = $this->story->getProjectStories($projectID, 'pri_asc,id_desc', 'byModule', $node->id);
|
||||
foreach ($stories as $story)
|
||||
{
|
||||
$storyItem = new stdclass();
|
||||
$storyItem->type = 'story';
|
||||
$storyItem->id = 'story' . $story->id;
|
||||
$storyItem->title = $story->title;
|
||||
$storyItem->color = $story->color;
|
||||
$storyItem->pri = $story->pri;
|
||||
$storyItem->storyId = $story->id;
|
||||
$storyItem->url = helper::createLink('story', 'view', "storyID=$story->id&version=$story->version&from=project¶m=$projectID");
|
||||
$storyItem->taskCreateUrl = helper::createLink('task', 'batchCreate', "projectID={$projectID}&story={$story->id}");
|
||||
|
||||
$storyTasks = $this->task->getStoryTasks($story->id, $projectID);
|
||||
if(!empty($storyTasks))
|
||||
{
|
||||
$taskItems = $this->formatTasksForTree($storyTasks);
|
||||
$storyItem->tasksCount = count($taskItems);
|
||||
$storyItem->children = array();
|
||||
$storyItem->children[] = array('id' => 'tasks' . $story->id, 'tasks' => $taskItems, 'type' => 'tasks', 'actions' => false);
|
||||
}
|
||||
if(isset($node->children)) $node->children = array_merge($node->children, $this->formatStoriesForTree($stories));
|
||||
else $node->children = $this->formatStoriesForTree($stories);
|
||||
|
||||
$node->children[] = $storyItem;
|
||||
}
|
||||
// foreach ($stories as $story)
|
||||
// {
|
||||
// $storyItem = new stdclass();
|
||||
// $storyItem->type = 'story';
|
||||
// $storyItem->id = 'story' . $story->id;
|
||||
// $storyItem->title = $story->title;
|
||||
// $storyItem->color = $story->color;
|
||||
// $storyItem->pri = (int) $story->pri;
|
||||
// $storyItem->storyId = $story->id;
|
||||
// $storyItem->url = helper::createLink('story', 'view', "storyID=$story->id&version=$story->version&from=project¶m=$projectID");
|
||||
// $storyItem->taskCreateUrl = helper::createLink('task', 'batchCreate', "projectID={$projectID}&story={$story->id}");
|
||||
|
||||
// $storyTasks = $this->task->getStoryTasks($story->id, $projectID);
|
||||
// if(!empty($storyTasks))
|
||||
// {
|
||||
// $taskItems = $this->formatTasksForTree($storyTasks);
|
||||
// $storyItem->tasksCount = count($taskItems);
|
||||
// $storyItem->children = array();
|
||||
// $storyItem->children[] = array('id' => 'tasks' . $story->id, 'tasks' => $taskItems, 'type' => 'tasks', 'actions' => false);
|
||||
// }
|
||||
|
||||
// $node->children[] = $storyItem;
|
||||
// }
|
||||
}
|
||||
return $node;
|
||||
}
|
||||
|
||||
@@ -13,8 +13,6 @@
|
||||
<?php
|
||||
include '../../common/view/header.html.php';
|
||||
include './taskheader.html.php';
|
||||
js::set('moduleID', $moduleID);
|
||||
js::set('productID', $productID);
|
||||
?>
|
||||
|
||||
<div class='main'>
|
||||
@@ -81,7 +79,7 @@ $(function()
|
||||
}
|
||||
else if(item.type === 'story')
|
||||
{
|
||||
$li.append('<span class="tree-item-title"><i class="icon icon-lightbulb text-muted"></i> </span>').append($('<a>').attr({href: item.url}).text('#' + item.storyId + ' ' + item.title).css('color', item.color));
|
||||
$li.append('<span><i class="icon icon-lightbulb text-muted"></i> </span>').append($('<a>').attr({href: item.url}).text('#' + item.storyId + ' ' + item.title).css('color', item.color));
|
||||
if(item.children && item.children.length)
|
||||
{
|
||||
if(item.tasksCount) $li.append(' <span class="label label-task-count label-badge">' + item.tasksCount + '</span>');
|
||||
|
||||
Reference in New Issue
Block a user