diff --git a/module/bug/control.php b/module/bug/control.php
index 6e6348c587..3aeee1878a 100644
--- a/module/bug/control.php
+++ b/module/bug/control.php
@@ -607,8 +607,8 @@ class bug extends control
/* Judge bug exits or not. */
$bug = $this->bug->getById($bugID, true);
if(!$bug) die(js::error($this->lang->notFound) . js::locate('back'));
- $this->session->PRJ = $bug->project;
- $this->view->products = $this->products = $this->product->getProductPairsByProject($this->session->PRJ);
+ if($bug->project) $this->session->PRJ = $bug->project;
+ $this->view->products = $this->products = $this->product->getProductPairsByProject($this->session->PRJ);
$this->bug->checkBugExecutionPriv($bug);
diff --git a/module/common/lang/de.php b/module/common/lang/de.php
index 9accc59c8f..b09ed81c3b 100644
--- a/module/common/lang/de.php
+++ b/module/common/lang/de.php
@@ -172,6 +172,8 @@ else
$lang->project->menu->browse = array('link' => "$lang->executionCommon|project|browse|");
}
+$lang->project->dividerMenu = ',execution,programplan,doc,dynamic,';
+
$lang->program->viewMenu = new stdclass();
$lang->program->viewMenu->product = array('link' => 'Product|program|product|program=%s', 'alias' => 'view');
$lang->program->viewMenu->project = array('link' => "Project|program|project|program=%s");
diff --git a/module/common/lang/en.php b/module/common/lang/en.php
index 6fa36ce027..e2b5c18b00 100644
--- a/module/common/lang/en.php
+++ b/module/common/lang/en.php
@@ -222,9 +222,10 @@ $lang->productplan->menu = $lang->product->menu;
/* System menu. */
$lang->system = new stdclass();
$lang->system->menu = new stdclass();
-$lang->system->menu->company = array('link' => 'User|company|browse|', 'subModule' => ',user,dept,group,', 'alias' => ',dynamic,view,');
-$lang->system->menu->team = array('link' => 'Team|my|team|');
+$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();
@@ -520,6 +521,7 @@ $lang->company->menu->browseGroup = array('link' => 'Group|group|browse', 'subMo
$lang->admin = new stdclass();
$lang->admin->menu = new stdclass();
$lang->admin->menu->index = array('link' => 'Home|admin|index', 'alias' => 'register,certifytemail,certifyztmobile,ztcompany');
+$lang->admin->menu->company = array('link' => 'User|company|browse|', 'subModule' => ',user,dept,group,');
$lang->admin->menu->model = array('link' => 'Model|custom|browsestoryconcept|', 'subModule' => 'holiday');
$lang->admin->menu->custom = array('link' => 'Custom|custom|index', 'subModule' => 'custom');
$lang->admin->menu->extension = array('link' => 'Extension|extension|browse', 'subModule' => 'extension');
@@ -531,6 +533,10 @@ $lang->subject = new stdclass();
$lang->subject->menu = new stdclass();
$lang->subject->menu->storyConcept = array('link' => 'Story Concpet|custom|browsestoryconcept|');
+$lang->dept->menu = $lang->company->menu;
+$lang->group->menu = $lang->company->menu;
+$lang->user->menu = $lang->company->menu;
+
$lang->admin->subMenu = new stdclass();
$lang->admin->subMenu->message = new stdclass();
$lang->admin->subMenu->message->mail = array('link' => 'Mail|mail|index', 'subModule' => 'mail');
@@ -612,7 +618,6 @@ $lang->menugroup->job = 'ci';
/* Nav group.*/
$lang->navGroup = new stdclass();
$lang->navGroup->my = 'my';
-$lang->navGroup->todo = 'my';
$lang->navGroup->effort = 'my';
$lang->navGroup->score = 'my';
@@ -663,6 +668,8 @@ $lang->navGroup->build = 'execution';
$lang->navGroup->sqlbuilder = 'system';
$lang->navGroup->auditcl = 'system';
$lang->navGroup->cmcl = 'system';
+$lang->navGroup->todo = 'system';
+$lang->navGroup->ldap = 'system';
$lang->navGroup->process = 'system';
$lang->navGroup->activity = 'system';
$lang->navGroup->zoutput = 'system';
@@ -681,17 +688,18 @@ $lang->navGroup->lieu = 'attend';
$lang->navGroup->admin = 'admin';
$lang->navGroup->company = 'admin';
$lang->navGroup->dept = 'admin';
-$lang->navGroup->ldap = 'admin';
+$lang->navGroup->user = 'admin';
$lang->navGroup->group = 'admin';
+$lang->navGroup->dept = 'admin';
$lang->navGroup->webhook = 'admin';
$lang->navGroup->sms = 'admin';
$lang->navGroup->message = 'admin';
-$lang->navGroup->user = 'admin';
$lang->navGroup->custom = 'admin';
$lang->navGroup->cron = 'admin';
$lang->navGroup->backup = 'admin';
$lang->navGroup->mail = 'admin';
$lang->navGroup->dev = 'admin';
+$lang->navGroup->entry = 'admin';
$lang->navGroup->extension = 'admin';
$lang->navGroup->action = 'admin';
$lang->navGroup->search = 'admin';
diff --git a/module/common/lang/fr.php b/module/common/lang/fr.php
index 968d41c9aa..3da57a8cd3 100644
--- a/module/common/lang/fr.php
+++ b/module/common/lang/fr.php
@@ -172,6 +172,8 @@ else
$lang->project->menu->browse = array('link' => "$lang->executionCommon|project|browse|");
}
+$lang->project->dividerMenu = ',execution,programplan,doc,dynamic,';
+
$lang->program->viewMenu = new stdclass();
$lang->program->viewMenu->product = array('link' => 'Product|program|product|program=%s', 'alias' => 'view');
$lang->program->viewMenu->project = array('link' => "Project|program|project|program=%s");
diff --git a/module/common/lang/menuOrder.php b/module/common/lang/menuOrder.php
index c5ae0b2f4b..b46eb228e6 100644
--- a/module/common/lang/menuOrder.php
+++ b/module/common/lang/menuOrder.php
@@ -154,10 +154,11 @@ $lang->system->menuOrder[15] = 'calendar';
/* admin menu order. */
$lang->admin->menuOrder[5] = 'index';
-$lang->admin->menuOrder[10] = 'model';
-$lang->admin->menuOrder[15] = 'custom';
-$lang->admin->menuOrder[20] = 'message';
-$lang->admin->menuOrder[25] = 'extension';
+$lang->admin->menuOrder[10] = 'company';
+$lang->admin->menuOrder[15] = 'model';
+$lang->admin->menuOrder[20] = 'custom';
+$lang->admin->menuOrder[25] = 'message';
+$lang->admin->menuOrder[30] = 'extension';
$lang->admin->menuOrder[35] = 'dev';
$lang->admin->menuOrder[40] = 'system';
diff --git a/module/common/lang/vi.php b/module/common/lang/vi.php
index 7008e03aae..8dc60db6fc 100644
--- a/module/common/lang/vi.php
+++ b/module/common/lang/vi.php
@@ -172,6 +172,8 @@ else
$lang->project->menu->browse = array('link' => "$lang->executionCommon|project|browse|");
}
+$lang->project->dividerMenu = ',execution,programplan,doc,dynamic,';
+
$lang->program->viewMenu = new stdclass();
$lang->program->viewMenu->product = array('link' => 'Product|program|product|program=%s', 'alias' => 'view');
$lang->program->viewMenu->project = array('link' => "Project|program|project|program=%s");
diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php
index 90c548368e..77bc272332 100644
--- a/module/common/lang/zh-cn.php
+++ b/module/common/lang/zh-cn.php
@@ -149,7 +149,7 @@ $lang->mainNav->qa = '
测试|qa|index|';
$lang->mainNav->repo = '
代码|repo|browse|';
$lang->mainNav->doc = '
文档|doc|index|';
$lang->mainNav->report = "
统计|report|productSummary|";
-$lang->mainNav->system = '
组织|company|browse|';
+$lang->mainNav->system = '
组织|my|team|';
$lang->mainNav->admin = '
后台|admin|index|';
if($config->systemMode == 'new') $lang->mainNav->program = "
项目集|$programModule|$programMethod|";
@@ -172,7 +172,7 @@ else
$lang->project->menu->browse = array('link' => "$lang->executionCommon|project|browse|");
}
-$lang->project->dividerMenu = ',execution,programplan,doc,other,';
+$lang->project->dividerMenu = ',execution,programplan,doc,dynamic,';
$lang->program->viewMenu = new stdclass();
$lang->program->viewMenu->product = array('link' => '产品|program|product|program=%s', 'alias' => 'view');
@@ -222,9 +222,10 @@ $lang->productplan->menu = $lang->product->menu;
/* System menu. */
$lang->system = new stdclass();
$lang->system->menu = new stdclass();
-$lang->system->menu->company = array('link' => '人员|company|browse|', 'subModule' => ',user,dept,group,', 'alias' => ',dynamic,view,');
-$lang->system->menu->team = array('link' => '团队|my|team|');
+$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->measurement = new stdclass();
$lang->measurement->menu = new stdclass();
@@ -518,13 +519,12 @@ $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();
$lang->admin->menu = new stdclass();
$lang->admin->menu->index = array('link' => '首页|admin|index', 'alias' => 'register,certifytemail,certifyztmobile,ztcompany');
+$lang->admin->menu->company = array('link' => '人员|company|browse|', 'subModule' => ',user,dept,group,');
$lang->admin->menu->model = array('link' => '模型|custom|browsestoryconcept|', 'subModule' => 'holiday');
$lang->admin->menu->custom = array('link' => '自定义|custom|index', 'subModule' => 'custom');
$lang->admin->menu->extension = array('link' => '插件|extension|browse', 'subModule' => 'extension');
@@ -536,9 +536,9 @@ $lang->subject = new stdclass();
$lang->subject->menu = new stdclass();
$lang->subject->menu->storyConcept = array('link' => '需求概念|custom|browsestoryconcept|');
-$lang->dept->menu = $lang->company->menu;
-$lang->group->menu = $lang->company->menu;
-$lang->user->menu = $lang->company->menu;
+$lang->dept->menu = $lang->company->menu;
+$lang->group->menu = $lang->company->menu;
+$lang->user->menu = $lang->company->menu;
$lang->admin->subMenu = new stdclass();
$lang->admin->subMenu->message = new stdclass();
@@ -621,7 +621,6 @@ $lang->menugroup->job = 'ci';
/* Nav group.*/
$lang->navGroup = new stdclass();
$lang->navGroup->my = 'my';
-$lang->navGroup->todo = 'my';
$lang->navGroup->effort = 'my';
$lang->navGroup->score = 'my';
@@ -669,13 +668,10 @@ $lang->navGroup->execution = 'execution';
$lang->navGroup->task = 'execution';
$lang->navGroup->build = 'execution';
-$lang->navGroup->company = 'system';
$lang->navGroup->sqlbuilder = 'system';
$lang->navGroup->auditcl = 'system';
$lang->navGroup->cmcl = 'system';
-$lang->navGroup->user = 'system';
-$lang->navGroup->group = 'system';
-$lang->navGroup->dept = 'system';
+$lang->navGroup->todo = 'system';
$lang->navGroup->ldap = 'system';
$lang->navGroup->process = 'system';
$lang->navGroup->activity = 'system';
@@ -693,6 +689,11 @@ $lang->navGroup->overtime = 'attend';
$lang->navGroup->lieu = 'attend';
$lang->navGroup->admin = 'admin';
+$lang->navGroup->company = 'admin';
+$lang->navGroup->dept = 'admin';
+$lang->navGroup->user = 'admin';
+$lang->navGroup->group = 'admin';
+$lang->navGroup->dept = 'admin';
$lang->navGroup->webhook = 'admin';
$lang->navGroup->sms = 'admin';
$lang->navGroup->message = 'admin';
@@ -897,7 +898,7 @@ $lang->icons['score'] = 'tint';
$lang->menu = new stdclass();
$lang->menu->scrum = new stdclass();
$lang->menu->scrum->index = '仪表盘|project|index|project={PROJECT}';
-$lang->menu->scrum->execution = "$lang->executionCommon|execution|all|status=all&executionID=0&from=project";
+$lang->menu->scrum->execution = "$lang->executionCommon|execution|all|status=all&projectID={PROJECT}&from=project";
$lang->menu->scrum->projectstory = array('link' => $lang->SRCommon . '|projectstory|story', 'alias' => 'story,track');
$lang->menu->scrum->doc = '文档|doc|index|';
$lang->menu->scrum->qa = '测试|qa|index';
@@ -905,7 +906,6 @@ $lang->menu->scrum->ci = '代码|repo|browse';
$lang->menu->scrum->projectbuild = array('link' => '版本|projectbuild|browse|project={PROJECT}');
$lang->menu->scrum->projectrelease = array('link' => '发布|projectrelease|browse|project={PROJECT}');
$lang->menu->scrum->dynamic = array('link' => '动态|project|dynamic|project={PROJECT}');
-$lang->menu->scrum->other = array('link' => '其他|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk,stakeholder');
$lang->menu->scrum->projectsetting = array('link' => '设置|project|view|project={PROJECT}', 'subModule' => 'stakeholder', 'alias' => 'edit,manageproducts,group,managemembers,manageview,managepriv,whitelist,addwhitelist');
$lang->scrum = new stdclass();
diff --git a/module/company/control.php b/module/company/control.php
index b1ab021140..28b9e5eead 100644
--- a/module/company/control.php
+++ b/module/company/control.php
@@ -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');
diff --git a/module/company/css/browse.css b/module/company/css/browse.css
index 8b467bb46b..712cfcb024 100644
--- a/module/company/css/browse.css
+++ b/module/company/css/browse.css
@@ -1,5 +1,4 @@
#titlebar {display: none;}
-form {position: relative;}
#querybox {float: none !important; width: auto;}
#moreOrLite {right: 10px !important;}
diff --git a/module/custom/view/browsestoryconcept.html.php b/module/custom/view/browsestoryconcept.html.php
index 1d21b92205..b3f840a7a9 100644
--- a/module/custom/view/browsestoryconcept.html.php
+++ b/module/custom/view/browsestoryconcept.html.php
@@ -46,7 +46,7 @@
custom->URSR ? "disabled=disabled" : '';?>
createLink('custom', 'editStoryConcept', "id=$key", '', true), "", '', "class='btn iframe' title={$lang->edit}");?>
- createLink('custom', 'deleteStoryConcept', "id=$key"), "", 'hiddenwin', "class='btn' $disabled title={$lang->delete} data-group='system'");?>
+ createLink('custom', 'deleteStoryConcept', "id=$key"), "", 'hiddenwin', "class='btn' $disabled title={$lang->delete} data-group='admin'");?>
|
diff --git a/module/execution/control.php b/module/execution/control.php
index 12a8187cb8..b9f9df6838 100644
--- a/module/execution/control.php
+++ b/module/execution/control.php
@@ -1914,7 +1914,7 @@ class execution extends control
/* Get execution's product. */
$productID = 0;
- $productPairs = $this->loadModel('product')->getProductPairsByExecution($executionID);
+ $productPairs = $this->loadModel('product')->getProductPairsByProject($executionID);
if($productPairs) $productID = key($productPairs);
$this->view->title = $this->lang->execution->storyKanban;
@@ -2569,7 +2569,7 @@ class execution extends control
* All execution.
*
* @param string $status
- * @param int $executionID
+ * @param int $projectID
* @param string $orderBy
* @param int $productID
* @param int $recTotal
@@ -2578,26 +2578,14 @@ class execution extends control
* @access public
* @return void
*/
- public function all($status = 'all', $executionID = 0, $from = 'execution', $orderBy = 'id_desc', $productID = 0, $recTotal = 0, $recPerPage = 10, $pageID = 1)
+ public function all($status = 'all', $projectID = 0, $from = 'execution', $orderBy = 'id_desc', $productID = 0, $recTotal = 0, $recPerPage = 10, $pageID = 1)
{
$this->app->loadLang('my');
$this->app->loadLang('product');
$this->app->loadLang('programplan');
- if($from == 'execution')
- {
- if($this->executions)
- {
- $execution = $this->commonAction($executionID);
- $executionID = $execution->id;
- }
- $this->session->set('executionList', $this->app->getURI(true));
- $projectID = 0;
- }
- elseif($from == 'project')
- {
- $this->lang->navGroup->execution = 'project';
- $projectID = $this->session->PRJ;
- }
+
+ if($from == 'execution') $this->session->set('executionList', $this->app->getURI(true));
+ if($from == 'project') $this->lang->navGroup->execution = 'project';
/* Load pager and get tasks. */
$this->app->loadClass('pager', $static = true);
@@ -2607,13 +2595,15 @@ class execution extends control
$this->view->position[] = $this->lang->execution->allExecutions;
$this->view->executionStats = $this->project->getStats($projectID, $status, $productID, 0, 30, $orderBy, $pager);
- $this->view->products = array(0 => $this->lang->product->select) + $this->loadModel('product')->getProductPairsByProject($this->session->PRJ);
$this->view->productID = $productID;
- $this->view->executionID = $executionID;
+ $this->view->projectID = $projectID;
+ $this->view->projects = $this->project->getPairsByModel();
$this->view->pager = $pager;
$this->view->orderBy = $orderBy;
$this->view->users = $this->loadModel('user')->getPairs('noletter');
$this->view->status = $status;
+ $this->view->from = $from;
+ $this->view->projectTree = $this->project->getTreeMenu(0, array('projectmodel', 'createManageLink'), 0, 'list');
$this->display();
}
diff --git a/module/execution/model.php b/module/execution/model.php
index 8c8fae3e6b..6a2783adb0 100644
--- a/module/execution/model.php
+++ b/module/execution/model.php
@@ -313,6 +313,7 @@ class executionModel extends model
$execution = $this->getByID($executionID);
$this->session->set('project', $execution->project);
}
+
/**
* Create a execution.
*
@@ -345,7 +346,7 @@ class executionModel extends model
->setDefault('lastEditedBy', $this->app->user->account)
->setDefault('lastEditedDate', helper::now())
->setDefault('team', substr($this->post->name,0, 30))
- ->setIF($this->config->systemMode == 'new', 'execution', $this->session->PRJ)
+ ->setIF($this->config->systemMode == 'new', 'project', $this->session->PRJ)
->setIF($this->config->systemMode == 'new', 'parent', $this->session->PRJ)
->setIF($this->post->acl == 'open', 'whitelist', '')
->join('whitelist', ',')
@@ -1136,7 +1137,7 @@ class executionModel extends model
->andWhere('t2.deleted')->eq(0)
->fetchPairs();
- $products = $this->loadModel('product')->getProductPairsByExecution($projectID);
+ $products = $this->loadModel('product')->getProductPairsByProject($projectID);
foreach($executions as $id => $execution)
{
@@ -2309,7 +2310,7 @@ class executionModel extends model
if($executionType == 'execution')
{
$childSprints = $this->dao->select('id')->from(TABLE_EXECUTION)->where('project')->eq($execution->id)->andWhere('type')->in('stage,sprint')->andWhere('deleted')->eq('0')->fetchPairs();
- $linkedProducts = $this->loadModel('product')->getProductPairsByExecution($execution->id);
+ $linkedProducts = $this->loadModel('product')->getProductPairsByProject($execution->id);
$this->loadModel('user')->updateUserView(array($executionID), 'execution', $changedAccounts);
if(!empty($childSprints)) $this->user->updateUserView($childSprints, 'sprint', $changedAccounts);
@@ -2355,7 +2356,7 @@ class executionModel extends model
$changedAccounts = array_unique($changedAccounts);
$this->loadModel('user')->updateUserView($executionID, $executionType, $changedAccounts);
- $linkedProducts = $this->loadModel('product')->getProductPairsByExecution($executionID);
+ $linkedProducts = $this->loadModel('product')->getProductPairsByProject($executionID);
if(!empty($linkedProducts)) $this->user->updateUserView(array_keys($linkedProducts), 'product', $changedAccounts);
}
@@ -2386,7 +2387,7 @@ class executionModel extends model
{
$this->dao->delete()->from(TABLE_TEAM)->where('root')->eq($sprint->execution)->andWhere('type')->eq('execution')->andWhere('account')->eq($account)->exec();
$this->loadModel('user')->updateUserView($sprint->execution, 'execution', array($account));
- $linkedProducts = $this->loadModel('product')->getProductPairsByExecution($sprint->execution);
+ $linkedProducts = $this->loadModel('product')->getProductPairsByProject($sprint->execution);
if(!empty($linkedProducts)) $this->user->updateUserView(array_keys($linkedProducts), 'product', array($account));
}
}
diff --git a/module/execution/view/all.html.php b/module/execution/view/all.html.php
index b42ac2b3c9..17c9c5e10a 100644
--- a/module/execution/view/all.html.php
+++ b/module/execution/view/all.html.php
@@ -25,25 +25,41 @@
@-moz-document url-prefix() {.main-table tbody > tr.table-children > td:first-child::before {width: 4px;}}
+
+
+
" . $lang->export, '', "class='btn btn-link export'")?>
createLink('execution', 'create'), " " . $this->lang->execution->create, '', "class='btn btn-primary'");?>
-