This commit is contained in:
holan20180123
2021-03-10 10:37:00 +08:00
25 changed files with 168 additions and 107 deletions
+6 -11
View File
@@ -148,7 +148,7 @@ $lang->mainNav->qa = '<i class="icon icon-test"></i> Test|qa|index|';
$lang->mainNav->repo = '<i class="icon icon-code1"></i> Code|repo|browse|';
$lang->mainNav->doc = '<i class="icon icon-doc"></i> Doc|doc|index|';
$lang->mainNav->report = "<i class='icon icon-statistic'></i> Statistic|report|productsummary|";
$lang->mainNav->system = '<i class="icon icon-menu-users"></i> System|custom|estimate|';
$lang->mainNav->system = '<i class="icon icon-menu-users"></i> System|my|team|';
$lang->mainNav->admin = '<i class="icon icon-menu-backend"></i> Admin|admin|index|';
if($config->systemMode == 'new') $lang->mainNav->program = "<i class='icon icon-program'></i> Program|$programModule|$programMethod|";
@@ -219,11 +219,10 @@ $lang->productplan->menu = $lang->product->menu;
/* System menu. */
$lang->system = new stdclass();
$lang->system->menu = new stdclass();
$lang->system->menu->company = array('link' => 'Global Settings|custom|browsestoryconcept|', 'subModule' => 'holiday');
$lang->subject = new stdclass();
$lang->subject->menu = new stdclass();
$lang->subject->menu->storyConcept = array('link' => 'Story Concept|custom|browsestoryconcept|');
$lang->system->menu->team = array('link' => 'Team|my|team|', 'subModule' => 'user');
$lang->system->menu->calendar = array('link' => 'Calendar|my|calendar|', 'subModule' => 'todo', 'alias' => 'todo');
$lang->system->menu->dynamic = 'Dynamic|company|dynamic|';
$lang->system->menu->view = array('link' => 'Company|company|view');
$lang->measurement = new stdclass();
$lang->measurement->menu = new stdclass();
@@ -289,7 +288,6 @@ $lang->my = new stdclass();
$lang->my->menu = new stdclass();
$lang->my->menu->index = 'Index|my|index';
$lang->my->menu->calendar = array('link' => 'Calendar|my|calendar|', 'subModule' => 'todo', 'alias' => 'todo');
$lang->my->menu->myWork = array('link' => 'Work|my|work|mode=task');
if($config->systemMode == 'new')
{
@@ -303,7 +301,6 @@ else
$lang->my->menu->contribute = array('link' => 'Contribute|my|contribute|mode=task');
$lang->my->menu->dynamic = 'Dynamic|my|dynamic|';
$lang->my->menu->score = 'Score|my|score|';
$lang->my->menu->team = array('link' => 'Team|my|team|', 'subModule' => 'user');
$lang->my->menu->contacts = 'Contacts|my|managecontacts|';
$lang->my->workMenu = new stdclass();
@@ -322,7 +319,7 @@ $lang->my->contributeMenu->bug = 'Bug|my|contribute|mode=bug';
$lang->my->contributeMenu->testcase = 'Test Case|my|contribute|mode=testtask&type=openedbyme';
$lang->my->contributeMenu->testtask = 'Test Task|my|contribute|mode=testtask&type=done';
$lang->my->dividerMenu = ',myProject,team,';
$lang->my->dividerMenu = ',myWork,score,';
$lang->todo = new stdclass();
$lang->todo->menu = $lang->my->menu;
@@ -516,8 +513,6 @@ $lang->company->menu = new stdclass();
$lang->company->menu->browseUser = array('link' => 'Benutzer|company|browse', 'subModule' => 'user');
$lang->company->menu->dept = array('link' => 'Abteilung|dept|browse', 'subModule' => 'dept');
$lang->company->menu->browseGroup = array('link' => 'Gruppen|group|browse', 'subModule' => 'group');
$lang->company->menu->dynamic = 'Verlauf|company|dynamic|';
$lang->company->menu->view = array('link' => 'Unternehmen|company|view');
/* Admin menu settings. */
$lang->admin = new stdclass();
+6 -11
View File
@@ -148,7 +148,7 @@ $lang->mainNav->qa = '<i class="icon icon-test"></i> Test|qa|index|';
$lang->mainNav->repo = '<i class="icon icon-code1"></i> Code|repo|browse|';
$lang->mainNav->doc = '<i class="icon icon-doc"></i> Doc|doc|index|';
$lang->mainNav->report = "<i class='icon icon-statistic'></i> Statistic|report|productsummary|";
$lang->mainNav->system = '<i class="icon icon-menu-users"></i> System|custom|estimate|';
$lang->mainNav->system = '<i class="icon icon-menu-users"></i> System|my|team|';
$lang->mainNav->admin = '<i class="icon icon-menu-backend"></i> Admin|admin|index|';
if($config->systemMode == 'new') $lang->mainNav->program = "<i class='icon icon-program'></i> Program|$programModule|$programMethod|";
@@ -219,11 +219,10 @@ $lang->productplan->menu = $lang->product->menu;
/* System menu. */
$lang->system = new stdclass();
$lang->system->menu = new stdclass();
$lang->system->menu->company = array('link' => 'Global Settings|custom|browsestoryconcept|', 'subModule' => 'holiday');
$lang->subject = new stdclass();
$lang->subject->menu = new stdclass();
$lang->subject->menu->storyConcept = array('link' => 'Story Concept|custom|browsestoryconcept|');
$lang->system->menu->team = array('link' => 'Team|my|team|', 'subModule' => 'user');
$lang->system->menu->calendar = array('link' => 'Calendar|my|calendar|', 'subModule' => 'todo', 'alias' => 'todo');
$lang->system->menu->dynamic = 'Dynamic|company|dynamic|';
$lang->system->menu->view = array('link' => 'Company|company|view');
$lang->measurement = new stdclass();
$lang->measurement->menu = new stdclass();
@@ -289,7 +288,6 @@ $lang->my = new stdclass();
$lang->my->menu = new stdclass();
$lang->my->menu->index = 'Index|my|index';
$lang->my->menu->calendar = array('link' => 'Calendar|my|calendar|', 'subModule' => 'todo', 'alias' => 'todo');
$lang->my->menu->myWork = array('link' => 'Work|my|work|mode=task');
if($config->systemMode == 'new')
{
@@ -303,7 +301,6 @@ else
$lang->my->menu->contribute = array('link' => 'Contribute|my|contribute|mode=task');
$lang->my->menu->dynamic = 'Dynamic|my|dynamic|';
$lang->my->menu->score = 'Score|my|score|';
$lang->my->menu->team = array('link' => 'Team|my|team|', 'subModule' => 'user');
$lang->my->menu->contacts = 'Contacts|my|managecontacts|';
$lang->my->workMenu = new stdclass();
@@ -322,7 +319,7 @@ $lang->my->contributeMenu->bug = 'Bug|my|contribute|mode=bug';
$lang->my->contributeMenu->testcase = 'Test Case|my|contribute|mode=testtask&type=openedbyme';
$lang->my->contributeMenu->testtask = 'Test Task|my|contribute|mode=testtask&type=done';
$lang->my->dividerMenu = ',myProject,team,';
$lang->my->dividerMenu = ',myWork,score,';
$lang->todo = new stdclass();
$lang->todo->menu = $lang->my->menu;
@@ -516,8 +513,6 @@ $lang->company->menu = new stdclass();
$lang->company->menu->browseUser = array('link' => 'User|company|browse', 'subModule' => ',user,');
$lang->company->menu->dept = array('link' => 'Dept|dept|browse', 'subModule' => 'dept');
$lang->company->menu->browseGroup = array('link' => 'Group|group|browse', 'subModule' => 'group');
$lang->company->menu->dynamic = 'Dynamic|company|dynamic|';
$lang->company->menu->view = array('link' => 'Company|company|view');
/* Admin menu settings. */
$lang->admin = new stdclass();
+6 -11
View File
@@ -148,7 +148,7 @@ $lang->mainNav->qa = '<i class="icon icon-test"></i> Test|qa|index|';
$lang->mainNav->repo = '<i class="icon icon-code1"></i> Code|repo|browse|';
$lang->mainNav->doc = '<i class="icon icon-doc"></i> Doc|doc|index|';
$lang->mainNav->report = "<i class='icon icon-statistic'></i> Statistic|report|productsummary|";
$lang->mainNav->system = '<i class="icon icon-menu-users"></i> System|custom|estimate|';
$lang->mainNav->system = '<i class="icon icon-menu-users"></i> System|my|team|';
$lang->mainNav->admin = '<i class="icon icon-menu-backend"></i> Admin|admin|index|';
if($config->systemMode == 'new') $lang->mainNav->program = "<i class='icon icon-program'></i> Program|$programModule|$programMethod|";
@@ -219,11 +219,10 @@ $lang->productplan->menu = $lang->product->menu;
/* System menu. */
$lang->system = new stdclass();
$lang->system->menu = new stdclass();
$lang->system->menu->company = array('link' => 'Global Settings|custom|browsestoryconcept|', 'subModule' => 'holiday');
$lang->subject = new stdclass();
$lang->subject->menu = new stdclass();
$lang->subject->menu->storyConcept = array('link' => 'Story Concept|custom|browsestoryconcept|');
$lang->system->menu->team = array('link' => 'Team|my|team|', 'subModule' => 'user');
$lang->system->menu->calendar = array('link' => 'Calendar|my|calendar|', 'subModule' => 'todo', 'alias' => 'todo');
$lang->system->menu->dynamic = 'Dynamic|company|dynamic|';
$lang->system->menu->view = array('link' => 'Company|company|view');
$lang->measurement = new stdclass();
$lang->measurement->menu = new stdclass();
@@ -289,7 +288,6 @@ $lang->my = new stdclass();
$lang->my->menu = new stdclass();
$lang->my->menu->index = 'Index|my|index';
$lang->my->menu->calendar = array('link' => 'Calendar|my|calendar|', 'subModule' => 'todo', 'alias' => 'todo');
$lang->my->menu->myWork = array('link' => 'Work|my|work|mode=task');
if($config->systemMode == 'new')
{
@@ -303,7 +301,6 @@ else
$lang->my->menu->contribute = array('link' => 'Contribute|my|contribute|mode=task');
$lang->my->menu->dynamic = 'Dynamic|my|dynamic|';
$lang->my->menu->score = 'Score|my|score|';
$lang->my->menu->team = array('link' => 'Team|my|team|', 'subModule' => 'user');
$lang->my->menu->contacts = 'Contacts|my|managecontacts|';
$lang->my->workMenu = new stdclass();
@@ -322,7 +319,7 @@ $lang->my->contributeMenu->bug = 'Bug|my|contribute|mode=bug';
$lang->my->contributeMenu->testcase = 'Test Case|my|contribute|mode=testtask&type=openedbyme';
$lang->my->contributeMenu->testtask = 'Test Task|my|contribute|mode=testtask&type=done';
$lang->my->dividerMenu = ',myProject,team,';
$lang->my->dividerMenu = ',myWork,score,';
$lang->todo = new stdclass();
$lang->todo->menu = $lang->my->menu;
@@ -516,8 +513,6 @@ $lang->company->menu = new stdclass();
$lang->company->menu->browseUser = array('link' => 'Utilisateurs|company|browse', 'subModule' => 'user');
$lang->company->menu->dept = array('link' => 'Compartiments|dept|browse', 'subModule' => 'dept');
$lang->company->menu->browseGroup = array('link' => 'Privilèges|group|browse', 'subModule' => 'group');
$lang->company->menu->dynamic = 'Historique|company|dynamic|';
$lang->company->menu->view = array('link' => 'Entreprise|company|view');
/* Admin menu settings. */
$lang->admin = new stdclass();
+15 -18
View File
@@ -49,16 +49,14 @@ $lang->index->menuOrder[10] = 'project';
/* my menu order. */
$lang->my->menuOrder[5] = 'index';
$lang->my->menuOrder[10] = 'calendar';
$lang->my->menuOrder[15] = 'myWork';
$lang->my->menuOrder[20] = 'myProject';
$lang->my->menuOrder[25] = 'myExecution';
$lang->my->menuOrder[30] = 'contribute';
$lang->my->menuOrder[35] = 'score';
$lang->my->menuOrder[40] = 'dynamic';
$lang->my->menuOrder[45] = 'follow';
$lang->my->menuOrder[50] = 'team';
$lang->my->menuOrder[55] = 'contacts';
$lang->my->menuOrder[10] = 'myWork';
$lang->my->menuOrder[15] = 'myProject';
$lang->my->menuOrder[20] = 'myExecution';
$lang->my->menuOrder[25] = 'contribute';
$lang->my->menuOrder[30] = 'score';
$lang->my->menuOrder[35] = 'dynamic';
$lang->my->menuOrder[40] = 'follow';
$lang->my->menuOrder[45] = 'contacts';
$lang->todo->menuOrder = $lang->my->menuOrder;
/* product menu order. */
@@ -142,19 +140,18 @@ $lang->report->menuOrder[25] = 'staff';
$lang->company->menuOrder[5] = 'browseUser';
$lang->company->menuOrder[10] = 'dept';
$lang->company->menuOrder[15] = 'browseGroup';
$lang->company->menuOrder[20] = 'dynamic';
$lang->company->menuOrder[25] = 'view';
$lang->company->menuOrder[30] = 'addGroup';
$lang->company->menuOrder[35] = 'batchAddUser';
$lang->company->menuOrder[40] = 'addUser';
$lang->company->menuOrder[20] = 'addGroup';
$lang->company->menuOrder[25] = 'batchAddUser';
$lang->company->menuOrder[30] = 'addUser';
$lang->dept->menuOrder = $lang->company->menuOrder;
$lang->group->menuOrder = $lang->company->menuOrder;
$lang->user->menuOrder = $lang->company->menuOrder;
/* system menu order. */
$lang->system->menuOrder[5] = 'company';
$lang->system->menuOrder[10] = 'scrum';
$lang->system->menuOrder[15] = 'waterfall';
$lang->system->menuOrder[5] = 'team';
$lang->system->menuOrder[10] = 'calendar';
$lang->system->menuOrder[15] = 'dynamic';
$lang->system->menuOrder[20] = 'view';
/* admin menu order. */
$lang->admin->menuOrder[5] = 'index';
+5 -10
View File
@@ -148,7 +148,7 @@ $lang->mainNav->qa = '<i class="icon icon-test"></i> Test|qa|index|';
$lang->mainNav->repo = '<i class="icon icon-code1"></i> Code|repo|browse|';
$lang->mainNav->doc = '<i class="icon icon-doc"></i> Doc|doc|index|';
$lang->mainNav->report = "<i class='icon icon-statistic'></i> Statistic|report|productsummary|";
$lang->mainNav->system = '<i class="icon icon-menu-users"></i> System|custom|estimate|';
$lang->mainNav->system = '<i class="icon icon-menu-users"></i> System|my|team|';
$lang->mainNav->admin = '<i class="icon icon-menu-backend"></i> Admin|admin|index|';
if($config->systemMode == 'new') $lang->mainNav->program = "<i class='icon icon-program'></i> Program|$programModule|$programMethod|";
@@ -219,11 +219,10 @@ $lang->productplan->menu = $lang->product->menu;
/* System menu. */
$lang->system = new stdclass();
$lang->system->menu = new stdclass();
$lang->system->menu->company = array('link' => 'Global Settings|custom|browsestoryconcept|', 'subModule' => 'holiday');
$lang->subject = new stdclass();
$lang->subject->menu = new stdclass();
$lang->subject->menu->storyConcept = array('link' => 'Story Concept|custom|browsestoryconcept|');
$lang->system->menu->team = array('link' => 'Team|my|team|', 'subModule' => 'user');
$lang->system->menu->calendar = array('link' => 'Calendar|my|calendar|', 'subModule' => 'todo', 'alias' => 'todo');
$lang->system->menu->dynamic = 'Dynamic|company|dynamic|';
$lang->system->menu->view = array('link' => 'Company|company|view');
$lang->measurement = new stdclass();
$lang->measurement->menu = new stdclass();
@@ -289,7 +288,6 @@ $lang->my = new stdclass();
$lang->my->menu = new stdclass();
$lang->my->menu->index = 'Index|my|index';
$lang->my->menu->calendar = array('link' => 'Calendar|my|calendar|', 'subModule' => 'todo', 'alias' => 'todo');
$lang->my->menu->myWork = array('link' => 'Work|my|work|mode=task');
if($config->systemMode == 'new')
{
@@ -303,7 +301,6 @@ else
$lang->my->menu->contribute = array('link' => 'Contribute|my|contribute|mode=task');
$lang->my->menu->dynamic = 'Dynamic|my|dynamic|';
$lang->my->menu->score = 'Score|my|score|';
$lang->my->menu->team = array('link' => 'Team|my|team|', 'subModule' => 'user');
$lang->my->menu->contacts = 'Contacts|my|managecontacts|';
$lang->my->workMenu = new stdclass();
@@ -516,8 +513,6 @@ $lang->company->menu = new stdclass();
$lang->company->menu->browseUser = array('link' => 'Người dùng|company|browse', 'subModule' => 'user');
$lang->company->menu->dept = array('link' => 'Phòng/Ban|dept|browse', 'subModule' => 'dept');
$lang->company->menu->browseGroup = array('link' => 'Phân quyền|group|browse', 'subModule' => 'group');
$lang->company->menu->dynamic = 'Lịch sử|company|dynamic|';
$lang->company->menu->view = array('link' => 'Doanh nghiệp|company|view');
/* Admin menu settings. */
$lang->admin = new stdclass();
+10 -10
View File
@@ -148,7 +148,7 @@ $lang->mainNav->qa = '<i class="icon icon-test"></i> 测试|qa|index|';
$lang->mainNav->repo = '<i class="icon icon-code1"></i> 代码|repo|browse|';
$lang->mainNav->doc = '<i class="icon icon-doc"></i> 文档|doc|index|';
$lang->mainNav->report = "<i class='icon icon-statistic'></i> 统计|report|productSummary|";
$lang->mainNav->system = '<i class="icon icon-group"></i> 组织|custom|browsestoryconcept|';
$lang->mainNav->system = '<i class="icon icon-group"></i> 组织|my|team|';
$lang->mainNav->admin = '<i class="icon icon-cog-outline"></i> 后台|admin|index|';
if($config->systemMode == 'new') $lang->mainNav->program = "<i class='icon icon-program'></i> 项目集|$programModule|$programMethod|";
@@ -221,11 +221,15 @@ $lang->productplan->menu = $lang->product->menu;
/* System menu. */
$lang->system = new stdclass();
$lang->system->menu = new stdclass();
$lang->system->menu->company = array('link' => '全局设置|custom|browsestoryconcept|', 'subModule' => 'holiday');
$lang->system->menu->team = array('link' => '团队|my|team|', 'subModule' => 'user');
$lang->system->menu->calendar = array('link' => '日程|my|calendar|', 'subModule' => 'todo', 'alias' => 'todo');
$lang->system->menu->dynamic = '动态|company|dynamic|';
$lang->system->menu->view = array('link' => '公司|company|view');
//$lang->system->menu->company = array('link' => '全局设置|custom|browsestoryconcept|', 'subModule' => 'holiday');
$lang->subject = new stdclass();
$lang->subject->menu = new stdclass();
$lang->subject->menu->storyConcept = array('link' => '需求概念|custom|browsestoryconcept|');
//$lang->subject = new stdclass();
//$lang->subject->menu = new stdclass();
//$lang->subject->menu->storyConcept = array('link' => '需求概念|custom|browsestoryconcept|');
$lang->measurement = new stdclass();
$lang->measurement->menu = new stdclass();
@@ -291,7 +295,6 @@ $lang->my = new stdclass();
$lang->my->menu = new stdclass();
$lang->my->menu->index = '仪表盘|my|index';
$lang->my->menu->calendar = array('link' => '日程|my|calendar|', 'subModule' => 'todo', 'alias' => 'todo');
$lang->my->menu->myWork = array('link' => '待处理|my|work|mode=task');
if($config->systemMode == 'new')
{
@@ -305,7 +308,6 @@ else
$lang->my->menu->contribute = array('link' => '贡献|my|contribute|mode=task');
$lang->my->menu->dynamic = '动态|my|dynamic|';
$lang->my->menu->score = array('link' => '积分|my|score|', 'subModule' => 'score');
$lang->my->menu->team = array('link' => '团队|my|team|', 'subModule' => 'user');
$lang->my->menu->contacts = '联系人|my|managecontacts|';
$lang->my->workMenu = new stdclass();
@@ -324,7 +326,7 @@ $lang->my->contributeMenu->bug = 'Bug|my|contribute|mode=bug';
$lang->my->contributeMenu->testcase = '用例|my|contribute|mode=testcase&type=openedbyme';
$lang->my->contributeMenu->testtask = '测试单|my|contribute|mode=testtask&type=done';
$lang->my->dividerMenu = ',myProject,team,';
$lang->my->dividerMenu = ',myWork,score,';
$lang->todo = new stdclass();
$lang->todo->menu = $lang->my->menu;
@@ -521,8 +523,6 @@ $lang->company->menu = new stdclass();
$lang->company->menu->browseUser = array('link' => '用户|company|browse', 'subModule' => ',user,');
$lang->company->menu->dept = array('link' => '部门|dept|browse', 'subModule' => 'dept');
$lang->company->menu->browseGroup = array('link' => '权限|group|browse', 'subModule' => 'group');
$lang->company->menu->dynamic = '动态|company|dynamic|';
$lang->company->menu->view = array('link' => '公司|company|view');
/* 后台管理菜单设置。*/
$lang->admin = new stdclass();
+6 -5
View File
@@ -20,13 +20,14 @@ $isQa = $rawModule == 'qa';
<div id='mainHeader'>
<div class='container'>
<div id='heading'>
<?php if($isProduct) echo isset($lang->product->switcherMenu) ? $lang->product->switcherMenu : '';?>
<?php if($isQa) echo isset($lang->qa->switcherMenu) ? $lang->qa->switcherMenu : '';?>
<?php if($isProduct) echo isset($lang->product->switcherMenu) ? $lang->product->switcherMenu : '';?>
<?php if($isQa) echo isset($lang->qa->switcherMenu) ? $lang->qa->switcherMenu : '';?>
<?php if($this->config->systemMode == 'new'):?>
<?php if($isProgram) echo isset($lang->program->switcherMenu) ? $lang->program->switcherMenu : '';?>
<?php if($isProject) echo $this->loadModel('project')->getSwitcher($this->session->PRJ, $app->rawModule, $app->rawMethod);?>
<?php if($isProgram) echo isset($lang->program->switcherMenu) ? $lang->program->switcherMenu : '';?>
<?php if($isProject) echo $this->loadModel('project')->getSwitcher($this->session->PRJ, $app->rawModule, $app->rawMethod);?>
<?php if($isExecution) echo $this->execution->getSwitcher($this->session->execution, $app->rawModule, $app->rawMethod);?>
<?php elseif($this->config->systemMode == 'classic'):?>
<?php if($isProject) echo isset($lang->project->switcherMenu) ? $lang->project->switcherMenu : '';;?>
<?php if($isProject) echo isset($lang->project->switcherMenu) ? $lang->project->switcherMenu : '';;?>
<?php endif;?>
</div>
<nav id='navbar'><?php commonModel::printMainmenu($app->rawModule, $app->rawMethod);?></nav>
+6
View File
@@ -147,6 +147,9 @@ class company extends control
*/
public function view()
{
$this->lang->navGroup->company = 'system';
$this->lang->noMenuModule[] = 'company';
$this->company->setMenu();
$this->view->title = $this->lang->company->common . $this->lang->colon . $this->lang->company->view;
$this->view->position[] = $this->lang->company->view;
@@ -167,6 +170,9 @@ class company extends control
*/
public function dynamic($browseType = 'today', $param = '', $recTotal = 0, $date = '', $direction = 'next')
{
$this->lang->navGroup->company = 'system';
$this->lang->noMenuModule[] = 'company';
$this->company->setMenu();
$this->app->loadLang('user');
$this->app->loadLang('execution');
+1 -1
View File
@@ -803,7 +803,7 @@ class execution extends control
$this->view->orderBy = $orderBy;
$this->view->type = $this->session->executionStoryBrowseType;
$this->view->param = $param;
$this->view->moduleTree = $this->loadModel('tree')->getProjectStoryTreeMenu($executionID, $startModuleID = 0, array('treeModel', 'createExecutionStoryLink'));
$this->view->moduleTree = $this->loadModel('tree')->getExecutionStoryTreeMenu($executionID, $startModuleID = 0, array('treeModel', 'createExecutionStoryLink'));
$this->view->tabID = 'story';
$this->view->storyTasks = $storyTasks;
$this->view->storyBugs = $storyBugs;
+31
View File
@@ -877,11 +877,42 @@ class executionModel extends model
*/
public function getMainAction($module, $method)
{
if($method == 'index' or $method == 'all') return;
$link = html::a(helper::createLink('execution', 'all'), "<i class='icon icon-list'></i>", '', "style='border: none;'");
$html = "<p style='padding-top:5px;'>" . $link . "</p>";
return common::hasPriv('execution', 'all') ? $html : '';
}
/*
* Get execution switcher.
*
* @param int $executionID
* @param string $currentModule
* @param string $currentMethod
* @access public
* @return string
*/
public function getSwitcher($executionID, $currentModule, $currentMethod)
{
$this->session->set('moreExecutionLink', $this->app->getURI(true));
$currentExecutionName = $this->lang->execution->common;
if($executionID)
{
$currentExecution = $this->getById($executionID);
$currentExecutionName = $currentExecution->name;
}
$dropMenuLink = helper::createLink('execution', 'ajaxGetDropMenu', "objectID=$executionID&module=$currentModule&method=$currentMethod&extra=");
$output = "<div class='btn-group header-angle-btn' id='swapper'><button data-toggle='dropdown' type='button' class='btn' id='currentItem' title='{$currentExecutionName}'><span class='text'><i class='icon icon-project'></i> {$currentExecutionName}</span> <span class='caret'></span></button><div id='dropMenu' class='dropdown-menu search-list' data-ride='searchList' data-url='$dropMenuLink'>";
$output .= '<div class="input-control search-box has-icon-left has-icon-right search-example"><input type="search" class="form-control search-input" /><label class="input-control-icon-left search-icon"><i class="icon icon-search"></i></label><a class="input-control-icon-right search-clear-btn"><i class="icon icon-close icon-sm"></i></a></div>';
$output .= "</div></div>";
return $output;
}
/**
* Get project pairs.
*
@@ -49,7 +49,7 @@ foreach($executions as $execution)
?>
</div>
<div class="col-footer">
<?php echo html::a(helper::createLink('program', 'prjbrowse'), '<i class="icon icon-cards-view muted"></i> ' . $lang->execution->all, '', 'class="not-list-item"'); ?>
<?php echo html::a(helper::createLink('execution', 'all'), '<i class="icon icon-cards-view muted"></i> ' . $lang->execution->all, '', 'class="not-list-item"'); ?>
<a class='pull-right toggle-right-col not-list-item'><?php echo $lang->execution->doneProjects?><i class='icon icon-angle-right'></i></a>
</div>
</div>
+2 -2
View File
@@ -61,10 +61,10 @@ body.menu-hide {padding-left: 0;}
#userNav .dropdown-submenu:focus > a, #userNav .dropdown-submenu:hover > a {background-color: rgba(0,0,0,.2);}
#poweredBy{width: 40%; position: absolute; top: 4px; right: 0; padding: 0;}
#globalSearchDiv{width:50%; float: right; margin-right: 4px;}
#globalSearchDiv{width:52%; float: right; margin-right: 4px;}
@media screen and (max-height: 768px)
{
#globalSearchDiv{width: 60%;}
#globalSearchDiv{width: 62%;}
}
#globalSearchDiv .input-group{width: 82%; float: right; margin-top: 2px;}
@media screen and (max-height: 768px)
+4 -2
View File
@@ -117,6 +117,8 @@
{
if(methodLowerCase === 'create' && (link.params.programID || link.params.$1)) return 'program';
}
if(moduleName === 'my') if(methodLowerCase === 'team' || methodLowerCase == 'calendar') return 'system';
if(moduleName === 'company') if(methodLowerCase === 'view' || methodLowerCase == 'dynamic') return 'system';
if(moduleName === 'tree')
{
if(methodLowerCase === 'browse')
@@ -531,7 +533,7 @@ $.extend(
gotoObject:function()
{
objectType = $('#searchType').attr('value');
objectValue = $('input#globalSearchInput').attr('value');
objectValue = $('#globalSearchInput').attr('value');
if(objectType && objectValue)
{
@@ -590,7 +592,7 @@ $(function()
var $this = $(this);
var isActiveType = $this.data('value') === searchType && searchType !== 'all';
$this.closest('li').toggleClass('selected active', isActiveType);
$this.html($this.data('name') + ' <span>#' + (val.length > 4 ? (val.substr(0, 4) + '...') : val) + "</span>");
$this.html($this.data('name') + ' <span>#' + (val.length > 7 ? (val.substr(0, 7) + '...') : val) + "</span>");
if(isActiveType) $dropmenu.addClass('with-active');
});
}
+3
View File
@@ -129,6 +129,7 @@ class my extends control
*/
public function todo($type = 'before', $userID = '', $status = 'all', $orderBy = "date_desc,status,begin", $recTotal = 0, $recPerPage = 20, $pageID = 1)
{
$this->lang->navGroup->my = 'system';
/* Save session. */
$uri = $this->app->getURI(true);
if($this->app->viewType != 'json')
@@ -615,6 +616,8 @@ class my extends control
*/
public function team($orderBy = 'id', $recTotal = 0, $recPerPage = 15, $pageID = 1)
{
$this->lang->navGroup->my = 'system';
/* Set the pager. */
$this->app->loadClass('pager', $static = true);
$pager = new pager($recTotal, $recPerPage, $pageID);
+23 -7
View File
@@ -132,7 +132,7 @@ class product extends control
$this->loadModel('execution');
/* Set product, module and query. */
$productID = $this->product->saveState($productID, $this->products);
$productID = $this->app->rawModule != 'projectstory' ? $this->product->saveState($productID, $this->products) : $productID;
$branch = ($branch === '') ? (int)$this->cookie->preBranch : (int)$branch;
setcookie('preProductID', $productID, $this->config->cookieLife, $this->config->webRoot, '', false, true);
setcookie('preBranch', (int)$branch, $this->config->cookieLife, $this->config->webRoot, '', false, true);
@@ -174,11 +174,25 @@ class product extends control
{
setcookie('treeBranch', (int)$branch, 0, $this->config->webRoot, '', false, false);
$browseType = 'unclosed';
$moduleTree = $this->tree->getTreeMenu($productID, 'story', $startModuleID = 0, array('treeModel', $createModuleLink), '', $branch, "&param=$param&storyType=$storyType");
if($this->app->rawModule == 'projectstory' and empty($productID))
{
$moduleTree = $this->tree->getExecutionStoryTreeMenu($this->session->PRJ, 0, array('treeModel', 'createProjectStoryLink'));
}
else
{
$moduleTree = $this->tree->getTreeMenu($productID, 'story', $startModuleID = 0, array('treeModel', $createModuleLink), '', $branch, "&param=$param&storyType=$storyType");
}
}
else
{
$moduleTree = $this->tree->getTreeMenu($productID, 'story', $startModuleID = 0, array('treeModel', $createModuleLink), '', (int)$this->cookie->treeBranch, "&param=$param&storyType=$storyType");
if($this->app->rawModule == 'projectstory' and empty($productID))
{
$moduleTree = $this->tree->getExecutionStoryTreeMenu($this->session->PRJ, 0, array('treeModel', 'createProjectStoryLink'));
}
else
{
$moduleTree = $this->tree->getTreeMenu($productID, 'story', $startModuleID = 0, array('treeModel', $createModuleLink), '', (int)$this->cookie->treeBranch, "&param=$param&storyType=$storyType");
}
}
if($browseType != 'bymodule' and $browseType != 'bybranch') $this->session->set('storyBrowseType', $browseType);
@@ -201,7 +215,7 @@ class product extends control
$stories = $this->product->getStories($productID, $branch, $browseType, $queryID, $moduleID, $storyType, $sort, $pager);
if($this->app->rawModule == 'projectstory')
{
$this->session->set('currentProductType', $product->type);
if(!empty($product)) $this->session->set('currentProductType', $product->type);
$projectProducts = $this->product->getProducts($this->session->PRJ);
$productPlans = $this->execution->getPlans($projectProducts);
@@ -244,13 +258,15 @@ class product extends control
$showModule = !empty($this->config->datatable->productBrowse->showModule) ? $this->config->datatable->productBrowse->showModule : '';
$this->view->modulePairs = $showModule ? $this->tree->getModulePairs($productID, 'story', $showModule) : array();
$productName = ($this->app->rawModule == 'projectstory' and empty($productID)) ? $this->lang->product->all : $this->products[$productID];
/* Assign. */
$this->view->title = $this->products[$productID]. $this->lang->colon . $this->lang->product->browse;
$this->view->position[] = $this->products[$productID];
$this->view->title = $productName . $this->lang->colon . $this->lang->product->browse;
$this->view->position[] = $productName;
$this->view->position[] = $this->lang->product->browse;
$this->view->productID = $productID;
$this->view->product = $product;
$this->view->productName = $this->products[$productID];
$this->view->productName = $productName;
$this->view->moduleID = $moduleID;
$this->view->stories = $stories;
$this->view->plans = $this->loadModel('productplan')->getPairs($productID, $branch, '', true);
+12 -3
View File
@@ -823,9 +823,18 @@ class productModel extends model
{
$this->config->product->search['actionURL'] = $actionURL;
$this->config->product->search['queryID'] = $queryID;
$this->config->product->search['params']['plan']['values'] = $this->loadModel('productplan')->getPairs($productID);
$this->config->product->search['params']['product']['values'] = array($productID => $products[$productID], 'all' => $this->lang->product->allProduct);
$this->config->product->search['params']['module']['values'] = $this->loadModel('tree')->getOptionMenu($productID, $viewType = 'story', $startModuleID = 0);
$this->config->product->search['params']['plan']['values'] = $this->loadModel('productplan')->getPairs($productID);
if($this->app->rawModule == 'projectstory' and empty($productID))
{
$this->config->product->search['params']['product']['values'] = array('all' => $this->lang->product->allProduct, 'all' => $this->lang->product->allProduct);
}
else
{
$this->config->product->search['params']['product']['values'] = array($productID => $products[$productID], 'all' => $this->lang->product->allProduct);
}
$this->config->product->search['params']['module']['values'] = $this->loadModel('tree')->getOptionMenu($productID, $viewType = 'story', $startModuleID = 0);
if($this->session->currentProductType == 'normal')
{
unset($this->config->product->search['fields']['branch']);
+1
View File
@@ -51,6 +51,7 @@ $isProjectStory = $this->app->rawModule == 'projectstory';
<a href='javascript:;' class='btn btn-link btn-limit text-ellipsis' data-toggle='dropdown' style="max-width: 120px;"><span class='text' title='<?php echo $productName;?>'><?php echo $productName;?></span> <span class='caret'></span></a>
<ul class='dropdown-menu' style='max-height:240px; max-width: 300px; overflow-y:auto'>
<?php
echo "<li>" . html::a($this->createLink('projectstory', 'story', "productID=0"), $lang->product->all) . "</li>";
foreach($projectProducts as $product)
{
echo "<li>" . html::a($this->createLink('projectstory', 'story', "productID=$product->id&branch=0&browseType=$browseType"), $product->name, '', "title='{$product->name}' class='text-ellipsis'") . "</li>";
-1
View File
@@ -8,5 +8,4 @@ $(function()
});
});
$('#project' + projectID).addClass('active');
$(".tree .active").parent('li').addClass('active');
-1
View File
@@ -144,7 +144,6 @@ class projectModel extends model
{
$this->session->set('moreProjectLink', $this->app->getURI(true));
$this->loadModel('project');
$currentProjectName = $this->lang->project->common;
if($projectID)
{
+1 -1
View File
@@ -50,7 +50,7 @@ foreach($projects as $project)
?>
</div>
<div class="col-footer">
<?php echo html::a(helper::createLink('project', 'all'), '<i class="icon icon-cards-view muted"></i> ' . $lang->project->all, '', 'class="not-list-item"'); ?>
<?php echo html::a(helper::createLink('project', 'browse'), '<i class="icon icon-cards-view muted"></i> ' . $lang->project->all, '', 'class="not-list-item"'); ?>
<a class='pull-right toggle-right-col not-list-item'><?php echo $lang->project->doneProjects?><i class='icon icon-angle-right'></i></a>
</div>
</div>
+1 -2
View File
@@ -44,8 +44,7 @@ class projectStory extends control
*/
public function story($productID = 0, $branch = 0, $browseType = '', $param = 0, $storyType = 'story', $orderBy = '', $recTotal = 0, $recPerPage = 20, $pageID = 1)
{
$this->session->set('storyList',$this->app->getURI(true));
if(empty($productID)) $productID = key($this->products);
$this->session->set('storyList', $this->app->getURI(true));
$this->lang->menugroup->product = 'projectstory';
+1 -1
View File
@@ -30,7 +30,7 @@ class qa extends control
parent::__construct();
/* Set report menu group. */
$this->projectID = isset($_GET['project']) ? $_GET['project'] : 0;
$this->projectID = isset($_GET['PRJ']) ? $_GET['PRJ'] : 0;
if(!$this->projectID)
{
foreach($this->config->qa->menuList as $module) $this->lang->navGroup->$module = 'qa';
+3 -3
View File
@@ -2313,7 +2313,7 @@ class storyModel extends model
$type = strtolower($type);
if($type == 'bysearch')
{
if($this->app->rawModule == 'projectstory') $this->session->PRJStoryQuery = $this->session->storyQuery;
if($this->app->rawModule == 'projectstory') $this->session->executionStoryQuery = $this->session->storyQuery;
$queryID = (int)$param;
$products = $this->loadModel('execution')->getProducts($executionID);
@@ -2373,8 +2373,8 @@ class storyModel extends model
->andWhere('t2.type')->eq($storyType)
->beginIF($excludeStories)->andWhere('t2.id')->notIN($excludeStories)->fi()
->beginIF($execution->type == 'project')
->andWhere('t1.product')->eq($productID)
->beginIF(!empty($branch))->andWhere('t2.branch')->eq($branch)->fi()
->beginIF(!empty($productID))->andWhere('t1.product')->eq($productID)
->andWhere('t2.branch')->eq($branch)->fi()
->beginIF(isset($statusFeatureList) and in_array($type, array_keys($statusFeatureList)))->andWhere('t2.status')->eq($type)->fi()
->beginIF(isset($otherFeatureList) and in_array($type, array_keys($otherFeatureList)))->andWhere('t2.' . substr($type, 0, -2))->eq($this->app->user->account)->fi()
->beginIF($type == 'unclosed')->andWhere('t2.status')->in(array_keys($unclosedStatus))->fi()
+23 -4
View File
@@ -611,7 +611,7 @@ class treeModel extends model
* @access public
* @return string
*/
public function getProjectStoryTreeMenu($rootID, $startModule = 0, $userFunc)
public function getExecutionStoryTreeMenu($rootID, $startModule = 0, $userFunc)
{
$extra['executionID'] = $rootID;
$menu = "<ul id='modules' class='tree' data-ride='tree' data-name='tree-story'>";
@@ -636,7 +636,9 @@ class treeModel extends model
foreach($products as $id => $product)
{
$extra['productID'] = $id;
$link = helper::createLink('execution', 'story', "executionID=$rootID&ordery=&status=byProduct&praram=$id");
$projectProductLink = helper::createLink('projectstory', 'story', "productID=$id");
$executionProductLink = helper::createLink('execution', 'story', "executionID=$rootID&ordery=&status=byProduct&praram=$id");
$link = $this->app->rawModule == 'projectstory' ? $projectProductLink : $executionProductLink;
if($productNum > 1) $menu .= "<li>" . html::a($link, $product, '_self', "id='product$id'");
/* tree menu. */
@@ -656,13 +658,15 @@ class treeModel extends model
$stmt = $this->dbh->query($query);
while($module = $stmt->fetch())
{
/* if not manage, ignore unused modules. */
/* If not manage, ignore unused modules. */
if(isset($executionModules[$module->id])) $this->buildTree($treeMenu, $module, 'task', $userFunc, $extra);
}
if((isset($treeMenu[0]) and $branch) or isset($executionBranches[$branch]))
{
$childMenu = isset($treeMenu[0]) ? "<ul>{$treeMenu[0]}</ul>" : '';
$link = helper::createLink('execution', 'story', "executionID=$rootID&ordery=&status=byBranch&praram=" . (empty($branch) ? "{$id},0" : $branch));
$projectBranchLink = helper::createLink('projectstory', 'story', "productID=$id&branch=" . (empty($branch) ? 0 : $branch) . "&browseType=byBranch");
$executionBranchLink = helper::createLink('execution', 'story', "executionID=$rootID&ordery=&status=byBranch&praram=" . (empty($branch) ? "{$id},0" : $branch));
$link = $this->app->rawModule == 'projectstory' ? $projectBranchLink : $executionBranchLink;
if($branchName) $treeMenu[0] = "<li>" . html::a($link, $branchName, '_self', "id='branch" . (empty($branch) ? "{$id}_0" : $branch) . "'") . "{$childMenu}</li>";
}
$tree .= isset($treeMenu[0]) ? $treeMenu[0] : '';
@@ -866,6 +870,21 @@ class treeModel extends model
return html::a(helper::createLink('execution', 'task', "executionID={$executionID}&type=byModule&param={$module->id}"), $module->name, '_self', "id='module{$module->id}'");
}
/**
* Create link of project story.
*
* @param string $type
* @param object $module
* @param array $extra
* @access public
* @return string
*/
public function createProjectStoryLink($type, $module, $extra)
{
$productID = $extra['productID'];
return html::a(helper::createLink('projectstory', 'story', "productID=$productID&branch=&browseType=byModule&param={$module->id}"), $module->name, '_self', "id='module{$module->id}'");
}
/**
* Create link of execution story.
*
+1 -2
View File
@@ -2467,8 +2467,7 @@ class userModel extends model
*/
public function resetMenu()
{
$this->lang->navGroup->user = 'my';
$this->lang->admin->menu = $this->lang->my->menu;
$this->lang->navGroup->user = 'system';
$this->lang->noMenuModule[] = 'user';
}
}