diff --git a/module/common/lang/de.php b/module/common/lang/de.php
index 6096408496..03fb792584 100644
--- a/module/common/lang/de.php
+++ b/module/common/lang/de.php
@@ -116,11 +116,6 @@ $lang->workingHour = 'Stunde';
$lang->sprintCommon = $lang->iterationCommon . '/Phase';
-$lang->execution = new stdclass();
-$lang->execution->common = 'Execution';
-$lang->execution->sprint = 'Iteration';
-$lang->execution->stage = 'Phase';
-
$lang->idAB = 'ID';
$lang->priAB = 'P';
$lang->statusAB = 'Status';
@@ -162,7 +157,7 @@ $lang->dividerMenu = ',qa,report,admin,';
/* Program set menu. */
$lang->program = new stdclass();
$lang->program->menu = new stdclass();
-$lang->program->menu->index = 'Home|program|index|';
+$lang->program->menu->index = 'Dashboard|program|index|';
$lang->program->menu->browse = array('link' => 'Program|program|browse|', 'alias' => 'create,edit,group,managepriv,manageview,managemembers');
$lang->project = new stdclass();
@@ -191,10 +186,11 @@ $lang->personnel->menu->whitelist = array('link' => "Whitelist|personnel|whitel
/* Scrum menu. */
$lang->product = new stdclass();
$lang->product->menu = new stdclass();
-$lang->product->menu->home = 'Home|product|index|';
+$lang->product->menu->home = 'Dashboard|product|index|';
$lang->product->menu->list = array('link' => $lang->productCommon . '|product|all|', 'alias' => 'create,batchedit');
$lang->product->viewMenu = new stdclass();
+$lang->product->viewMenu->dashboard = array('link' => 'Dashboard|product|dashboard|productID=%s');
if($config->URAndSR) $lang->product->viewMenu->requirement = array('link' => "$lang->URCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
$lang->product->viewMenu->story = array('link' => "$lang->SRCommon|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
$lang->product->viewMenu->plan = array('link' => "Plan|productplan|browse|productID=%s", 'subModule' => 'productplan');
@@ -203,7 +199,6 @@ $lang->product->viewMenu->roadmap = 'Roadmap|product|roadmap|productID=%s';
$lang->product->viewMenu->project = "Project|product|project|status=all&productID=%s";
$lang->product->viewMenu->track = array('link' => "Track|story|track|productID=%s");
$lang->product->viewMenu->doc = array('link' => 'Doc|doc|objectLibs|type=product&objectID=%s&from=product', 'subModule' => 'doc');
-$lang->product->viewMenu->dashboard = array('link' => 'Dashboard|product|dashboard|productID=%s');
$lang->product->viewMenu->dynamic = 'Dynamic|product|dynamic|productID=%s';
$lang->product->viewMenu->set = array('link' => 'Setting|product|view|productID=%s', 'subModule' => 'tree,branch', 'alias' => 'edit');
@@ -252,7 +247,7 @@ $lang->searchObjects['caselib'] = 'Case Library';
$lang->searchObjects['testreport'] = 'Test-Bericht';
$lang->searchObjects['program'] = 'Program';
$lang->searchObjects['project'] = 'Project';
-$lang->searchObjects['execution'] = $lang->execution->common;
+$lang->searchObjects['execution'] = $lang->executionCommon;
$lang->searchObjects['user'] = 'User';
$lang->searchTips = 'ID (strg+g)';
@@ -339,43 +334,43 @@ $lang->story = new stdclass();
$lang->story->menu = $lang->product->menu;
/* Project menu settings. */
-$lang->project = new stdclass();
-$lang->project->menu = new stdclass();
+$lang->execution = new stdclass();
+$lang->execution->menu = new stdclass();
-$lang->project->menu->task = array('link' => 'Aufgabenliste|project|task|projectID=%s', 'subModule' => 'task,grouptask,tree', 'alias' => 'grouptask,importtask,importbug,tree', 'class' => 'dropdown dropdown-hover');
-$lang->project->menu->kanban = array('link' => 'Kanban|project|kanban|projectID=%s');
-$lang->project->menu->burn = array('link' => 'Burn|project|burn|projectID=%s');
-$lang->project->menu->view = array('link' => 'View|project|grouptask|projectID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover');
-$lang->project->menu->story = array('link' => 'Story|project|story|projectID=%s', 'subModule' => 'story', 'alias' => 'linkstory,storykanban');
-$lang->project->menu->bug = array('link' => 'Bug|project|bug|projectID=%s');
-$lang->project->menu->build = array('link' => 'Build|project|build|projectID=%s', 'subModule' => 'build');
-$lang->project->menu->testtask = array('link' => 'Test Aufgabe|project|testtask|projectID=%s', 'subModule' => 'testreport,testtask');
-$lang->project->menu->doc = array('link' => 'Dok|doc|objectLibs|type=project&objectID=%s&from=project', 'subModule' => 'doc');
-$lang->project->menu->product = $lang->productCommon . '|project|manageproducts|projectID=%s';
-$lang->project->menu->team = array('link' => 'Team|project|team|projectID=%s', 'alias' => 'managemembers');
-$lang->project->menu->more = array('link' => 'More|project|whitelist|projectID=%s', 'subModule' => 'personnel', 'alias' => 'edit', 'class' => 'dropdown dropdown-hover');
+$lang->execution->menu->task = array('link' => 'Aufgabenliste|execution|task|executionID=%s', 'subModule' => 'task,grouptask,tree', 'alias' => 'grouptask,importtask,importbug,tree', 'class' => 'dropdown dropdown-hover');
+$lang->execution->menu->kanban = array('link' => 'Kanban|execution|kanban|executionID=%s');
+$lang->execution->menu->burn = array('link' => 'Burn|execution|burn|executionID=%s');
+$lang->execution->menu->view = array('link' => 'View|execution|grouptask|executionID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover');
+$lang->execution->menu->story = array('link' => 'Story|execution|story|executionID=%s', 'subModule' => 'story', 'alias' => 'linkstory,storykanban');
+$lang->execution->menu->bug = array('link' => 'Bug|execution|bug|executionID=%s');
+$lang->execution->menu->build = array('link' => 'Build|execution|build|executionID=%s', 'subModule' => 'build');
+$lang->execution->menu->testtask = array('link' => 'Test Aufgabe|execution|testtask|executionID=%s', 'subModule' => 'testreport,testtask');
+$lang->execution->menu->doc = array('link' => 'Dok|doc|objectLibs|type=execution&objectID=%s&from=execution', 'subModule' => 'doc');
+$lang->execution->menu->product = $lang->productCommon . '|execution|manageproducts|executionID=%s';
+$lang->execution->menu->team = array('link' => 'Team|execution|team|executionID=%s', 'alias' => 'managemembers');
+$lang->execution->menu->more = array('link' => 'More|execution|whitelist|executionID=%s', 'subModule' => 'personnel', 'alias' => 'edit', 'class' => 'dropdown dropdown-hover');
-$lang->project->subMenu = new stdclass();
-$lang->project->subMenu->view = new stdclass();
-$lang->project->subMenu->view->groupTask = 'Gruppenansicht|project|grouptask|projectID=%s';
-$lang->project->subMenu->view->tree = 'Baumansicht|project|tree|projectID=%s';
+$lang->execution->subMenu = new stdclass();
+$lang->execution->subMenu->view = new stdclass();
+$lang->execution->subMenu->view->groupTask = 'Gruppenansicht|execution|grouptask|executionID=%s';
+$lang->execution->subMenu->view->tree = 'Baumansicht|execution|tree|executionID=%s';
-$lang->project->subMenu->qa = new stdclass();
-$lang->project->subMenu->qa->bug = 'Bug|project|bug|projectID=%s';
-$lang->project->subMenu->qa->build = array('link' => 'Build|project|build|projectID=%s', 'subModule' => 'build');
-$lang->project->subMenu->qa->testtask = array('link' => 'Test Aufgabe|project|testtask|projectID=%s', 'subModule' => 'testreport,testtask');
+$lang->execution->subMenu->qa = new stdclass();
+$lang->execution->subMenu->qa->bug = 'Bug|execution|bug|executionID=%s';
+$lang->execution->subMenu->qa->build = array('link' => 'Build|execution|build|executionID=%s', 'subModule' => 'build');
+$lang->execution->subMenu->qa->testtask = array('link' => 'Test Aufgabe|execution|testtask|executionID=%s', 'subModule' => 'testreport,testtask');
-$lang->project->subMenu->more = new stdclass();
-$lang->project->subMenu->more->whitelist = array('link' => 'Whitelist|project|whitelist|projectID=%s', 'subModule' => 'personnel', 'alias' => 'addwhitelist');
-$lang->project->subMenu->more->action = array('link' => 'Verlauf|project|dynamic|projectID=%s');
-$lang->project->subMenu->more->view = array('link' => 'Übersicht|project|view|projectID=%s', 'subModule' => 'view', 'alias' => 'edit,start,suspend,putoff,close');
+$lang->execution->subMenu->more = new stdclass();
+$lang->execution->subMenu->more->whitelist = array('link' => 'Whitelist|execution|whitelist|executionID=%s', 'subModule' => 'personnel', 'alias' => 'addwhitelist');
+$lang->execution->subMenu->more->action = array('link' => 'Verlauf|execution|dynamic|executionID=%s');
+$lang->execution->subMenu->more->view = array('link' => 'Übersicht|execution|view|executionID=%s', 'subModule' => 'view', 'alias' => 'edit,start,suspend,putoff,close');
-$lang->project->dividerMenu = ',project,programplan,projectbuild,story,doc,other,';
+$lang->execution->dividerMenu = ',execution,programplan,executionbuild,story,doc,other,';
$lang->task = new stdclass();
$lang->build = new stdclass();
-$lang->task->menu = $lang->project->menu;
-$lang->build->menu = $lang->project->menu;
+$lang->task->menu = $lang->execution->menu;
+$lang->build->menu = $lang->execution->menu;
/* QA视图菜单设置。*/
$lang->qa = new stdclass();
@@ -637,7 +632,6 @@ $lang->navGroup->story = 'product';
$lang->navGroup->tree = 'product';
$lang->navGroup->project = 'project';
-$lang->navGroup->task = 'project';
$lang->navGroup->qa = 'project';
$lang->navGroup->bug = 'project';
$lang->navGroup->doc = 'project';
@@ -668,6 +662,9 @@ $lang->navGroup->compile = 'project';
$lang->navGroup->report = 'project';
$lang->navGroup->measrecord = 'project';
+$lang->navGroup->execution = 'execution';
+$lang->navGroup->task = 'project';
+
$lang->navGroup->sqlbuilder = 'system';
$lang->navGroup->auditcl = 'system';
$lang->navGroup->cmcl = 'system';
@@ -970,11 +967,6 @@ $lang->stakeholder->menu->list = array('link' => 'Stakeholder List|stakeholder|
$lang->stakeholder->menu->issue = array('link' => 'Issue|stakeholder|issue|');
$lang->nc->menu = $lang->auditplan->menu;
-$lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage');
-if($config->systemMode == 'classic')
-{
- $lang->noMenuModule[] = 'project';
- $lang->noMenuModule[] = 'task';
-}
+$lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'execution', 'task', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage');
include (dirname(__FILE__) . '/menuOrder.php');
diff --git a/module/common/lang/en.php b/module/common/lang/en.php
index 4d8ae166e2..a48e81b4e0 100644
--- a/module/common/lang/en.php
+++ b/module/common/lang/en.php
@@ -116,11 +116,6 @@ $lang->workingHour = 'Hours';
$lang->sprintCommon = $lang->iterationCommon . '/Phase';
-$lang->execution = new stdclass();
-$lang->execution->common = 'Execution';
-$lang->execution->sprint = 'Iteration';
-$lang->execution->stage = 'Phase';
-
$lang->idAB = 'ID';
$lang->priAB = 'P';
$lang->statusAB = 'Status';
@@ -162,7 +157,7 @@ $lang->dividerMenu = ',qa,report,admin,';
/* Program set menu. */
$lang->program = new stdclass();
$lang->program->menu = new stdclass();
-//$lang->program->menu->index = 'Home|program|index|';
+//$lang->program->menu->index = 'Dashboard|program|index|';
$lang->program->menu->browse = array('link' => 'Program|program|browse|');
$lang->project = new stdclass();
@@ -191,10 +186,11 @@ $lang->personnel->menu->whitelist = array('link' => "Whitelist|personnel|whitel
/* Scrum menu. */
$lang->product = new stdclass();
$lang->product->menu = new stdclass();
-$lang->product->menu->home = 'Home|product|index|';
+$lang->product->menu->home = 'Dashboard|product|index|';
$lang->product->menu->list = array('link' => $lang->productCommon . '|product|all|', 'alias' => 'create,batchedit');
$lang->product->viewMenu = new stdclass();
+$lang->product->viewMenu->dashboard = array('link' => 'Dashboard|product|dashboard|productID=%s');
if($config->URAndSR) $lang->product->viewMenu->requirement = array('link' => "$lang->URCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
$lang->product->viewMenu->story = array('link' => "$lang->SRCommon|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
$lang->product->viewMenu->plan = array('link' => "Plan|productplan|browse|productID=%s", 'subModule' => 'productplan');
@@ -203,7 +199,6 @@ $lang->product->viewMenu->roadmap = 'Roadmap|product|roadmap|productID=%s';
$lang->product->viewMenu->project = "Project|product|project|status=all&productID=%s";
$lang->product->viewMenu->track = array('link' => "Track|story|track|productID=%s");
$lang->product->viewMenu->doc = array('link' => 'Doc|doc|objectLibs|type=product&objectID=%s&from=product', 'subModule' => 'doc');
-$lang->product->viewMenu->dashboard = array('link' => 'Dashboard|product|dashboard|productID=%s');
$lang->product->viewMenu->dynamic = 'Dynamic|product|dynamic|productID=%s';
$lang->product->viewMenu->set = array('link' => 'Setting|product|view|productID=%s', 'subModule' => 'tree,branch', 'alias' => 'edit');
@@ -252,7 +247,7 @@ $lang->searchObjects['caselib'] = 'Case Library';
$lang->searchObjects['testreport'] = 'Test Report';
$lang->searchObjects['program'] = 'Program';
$lang->searchObjects['project'] = 'Project';
-$lang->searchObjects['execution'] = $lang->execution->common;
+$lang->searchObjects['execution'] = $lang->executionCommon;
$lang->searchObjects['user'] = 'User';
$lang->searchTips = 'ID (ctrl+g)';
@@ -339,43 +334,43 @@ $lang->story = new stdclass();
$lang->story->menu = $lang->product->menu;
/* Project menu settings. */
-$lang->project = new stdclass();
-$lang->project->menu = new stdclass();
+$lang->execution = new stdclass();
+$lang->execution->menu = new stdclass();
-$lang->project->menu->task = array('link' => 'Task|project|task|projectID=%s', 'subModule' => 'task,tree', 'alias' => 'importtask,importbug');
-$lang->project->menu->kanban = array('link' => 'Kanban|project|kanban|projectID=%s');
-$lang->project->menu->burn = array('link' => 'Burndown|project|burn|projectID=%s');
-$lang->project->menu->view = array('link' => 'View|project|grouptask|projectID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover');
-$lang->project->menu->story = array('link' => 'Story|project|story|projectID=%s', 'subModule' => 'story', 'alias' => 'linkstory,storykanban');
-$lang->project->menu->bug = array('link' => 'Bug|project|bug|projectID=%s');
-$lang->project->menu->build = array('link' => 'Build|project|build|projectID=%s', 'subModule' => 'build');
-$lang->project->menu->testtask = array('link' => 'Request|project|testtask|projectID=%s', 'subModule' => 'testreport,testtask');
-$lang->project->menu->doc = array('link' => 'Doc|doc|objectLibs|type=project&objectID=%s&from=project', 'subModule' => 'doc');
-$lang->project->menu->product = $lang->productCommon . '|project|manageproducts|projectID=%s';
-$lang->project->menu->team = array('link' => 'Team|project|team|projectID=%s', 'alias' => 'managemembers');
-$lang->project->menu->more = array('link' => 'More|project|whitelist|projectID=%s', 'subModule' => 'personnel', 'alias' => 'edit', 'class' => 'dropdown dropdown-hover');
+$lang->execution->menu->task = array('link' => 'Task|execution|task|executionID=%s', 'subModule' => 'task,tree', 'alias' => 'importtask,importbug');
+$lang->execution->menu->kanban = array('link' => 'Kanban|execution|kanban|executionID=%s');
+$lang->execution->menu->burn = array('link' => 'Burndown|execution|burn|executionID=%s');
+$lang->execution->menu->view = array('link' => 'View|execution|grouptask|executionID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover');
+$lang->execution->menu->story = array('link' => 'Story|execution|story|executionID=%s', 'subModule' => 'story', 'alias' => 'linkstory,storykanban');
+$lang->execution->menu->bug = array('link' => 'Bug|execution|bug|executionID=%s');
+$lang->execution->menu->build = array('link' => 'Build|execution|build|executionID=%s', 'subModule' => 'build');
+$lang->execution->menu->testtask = array('link' => 'Request|execution|testtask|executionID=%s', 'subModule' => 'testreport,testtask');
+$lang->execution->menu->doc = array('link' => 'Doc|doc|objectLibs|type=execution&objectID=%s&from=execution', 'subModule' => 'doc');
+$lang->execution->menu->product = $lang->productCommon . '|execution|manageproducts|executionID=%s';
+$lang->execution->menu->team = array('link' => 'Team|execution|team|executionID=%s', 'alias' => 'managemembers');
+$lang->execution->menu->more = array('link' => 'More|execution|whitelist|executionID=%s', 'subModule' => 'personnel', 'alias' => 'edit', 'class' => 'dropdown dropdown-hover');
-$lang->project->subMenu = new stdclass();
-$lang->project->subMenu->view = new stdclass();
-$lang->project->subMenu->view->groupTask = 'Group View|project|grouptask|projectID=%s';
-$lang->project->subMenu->view->tree = 'Tree View|project|tree|projectID=%s';
+$lang->execution->subMenu = new stdclass();
+$lang->execution->subMenu->view = new stdclass();
+$lang->execution->subMenu->view->groupTask = 'Group View|execution|grouptask|executionID=%s';
+$lang->execution->subMenu->view->tree = 'Tree View|execution|tree|executionID=%s';
-$lang->project->subMenu->qa = new stdclass();
-$lang->project->subMenu->qa->bug = 'Bug|project|bug|projectID=%s';
-$lang->project->subMenu->qa->build = array('link' => 'Build|project|build|projectID=%s', 'subModule' => 'build');
-$lang->project->subMenu->qa->testtask = array('link' => 'Request|project|testtask|projectID=%s', 'subModule' => 'testreport,testtask');
+$lang->execution->subMenu->qa = new stdclass();
+$lang->execution->subMenu->qa->bug = 'Bug|execution|bug|executionID=%s';
+$lang->execution->subMenu->qa->build = array('link' => 'Build|execution|build|executionID=%s', 'subModule' => 'build');
+$lang->execution->subMenu->qa->testtask = array('link' => 'Request|execution|testtask|executionID=%s', 'subModule' => 'testreport,testtask');
-$lang->project->subMenu->more = new stdclass();
-$lang->project->subMenu->more->whitelist = array('link' => 'Whitelist|project|whitelist|projectID=%s', 'subModule' => 'personnel', 'alias' => 'addwhitelist');
-$lang->project->subMenu->more->action = array('link' => 'Dynamics|project|dynamic|projectID=%s');
-$lang->project->subMenu->more->view = array('link' => 'Overview|project|view|projectID=%s', 'subModule' => 'view', 'alias' => 'edit,start,suspend,putoff,close');
+$lang->execution->subMenu->more = new stdclass();
+$lang->execution->subMenu->more->whitelist = array('link' => 'Whitelist|execution|whitelist|executionID=%s', 'subModule' => 'personnel', 'alias' => 'addwhitelist');
+$lang->execution->subMenu->more->action = array('link' => 'Dynamics|execution|dynamic|executionID=%s');
+$lang->execution->subMenu->more->view = array('link' => 'Overview|execution|view|executionID=%s', 'subModule' => 'view', 'alias' => 'edit,start,suspend,putoff,close');
-$lang->project->dividerMenu = ',project,programplan,projectbuild,story,doc,other,';
+$lang->execution->dividerMenu = ',execution,programplan,executionbuild,story,doc,other,';
$lang->task = new stdclass();
$lang->build = new stdclass();
-$lang->task->menu = $lang->project->menu;
-$lang->build->menu = $lang->project->menu;
+$lang->task->menu = $lang->execution->menu;
+$lang->build->menu = $lang->execution->menu;
/* QA menu settings. */
$lang->qa = new stdclass();
@@ -636,7 +631,6 @@ $lang->navGroup->story = 'product';
$lang->navGroup->tree = 'product';
$lang->navGroup->project = 'project';
-$lang->navGroup->task = 'project';
$lang->navGroup->qa = 'project';
$lang->navGroup->bug = 'project';
$lang->navGroup->doc = 'project';
@@ -667,6 +661,9 @@ $lang->navGroup->compile = 'project';
$lang->navGroup->report = 'project';
$lang->navGroup->measrecord = 'project';
+$lang->navGroup->execution = 'execution';
+$lang->navGroup->task = 'project';
+
$lang->navGroup->sqlbuilder = 'system';
$lang->navGroup->auditcl = 'system';
$lang->navGroup->cmcl = 'system';
@@ -969,11 +966,6 @@ $lang->stakeholder->menu->list = array('link' => 'Stakeholder List|stakeholder|
$lang->stakeholder->menu->issue = array('link' => 'Issue|stakeholder|issue|');
$lang->nc->menu = $lang->auditplan->menu;
-$lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage');
-if($config->systemMode == 'classic')
-{
- $lang->noMenuModule[] = 'project';
- $lang->noMenuModule[] = 'task';
-}
+$lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'execution', 'task', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage');
include (dirname(__FILE__) . '/menuOrder.php');
diff --git a/module/common/lang/fr.php b/module/common/lang/fr.php
index 9ac8d2d3c2..486a70e619 100644
--- a/module/common/lang/fr.php
+++ b/module/common/lang/fr.php
@@ -116,11 +116,6 @@ $lang->workingHour = 'Heures';
$lang->sprintCommon = $lang->iterationCommon . '/Phase';
-$lang->execution = new stdclass();
-$lang->execution->common = 'Execution';
-$lang->execution->sprint = 'Iteration';
-$lang->execution->stage = 'Phase';
-
$lang->idAB = 'ID';
$lang->priAB = 'P';
$lang->statusAB = 'Statut';
@@ -162,7 +157,7 @@ $lang->dividerMenu = ',qa,report,admin,';
/* Program set menu. */
$lang->program = new stdclass();
$lang->program->menu = new stdclass();
-$lang->program->menu->index = 'Home|program|index|';
+$lang->program->menu->index = 'Dashboard|program|index|';
$lang->program->menu->browse = array('link' => 'Program|program|browse|', 'alias' => 'create,edit,group,managepriv,manageview,managemembers');
$lang->project = new stdclass();
@@ -191,10 +186,11 @@ $lang->personnel->menu->whitelist = array('link' => "Whitelist|personnel|whitel
/* Scrum menu. */
$lang->product = new stdclass();
$lang->product->menu = new stdclass();
-$lang->product->menu->home = 'Home|product|index|';
+$lang->product->menu->home = 'Dashboard|product|index|';
$lang->product->menu->list = array('link' => $lang->productCommon . '|product|all|', 'alias' => 'create,batchedit');
$lang->product->viewMenu = new stdclass();
+$lang->product->viewMenu->dashboard = array('link' => 'Dashboard|product|dashboard|productID=%s');
if($config->URAndSR) $lang->product->viewMenu->requirement = array('link' => "$lang->URCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
$lang->product->viewMenu->story = array('link' => "$lang->SRCommon|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
$lang->product->viewMenu->plan = array('link' => "Plan|productplan|browse|productID=%s", 'subModule' => 'productplan');
@@ -203,7 +199,6 @@ $lang->product->viewMenu->roadmap = 'Roadmap|product|roadmap|productID=%s';
$lang->product->viewMenu->project = "Project|product|project|status=all&productID=%s";
$lang->product->viewMenu->track = array('link' => "Track|story|track|productID=%s");
$lang->product->viewMenu->doc = array('link' => 'Doc|doc|objectLibs|type=product&objectID=%s&from=product', 'subModule' => 'doc');
-$lang->product->viewMenu->dashboard = array('link' => 'Dashboard|product|dashboard|productID=%s');
$lang->product->viewMenu->dynamic = 'Dynamic|product|dynamic|productID=%s';
$lang->product->viewMenu->set = array('link' => 'Setting|product|view|productID=%s', 'subModule' => 'tree,branch', 'alias' => 'edit');
@@ -252,7 +247,7 @@ $lang->searchObjects['caselib'] = 'Case Library';
$lang->searchObjects['testreport'] = 'CR de Test';
$lang->searchObjects['program'] = 'Program';
$lang->searchObjects['project'] = 'Project';
-$lang->searchObjects['execution'] = $lang->execution->common;
+$lang->searchObjects['execution'] = $lang->executionCommon;
$lang->searchObjects['user'] = 'User';
$lang->searchTips = 'ID (ctrl+g)';
@@ -339,43 +334,43 @@ $lang->story = new stdclass();
$lang->story->menu = $lang->product->menu;
/* Project menu settings. */
-$lang->project = new stdclass();
-$lang->project->menu = new stdclass();
+$lang->execution = new stdclass();
+$lang->execution->menu = new stdclass();
-$lang->project->menu->task = array('link' => 'Tâche|project|task|projectID=%s', 'subModule' => 'task,tree', 'alias' => 'importtask,importbug');
-$lang->project->menu->kanban = array('link' => 'Kanban|project|kanban|projectID=%s');
-$lang->project->menu->burn = array('link' => 'Atterrissage|project|burn|projectID=%s');
-$lang->project->menu->view = array('link' => 'View|project|grouptask|projectID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover');
-$lang->project->menu->story = array('link' => "Story|project|story|projectID=%s", 'subModule' => 'story', 'alias' => 'linkstory,storykanban');
-$lang->project->menu->bug = array('link' => 'Bug|project|bug|projectID=%s');
-$lang->project->menu->build = array('link' => 'Build|project|build|projectID=%s', 'subModule' => 'build');
-$lang->project->menu->testtask = array('link' => 'Recette|project|testtask|projectID=%s', 'subModule' => 'testreport,testtask');
-$lang->project->menu->doc = array('link' => 'Doc|doc|objectLibs|type=project&objectID=%s&from=project', 'subModule' => 'doc');
-$lang->project->menu->product = $lang->productCommon . '|project|manageproducts|projectID=%s';
-$lang->project->menu->team = array('link' => 'Equipe|project|team|projectID=%s', 'alias' => 'managemembers');
-$lang->project->menu->more = array('link' => 'More|project|whitelist|projectID=%s', 'subModule' => 'personnel', 'alias' => 'edit', 'class' => 'dropdown dropdown-hover');
+$lang->execution->menu->task = array('link' => 'Tâche|execution|task|executionID=%s', 'subModule' => 'task,tree', 'alias' => 'importtask,importbug');
+$lang->execution->menu->kanban = array('link' => 'Kanban|execution|kanban|executionID=%s');
+$lang->execution->menu->burn = array('link' => 'Atterrissage|execution|burn|executionID=%s');
+$lang->execution->menu->view = array('link' => 'View|execution|grouptask|executionID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover');
+$lang->execution->menu->story = array('link' => "Story|execution|story|executionID=%s", 'subModule' => 'story', 'alias' => 'linkstory,storykanban');
+$lang->execution->menu->bug = array('link' => 'Bug|execution|bug|executionID=%s');
+$lang->execution->menu->build = array('link' => 'Build|execution|build|executionID=%s', 'subModule' => 'build');
+$lang->execution->menu->testtask = array('link' => 'Recette|execution|testtask|executionID=%s', 'subModule' => 'testreport,testtask');
+$lang->execution->menu->doc = array('link' => 'Doc|doc|objectLibs|type=execution&objectID=%s&from=execution', 'subModule' => 'doc');
+$lang->execution->menu->product = $lang->productCommon . '|execution|manageproducts|executionID=%s';
+$lang->execution->menu->team = array('link' => 'Equipe|execution|team|executionID=%s', 'alias' => 'managemembers');
+$lang->execution->menu->more = array('link' => 'More|execution|whitelist|executionID=%s', 'subModule' => 'personnel', 'alias' => 'edit', 'class' => 'dropdown dropdown-hover');
-$lang->project->subMenu = new stdclass();
-$lang->project->subMenu->view = new stdclass();
-$lang->project->subMenu->view->groupTask = 'Vision Groupée|project|grouptask|projectID=%s';
-$lang->project->subMenu->view->tree = 'Arborescence|project|tree|projectID=%s';
+$lang->execution->subMenu = new stdclass();
+$lang->execution->subMenu->view = new stdclass();
+$lang->execution->subMenu->view->groupTask = 'Vision Groupée|execution|grouptask|executionID=%s';
+$lang->execution->subMenu->view->tree = 'Arborescence|execution|tree|executionID=%s';
-$lang->project->subMenu->qa = new stdclass();
-$lang->project->subMenu->qa->bug = 'Bug|project|bug|projectID=%s';
-$lang->project->subMenu->qa->build = array('link' => 'Build|project|build|projectID=%s', 'subModule' => 'build');
-$lang->project->subMenu->qa->testtask = array('link' => 'Recette|project|testtask|projectID=%s', 'subModule' => 'testreport,testtask');
+$lang->execution->subMenu->qa = new stdclass();
+$lang->execution->subMenu->qa->bug = 'Bug|execution|bug|executionID=%s';
+$lang->execution->subMenu->qa->build = array('link' => 'Build|execution|build|executionID=%s', 'subModule' => 'build');
+$lang->execution->subMenu->qa->testtask = array('link' => 'Recette|execution|testtask|executionID=%s', 'subModule' => 'testreport,testtask');
-$lang->project->subMenu->more = new stdclass();
-$lang->project->subMenu->more->whitelist = array('link' => 'Whitelist|project|whitelist|projectID=%s', 'subModule' => 'personnel', 'alias' => 'addwhitelist');
-$lang->project->subMenu->more->action = array('link' => 'Historique|project|dynamic|projectID=%s');
-$lang->project->subMenu->more->view = array('link' => "Vue d'ensemble|project|view|projectID=%s", 'subModule' => 'view', 'alias' => 'edit,start,suspend,putoff,close');
+$lang->execution->subMenu->more = new stdclass();
+$lang->execution->subMenu->more->whitelist = array('link' => 'Whitelist|execution|whitelist|executionID=%s', 'subModule' => 'personnel', 'alias' => 'addwhitelist');
+$lang->execution->subMenu->more->action = array('link' => 'Historique|execution|dynamic|executionID=%s');
+$lang->execution->subMenu->more->view = array('link' => "Vue d'ensemble|execution|view|executionID=%s", 'subModule' => 'view', 'alias' => 'edit,start,suspend,putoff,close');
-$lang->project->dividerMenu = ',project,programplan,projectbuild,story,doc,other,';
+$lang->execution->dividerMenu = ',execution,programplan,executionbuild,story,doc,other,';
$lang->task = new stdclass();
$lang->build = new stdclass();
-$lang->task->menu = $lang->project->menu;
-$lang->build->menu = $lang->project->menu;
+$lang->task->menu = $lang->execution->menu;
+$lang->build->menu = $lang->execution->menu;
/* QA menu settings. */
$lang->qa = new stdclass();
@@ -636,7 +631,6 @@ $lang->navGroup->story = 'product';
$lang->navGroup->tree = 'product';
$lang->navGroup->project = 'project';
-$lang->navGroup->task = 'project';
$lang->navGroup->qa = 'project';
$lang->navGroup->bug = 'project';
$lang->navGroup->doc = 'project';
@@ -667,6 +661,9 @@ $lang->navGroup->compile = 'project';
$lang->navGroup->report = 'project';
$lang->navGroup->measrecord = 'project';
+$lang->navGroup->execution = 'execution';
+$lang->navGroup->task = 'execution';
+
$lang->navGroup->sqlbuilder = 'system';
$lang->navGroup->auditcl = 'system';
$lang->navGroup->cmcl = 'system';
@@ -969,11 +966,6 @@ $lang->stakeholder->menu->list = array('link' => 'Stakeholder List|stakeholder|
$lang->stakeholder->menu->issue = array('link' => 'Issue|stakeholder|issue|');
$lang->nc->menu = $lang->auditplan->menu;
-$lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage');
-if($config->systemMode == 'classic')
-{
- $lang->noMenuModule[] = 'project';
- $lang->noMenuModule[] = 'task';
-}
+$lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'execution', 'task', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage');
include (dirname(__FILE__) . '/menuOrder.php');
diff --git a/module/common/lang/menuOrder.php b/module/common/lang/menuOrder.php
index e5c8bbbe78..b95ba40148 100644
--- a/module/common/lang/menuOrder.php
+++ b/module/common/lang/menuOrder.php
@@ -69,10 +69,10 @@ $lang->product->menuOrder[25] = 'roadmap';
$lang->product->menuOrder[30] = 'requirement';
$lang->product->menuOrder[35] = 'track';
$lang->product->menuOrder[40] = 'doc';
-$lang->product->menuOrder[50] = 'dynamic';
-$lang->product->menuOrder[55] = 'setting';
-$lang->product->menuOrder[60] = 'create';
-$lang->product->menuOrder[65] = 'all';
+$lang->product->menuOrder[45] = 'dynamic';
+$lang->product->menuOrder[50] = 'setting';
+$lang->product->menuOrder[55] = 'create';
+$lang->product->menuOrder[60] = 'all';
$lang->story->menuOrder = $lang->product->menuOrder;
$lang->productplan->menuOrder = $lang->product->menuOrder;
@@ -80,20 +80,21 @@ $lang->release->menuOrder = $lang->product->menuOrder;
$lang->branch->menuOrder = $lang->product->menuOrder;
/* project menu order. */
-$lang->project->menuOrder[5] = 'task';
-$lang->project->menuOrder[10] = 'kanban';
-$lang->project->menuOrder[15] = 'burn';
-$lang->project->menuOrder[20] = 'view';
-$lang->project->menuOrder[25] = 'story';
-$lang->project->menuOrder[30] = 'bug';
-$lang->project->menuOrder[35] = 'build';
-$lang->project->menuOrder[40] = 'testtask';
-$lang->project->menuOrder[45] = 'doc';
-$lang->project->menuOrder[50] = 'product';
-$lang->project->menuOrder[55] = 'team';
-$lang->project->menuOrder[60] = 'more';
-$lang->task->menuOrder = $lang->project->menuOrder;
-$lang->build->menuOrder = $lang->project->menuOrder;
+$lang->execution->menuOrder[5] = 'task';
+$lang->execution->menuOrder[10] = 'kanban';
+$lang->execution->menuOrder[15] = 'burn';
+$lang->execution->menuOrder[20] = 'view';
+$lang->execution->menuOrder[25] = 'story';
+$lang->execution->menuOrder[30] = 'bug';
+$lang->execution->menuOrder[35] = 'build';
+$lang->execution->menuOrder[40] = 'testtask';
+$lang->execution->menuOrder[45] = 'doc';
+$lang->execution->menuOrder[50] = 'product';
+$lang->execution->menuOrder[55] = 'team';
+$lang->execution->menuOrder[60] = 'more';
+
+$lang->task->menuOrder = $lang->execution->menuOrder;
+$lang->build->menuOrder = $lang->execution->menuOrder;
/* qa menu order. */
$lang->qa->menuOrder[5] = 'product';
diff --git a/module/common/lang/vi.php b/module/common/lang/vi.php
index f70461c597..7104a75591 100644
--- a/module/common/lang/vi.php
+++ b/module/common/lang/vi.php
@@ -116,11 +116,6 @@ $lang->workingHour = 'giờ';
$lang->sprintCommon = $lang->iterationCommon . '/Phase';
-$lang->execution = new stdclass();
-$lang->execution->common = 'Execution';
-$lang->execution->sprint = 'Iteration';
-$lang->execution->stage = 'Phase';
-
$lang->idAB = 'ID';
$lang->priAB = 'P';
$lang->statusAB = 'Tình trạng';
@@ -162,7 +157,7 @@ $lang->dividerMenu = ',qa,report,admin,';
/* Program set menu. */
$lang->program = new stdclass();
$lang->program->menu = new stdclass();
-$lang->program->menu->index = 'Home|program|index|';
+$lang->program->menu->index = 'Dashboard|program|index|';
$lang->program->menu->browse = array('link' => 'Program|program|browse|', 'alias' => 'create,edit,group,managepriv,manageview,managemembers');
$lang->project = new stdclass();
@@ -191,10 +186,11 @@ $lang->personnel->menu->whitelist = array('link' => "Whitelist|personnel|whitel
/* Scrum menu. */
$lang->product = new stdclass();
$lang->product->menu = new stdclass();
-$lang->product->menu->home = 'Home|product|index|';
+$lang->product->menu->home = 'Dashboard|product|index|';
$lang->product->menu->list = array('link' => $lang->productCommon . '|product|all|', 'alias' => 'create,batchedit');
$lang->product->viewMenu = new stdclass();
+$lang->product->viewMenu->dashboard = array('link' => 'Dashboard|product|dashboard|productID=%s');
if($config->URAndSR) $lang->product->viewMenu->requirement = array('link' => "$lang->URCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
$lang->product->viewMenu->story = array('link' => "$lang->SRCommon|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
$lang->product->viewMenu->plan = array('link' => "Plan|productplan|browse|productID=%s", 'subModule' => 'productplan');
@@ -203,7 +199,6 @@ $lang->product->viewMenu->roadmap = 'Roadmap|product|roadmap|productID=%s';
$lang->product->viewMenu->project = "Project|product|project|status=all&productID=%s";
$lang->product->viewMenu->track = array('link' => "Track|story|track|productID=%s");
$lang->product->viewMenu->doc = array('link' => 'Doc|doc|objectLibs|type=product&objectID=%s&from=product', 'subModule' => 'doc');
-$lang->product->viewMenu->dashboard = array('link' => 'Dashboard|product|dashboard|productID=%s');
$lang->product->viewMenu->dynamic = 'Dynamic|product|dynamic|productID=%s';
$lang->product->viewMenu->set = array('link' => 'Setting|product|view|productID=%s', 'subModule' => 'tree,branch', 'alias' => 'edit');
@@ -252,7 +247,7 @@ $lang->searchObjects['caselib'] = 'Thư viện tình huống';
$lang->searchObjects['testreport'] = 'Test báo cáo';
$lang->searchObjects['program'] = 'Program';
$lang->searchObjects['project'] = 'Project';
-$lang->searchObjects['execution'] = $lang->execution->common;
+$lang->searchObjects['execution'] = $lang->executionCommon;
$lang->searchObjects['user'] = 'User';
$lang->searchTips = 'ID (ctrl+g)';
@@ -339,43 +334,43 @@ $lang->story = new stdclass();
$lang->story->menu = $lang->product->menu;
/* Project menu settings. */
-$lang->project = new stdclass();
-$lang->project->menu = new stdclass();
+$lang->execution = new stdclass();
+$lang->execution->menu = new stdclass();
-$lang->project->menu->task = array('link' => 'Nhiệm vụ|project|task|projectID=%s', 'subModule' => 'task,tree', 'alias' => 'importtask,importbug');
-$lang->project->menu->kanban = array('link' => 'Kanban|project|kanban|projectID=%s');
-$lang->project->menu->burn = array('link' => 'Burndown|project|burn|projectID=%s');
-$lang->project->menu->view = array('link' => 'View|project|grouptask|projectID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover');
-$lang->project->menu->story = array('link' => "Câu chuyện|project|story|projectID=%s", 'subModule' => 'story', 'alias' => 'linkstory,storykanban');
-$lang->project->menu->bug = array('link' => 'Bug|project|bug|projectID=%s');
-$lang->project->menu->build = array('link' => 'Bản dựng|project|build|projectID=%s', 'subModule' => 'build');
-$lang->project->menu->testtask = array('link' => 'Yêu cầu|project|testtask|projectID=%s', 'subModule' => 'testreport,testtask');
-$lang->project->menu->doc = array('link' => 'Tài liệu|doc|objectLibs|type=project&objectID=%s&from=project', 'subModule' => 'doc');
-$lang->project->menu->product = $lang->productCommon . '|project|manageproducts|projectID=%s';
-$lang->project->menu->team = array('link' => 'Đội nhóm|project|team|projectID=%s', 'alias' => 'managemembers');
-$lang->project->menu->more = array('link' => 'More|project|whitelist|projectID=%s', 'subModule' => 'personnel', 'alias' => 'edit', 'class' => 'dropdown dropdown-hover');
+$lang->execution->menu->task = array('link' => 'Nhiệm vụ|execution|task|executionID=%s', 'subModule' => 'task,tree', 'alias' => 'importtask,importbug');
+$lang->execution->menu->kanban = array('link' => 'Kanban|execution|kanban|executionID=%s');
+$lang->execution->menu->burn = array('link' => 'Burndown|execution|burn|executionID=%s');
+$lang->execution->menu->view = array('link' => 'View|execution|grouptask|executionID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover');
+$lang->execution->menu->story = array('link' => "Câu chuyện|execution|story|executionID=%s", 'subModule' => 'story', 'alias' => 'linkstory,storykanban');
+$lang->execution->menu->bug = array('link' => 'Bug|execution|bug|executionID=%s');
+$lang->execution->menu->build = array('link' => 'Bản dựng|execution|build|executionID=%s', 'subModule' => 'build');
+$lang->execution->menu->testtask = array('link' => 'Yêu cầu|execution|testtask|executionID=%s', 'subModule' => 'testreport,testtask');
+$lang->execution->menu->doc = array('link' => 'Tài liệu|doc|objectLibs|type=execution&objectID=%s&from=execution', 'subModule' => 'doc');
+$lang->execution->menu->product = $lang->productCommon . '|execution|manageproducts|executionID=%s';
+$lang->execution->menu->team = array('link' => 'Đội nhóm|execution|team|executionID=%s', 'alias' => 'managemembers');
+$lang->execution->menu->more = array('link' => 'More|execution|whitelist|executionID=%s', 'subModule' => 'personnel', 'alias' => 'edit', 'class' => 'dropdown dropdown-hover');
-$lang->project->subMenu = new stdclass();
-$lang->project->subMenu->view = new stdclass();
-$lang->project->subMenu->view->groupTask = 'Xem theo nhóm|project|grouptask|projectID=%s';
-$lang->project->subMenu->view->tree = 'Xem theo cây|project|tree|projectID=%s';
+$lang->execution->subMenu = new stdclass();
+$lang->execution->subMenu->view = new stdclass();
+$lang->execution->subMenu->view->groupTask = 'Xem theo nhóm|execution|grouptask|executionID=%s';
+$lang->execution->subMenu->view->tree = 'Xem theo cây|execution|tree|executionID=%s';
-$lang->project->subMenu->qa = new stdclass();
-$lang->project->subMenu->qa->bug = 'Bug|project|bug|projectID=%s';
-$lang->project->subMenu->qa->build = array('link' => 'Bản dựng|project|build|projectID=%s', 'subModule' => 'build');
-$lang->project->subMenu->qa->testtask = array('link' => 'Yêu cầu|project|testtask|projectID=%s', 'subModule' => 'testreport,testtask');
+$lang->execution->subMenu->qa = new stdclass();
+$lang->execution->subMenu->qa->bug = 'Bug|execution|bug|executionID=%s';
+$lang->execution->subMenu->qa->build = array('link' => 'Bản dựng|execution|build|executionID=%s', 'subModule' => 'build');
+$lang->execution->subMenu->qa->testtask = array('link' => 'Yêu cầu|execution|testtask|executionID=%s', 'subModule' => 'testreport,testtask');
-$lang->project->subMenu->more = new stdclass();
-$lang->project->subMenu->more->whitelist = array('link' => 'Whitelist|project|whitelist|projectID=%s', 'subModule' => 'personnel', 'alias' => 'addwhitelist');
-$lang->project->subMenu->more->action = array('link' => 'Lịch sử|project|dynamic|projectID=%s');
-$lang->project->subMenu->more->view = array('link' => 'Tổng quan|project|view|projectID=%s', 'subModule' => 'view', 'alias' => 'edit,start,suspend,putoff,close');
+$lang->execution->subMenu->more = new stdclass();
+$lang->execution->subMenu->more->whitelist = array('link' => 'Whitelist|execution|whitelist|executionID=%s', 'subModule' => 'personnel', 'alias' => 'addwhitelist');
+$lang->execution->subMenu->more->action = array('link' => 'Lịch sử|execution|dynamic|executionID=%s');
+$lang->execution->subMenu->more->view = array('link' => 'Tổng quan|execution|view|executionID=%s', 'subModule' => 'view', 'alias' => 'edit,start,suspend,putoff,close');
-$lang->project->dividerMenu = ',project,programplan,projectbuild,story,doc,other,';
+$lang->execution->dividerMenu = ',execution,programplan,executionbuild,story,doc,other,';
$lang->task = new stdclass();
$lang->build = new stdclass();
-$lang->task->menu = $lang->project->menu;
-$lang->build->menu = $lang->project->menu;
+$lang->task->menu = $lang->execution->menu;
+$lang->build->menu = $lang->execution->menu;
/* QA menu settings. */
$lang->qa = new stdclass();
@@ -636,7 +631,6 @@ $lang->navGroup->story = 'product';
$lang->navGroup->tree = 'product';
$lang->navGroup->project = 'project';
-$lang->navGroup->task = 'project';
$lang->navGroup->qa = 'project';
$lang->navGroup->bug = 'project';
$lang->navGroup->doc = 'project';
@@ -667,6 +661,9 @@ $lang->navGroup->compile = 'project';
$lang->navGroup->report = 'project';
$lang->navGroup->measrecord = 'project';
+$lang->navGroup->execution = 'execution';
+$lang->navGroup->task = 'execution';
+
$lang->navGroup->sqlbuilder = 'system';
$lang->navGroup->auditcl = 'system';
$lang->navGroup->cmcl = 'system';
@@ -969,11 +966,6 @@ $lang->stakeholder->menu->list = array('link' => 'Stakeholder List|stakeholder|
$lang->stakeholder->menu->issue = array('link' => 'Issue|stakeholder|issue|');
$lang->nc->menu = $lang->auditplan->menu;
-$lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage');
-if($config->systemMode == 'classic')
-{
- $lang->noMenuModule[] = 'project';
- $lang->noMenuModule[] = 'task';
-}
+$lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'execution', 'task', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage');
include (dirname(__FILE__) . '/menuOrder.php');
diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php
index a1b98dba9d..6ae050cf22 100644
--- a/module/common/lang/zh-cn.php
+++ b/module/common/lang/zh-cn.php
@@ -116,11 +116,6 @@ $lang->workingHour = '工时';
$lang->sprintCommon = $lang->iterationCommon . '/阶段';
-$lang->execution = new stdclass();
-$lang->execution->common = '执行';
-$lang->execution->sprint = '迭代';
-$lang->execution->stage = '阶段';
-
$lang->idAB = 'ID';
$lang->priAB = 'P';
$lang->statusAB = '状态';
@@ -162,7 +157,7 @@ $lang->dividerMenu = ',qa,report,admin,';
/* Program set menu. */
$lang->program = new stdclass();
$lang->program->menu = new stdclass();
-//$lang->program->menu->index = '主页|program|index|';
+//$lang->program->menu->index = '仪表盘|program|index|';
$lang->program->menu->browse = array('link' => '项目集|program|browse|');
$lang->project = new stdclass();
@@ -191,10 +186,11 @@ $lang->personnel->menu->whitelist = array('link' => "白名单|personnel|whitel
/* Scrum menu. */
$lang->product = new stdclass();
$lang->product->menu = new stdclass();
-$lang->product->menu->home = '主页|product|index|';
+$lang->product->menu->home = '仪表盘|product|index|';
$lang->product->menu->list = array('link' => $lang->productCommon . '|product|all|', 'alias' => 'create,batchedit,manageline');
$lang->product->viewMenu = new stdclass();
+$lang->product->viewMenu->dashboard = array('link' => '仪表盘|product|dashboard|productID=%s');
if($config->URAndSR) $lang->product->viewMenu->requirement = array('link' => "$lang->URCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
$lang->product->viewMenu->story = array('link' => "$lang->SRCommon|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
$lang->product->viewMenu->plan = array('link' => "计划|productplan|browse|productID=%s", 'subModule' => 'productplan');
@@ -203,7 +199,6 @@ $lang->product->viewMenu->roadmap = '路线图|product|roadmap|productID=%s'
$lang->product->viewMenu->project = "项目|product|project|status=all&productID=%s";
$lang->product->viewMenu->track = array('link' => "矩阵|story|track|productID=%s");
$lang->product->viewMenu->doc = array('link' => '文档|doc|objectLibs|type=product&objectID=%s&from=product', 'subModule' => 'doc');
-$lang->product->viewMenu->dashboard = array('link' => '仪表盘|product|dashboard|productID=%s');
$lang->product->viewMenu->dynamic = '动态|product|dynamic|productID=%s';
$lang->product->viewMenu->set = array('link' => '设置|product|view|productID=%s', 'subModule' => 'tree,branch', 'alias' => 'edit');
@@ -252,7 +247,7 @@ $lang->searchObjects['caselib'] = '用例库';
$lang->searchObjects['testreport'] = '测试报告';
$lang->searchObjects['program'] = '项目集';
$lang->searchObjects['project'] = '项目';
-$lang->searchObjects['execution'] = $lang->execution->common;
+$lang->searchObjects['execution'] = $lang->executionCommon;
$lang->searchObjects['user'] = '用户';
$lang->searchTips = '编号(ctrl+g)';
@@ -339,43 +334,43 @@ $lang->story = new stdclass();
$lang->story->menu = $lang->product->menu;
/* 项目视图菜单设置。*/
-$lang->project = new stdclass();
-$lang->project->menu = new stdclass();
+$lang->execution = new stdclass();
+$lang->execution->menu = new stdclass();
-$lang->project->menu->task = array('link' => '任务|project|task|projectID=%s', 'subModule' => 'task,tree', 'alias' => 'importtask,importbug');
-$lang->project->menu->kanban = array('link' => '看板|project|kanban|projectID=%s');
-$lang->project->menu->burn = array('link' => '燃尽图|project|burn|projectID=%s');
-$lang->project->menu->view = array('link' => '视图|project|grouptask|projectID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover');
-$lang->project->menu->story = array('link' => "{$lang->SRCommon}|project|story|projectID=%s", 'subModule' => 'story', 'alias' => 'linkstory,storykanban');
-$lang->project->menu->bug = array('link' => 'Bug|project|bug|projectID=%s');
-$lang->project->menu->build = array('link' => '版本|project|build|projectID=%s', 'subModule' => 'build');
-$lang->project->menu->testtask = array('link' => '测试单|project|testtask|projectID=%s', 'subModule' => 'testreport,testtask');
-$lang->project->menu->doc = array('link' => '文档|doc|objectLibs|type=project&objectID=%s&from=project', 'subModule' => 'doc');
-$lang->project->menu->product = $lang->productCommon . '|project|manageproducts|projectID=%s';
-$lang->project->menu->team = array('link' => '团队|project|team|projectID=%s', 'alias' => 'managemembers');
-$lang->project->menu->more = array('link' => '更多|project|whitelist|projectID=%s', 'subModule' => 'personnel', 'alias' => 'edit', 'class' => 'dropdown dropdown-hover');
+$lang->execution->menu->task = array('link' => '任务|execution|task|executionID=%s', 'subModule' => 'task,tree', 'alias' => 'importtask,importbug');
+$lang->execution->menu->kanban = array('link' => '看板|execution|kanban|executionID=%s');
+$lang->execution->menu->burn = array('link' => '燃尽图|execution|burn|executionID=%s');
+$lang->execution->menu->view = array('link' => '视图|execution|grouptask|executionID=%s', 'alias' => 'grouptask,tree', 'class' => 'dropdown dropdown-hover');
+$lang->execution->menu->story = array('link' => "{$lang->SRCommon}|execution|story|executionID=%s", 'subModule' => 'story', 'alias' => 'linkstory,storykanban');
+$lang->execution->menu->bug = array('link' => 'Bug|execution|bug|executionID=%s');
+$lang->execution->menu->build = array('link' => '版本|execution|build|executionID=%s', 'subModule' => 'build');
+$lang->execution->menu->testtask = array('link' => '测试单|execution|testtask|executionID=%s', 'subModule' => 'testreport,testtask');
+$lang->execution->menu->doc = array('link' => '文档|doc|objectLibs|type=execution&objectID=%s&from=execution', 'subModule' => 'doc');
+$lang->execution->menu->product = $lang->productCommon . '|execution|manageproducts|executionID=%s';
+$lang->execution->menu->team = array('link' => '团队|execution|team|executionID=%s', 'alias' => 'managemembers');
+$lang->execution->menu->more = array('link' => '更多|execution|whitelist|executionID=%s', 'subModule' => 'personnel', 'alias' => 'edit', 'class' => 'dropdown dropdown-hover');
-$lang->project->subMenu = new stdclass();
-$lang->project->subMenu->view = new stdclass();
-$lang->project->subMenu->view->groupTask = '分组视图|project|grouptask|projectID=%s';
-$lang->project->subMenu->view->tree = '树状图|project|tree|projectID=%s';
+$lang->execution->subMenu = new stdclass();
+$lang->execution->subMenu->view = new stdclass();
+$lang->execution->subMenu->view->groupTask = '分组视图|execution|grouptask|executionID=%s';
+$lang->execution->subMenu->view->tree = '树状图|execution|tree|executionID=%s';
-$lang->project->subMenu->qa = new stdclass();
-$lang->project->subMenu->qa->bug = 'Bug|project|bug|projectID=%s';
-$lang->project->subMenu->qa->build = array('link' => '版本|project|build|projectID=%s', 'subModule' => 'build');
-$lang->project->subMenu->qa->testtask = array('link' => '测试单|project|testtask|projectID=%s', 'subModule' => 'testreport,testtask');
+$lang->execution->subMenu->qa = new stdclass();
+$lang->execution->subMenu->qa->bug = 'Bug|execution|bug|executionID=%s';
+$lang->execution->subMenu->qa->build = array('link' => '版本|execution|build|executionID=%s', 'subModule' => 'build');
+$lang->execution->subMenu->qa->testtask = array('link' => '测试单|execution|testtask|executionID=%s', 'subModule' => 'testreport,testtask');
-$lang->project->subMenu->more = new stdclass();
-$lang->project->subMenu->more->whitelist = array('link' => '白名单|project|whitelist|projectID=%s', 'subModule' => 'personnel', 'alias' => 'addwhitelist');
-$lang->project->subMenu->more->action = array('link' => '动态|project|dynamic|projectID=%s');
-$lang->project->subMenu->more->view = array('link' => '概况|project|view|projectID=%s', 'subModule' => 'view', 'alias' => 'edit,start,suspend,putoff,close');
+$lang->execution->subMenu->more = new stdclass();
+$lang->execution->subMenu->more->whitelist = array('link' => '白名单|execution|whitelist|executionID=%s', 'subModule' => 'personnel', 'alias' => 'addwhitelist');
+$lang->execution->subMenu->more->action = array('link' => '动态|execution|dynamic|executionID=%s');
+$lang->execution->subMenu->more->view = array('link' => '概况|execution|view|executionID=%s', 'subModule' => 'view', 'alias' => 'edit,start,suspend,putoff,close');
-$lang->project->dividerMenu = ',project,programplan,projectbuild,story,doc,other,';
+$lang->execution->dividerMenu = ',execution,programplan,executionbuild,story,doc,other,';
$lang->task = new stdclass();
$lang->build = new stdclass();
-$lang->task->menu = $lang->project->menu;
-$lang->build->menu = $lang->project->menu;
+$lang->task->menu = $lang->execution->menu;
+$lang->build->menu = $lang->execution->menu;
/* QA视图菜单设置。*/
$lang->qa = new stdclass();
@@ -636,7 +631,6 @@ $lang->navGroup->story = 'product';
$lang->navGroup->tree = 'product';
$lang->navGroup->project = 'project';
-$lang->navGroup->task = 'project';
$lang->navGroup->qa = 'project';
$lang->navGroup->bug = 'project';
$lang->navGroup->doc = 'project';
@@ -667,6 +661,9 @@ $lang->navGroup->compile = 'project';
$lang->navGroup->report = 'project';
$lang->navGroup->measrecord = 'project';
+$lang->navGroup->execution = 'execution';
+$lang->navGroup->task = 'execution';
+
$lang->navGroup->sqlbuilder = 'system';
$lang->navGroup->auditcl = 'system';
$lang->navGroup->cmcl = 'system';
@@ -969,11 +966,6 @@ $lang->stakeholder->menu->list = array('link' => '干系人列表|stakeholder|b
$lang->stakeholder->menu->issue = array('link' => '问题管理|stakeholder|issue|');
$lang->nc->menu = $lang->auditplan->menu;
-$lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage');
-if($config->systemMode == 'classic')
-{
- $lang->noMenuModule[] = 'project';
- $lang->noMenuModule[] = 'task';
-}
+$lang->noMenuModule = array('report', 'my', 'todo', 'effort', 'program', 'product', 'execution', 'task', 'productplan', 'projectbuild', 'projectrelease', 'projectstory', 'story', 'branch', 'release', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'custom', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'pssp', 'sms', 'message', 'webhook', 'search', 'score', 'stage');
include (dirname(__FILE__) . '/menuOrder.php');
diff --git a/module/common/lang/zh-tw.php b/module/common/lang/zh-tw.php
index a529d7af8d..23c7bc25ba 100644
--- a/module/common/lang/zh-tw.php
+++ b/module/common/lang/zh-tw.php
@@ -117,7 +117,7 @@ $lang->workingHour = '工時';
$lang->sprintCommon = $lang->iterationCommon . '/階段';
$lang->execution = new stdclass();
-$lang->execution->common = '執行';
+$lang->executionCommon = '執行';
$lang->execution->sprint = '迭代';
$lang->execution->stage = '階段';
@@ -162,7 +162,7 @@ $lang->dividerMenu = ',qa,report,admin,';
/* Program set menu. */
$lang->program = new stdclass();
$lang->program->menu = new stdclass();
-//$lang->program->menu->index = '主頁|program|index|';
+//$lang->program->menu->index = '儀錶盤|program|index|';
$lang->program->menu->browse = array('link' => '項目集|program|browse|');
$lang->project = new stdclass();
@@ -191,10 +191,11 @@ $lang->personnel->menu->putinto = array('link' => "投入人員|personnel|put
/* Scrum menu. */
$lang->product = new stdclass();
$lang->product->menu = new stdclass();
-$lang->product->menu->home = '主頁|product|index|';
+$lang->product->menu->home = '儀錶盤|product|index|';
$lang->product->menu->list = array('link' => $lang->productCommon . '|product|all|', 'alias' => 'create,batchedit,manageline');
$lang->product->viewMenu = new stdclass();
+$lang->product->viewMenu->dashboard = array('link' => '儀表盤|product|dashboard|productID=%s');
if($config->URAndSR) $lang->product->viewMenu->requirement = array('link' => "$lang->URCommon|product|browse|productID=%s&branch=&browseType=unclosed¶m=0&storyType=requirement", 'alias' => 'batchedit', 'subModule' => 'story');
$lang->product->viewMenu->story = array('link' => "$lang->SRCommon|product|browse|productID=%s", 'alias' => 'batchedit', 'subModule' => 'story');
$lang->product->viewMenu->plan = array('link' => "計劃|productplan|browse|productID=%s", 'subModule' => 'productplan');
@@ -203,7 +204,6 @@ $lang->product->viewMenu->roadmap = '路線圖|product|roadmap|productID=%s'
$lang->product->viewMenu->project = "項目|product|project|status=all&productID=%s";
$lang->product->viewMenu->track = array('link' => "矩陣|story|track|productID=%s");
$lang->product->viewMenu->doc = array('link' => '文檔|doc|objectLibs|type=product&objectID=%s&from=product', 'subModule' => 'doc');
-$lang->product->viewMenu->dashboard = array('link' => '儀表盤|product|dashboard|productID=%s');
$lang->product->viewMenu->dynamic = '動態|product|dynamic|productID=%s';
$lang->product->viewMenu->set = array('link' => '設置|product|view|productID=%s', 'subModule' => 'tree,branch', 'alias' => 'edit');
@@ -252,7 +252,7 @@ $lang->searchObjects['caselib'] = '用例庫';
$lang->searchObjects['testreport'] = '測試報告';
$lang->searchObjects['program'] = '項目集';
$lang->searchObjects['project'] = '項目';
-$lang->searchObjects['execution'] = $lang->execution->common;
+$lang->searchObjects['execution'] = $lang->executionCommon;
$lang->searchObjects['user'] = '用戶';
$lang->searchTips = '編號(ctrl+g)';
@@ -332,7 +332,7 @@ $lang->my->dividerMenu = ',myProject,team,';
$lang->todo = new stdclass();
$lang->todo->menu = $lang->my->menu;
-$lang->product->dividerMenu = ',plan,project,dashboard,';
+$lang->product->dividerMenu = ',requirement,set,';
$lang->story = new stdclass();
diff --git a/module/common/model.php b/module/common/model.php
index e072de46c5..7a3e937e6d 100644
--- a/module/common/model.php
+++ b/module/common/model.php
@@ -452,13 +452,13 @@ class commonModel extends model
}
/**
- * Init submenu for program menu.
+ * Init submenu for project menu.
*
* @static
* @access public
* @return array
*/
- public static function initProgramSubmenu()
+ public static function initProjectSubmenu()
{
global $lang, $app;
$moduleName = $app->getModuleName();
@@ -2362,9 +2362,21 @@ EOD;
$lang->menu = $lang->feedback->menu;
$lang->menuOrder = $lang->feedback->menuOrder;
}
+ if($group == 'execution')
+ {
+ $lang->menu = $lang->execution->menu;
+ $lang->menuOrder = $lang->execution->menuOrder;
+ }
if($group == 'project')
{
- $lang->menu = $config->systemMode == 'new' ? self::getProgramMainMenu($moduleName) : $lang->project->menu;
+ if($config->systemMode == 'classic' or $methodName == 'browse')
+ {
+ $lang->menu = $lang->project->menu;
+ }
+ else
+ {
+ $lang->menu = self::getProjectMainMenu($moduleName);
+ }
}
}
@@ -2404,21 +2416,21 @@ EOD;
}
/**
- * Get program main menu by model.
+ * Get project main menu by model.
*
* @param string $moduleName
* @static
* @access public
* @return string
*/
- public static function getProgramMainMenu($moduleName)
+ public static function getProjectMainMenu($moduleName)
{
global $app, $lang, $dbh, $config;
- $program = $dbh->query("SELECT * FROM " . TABLE_PROGRAM . " WHERE `id` = '{$app->session->project}'")->fetch();
- if(empty($program)) return;
+ $project = $dbh->query("SELECT * FROM " . TABLE_PROJECT . " WHERE `id` = '{$app->session->project}'")->fetch();
+ if(empty($project)) return;
- self::initProgramSubmenu();
- if($program->model == 'scrum')
+ self::initProjectSubmenu();
+ if($project->model == 'scrum')
{
$lang->menuOrder = $lang->scrum->menuOrder;
@@ -2427,7 +2439,7 @@ EOD;
return self::processMenuVars($lang->menu->scrum);
}
- if($program->model == 'waterfall')
+ if($project->model == 'waterfall')
{
$lang->project->dividerMenu = str_replace(',project,', ',', $lang->project->dividerMenu);
$lang->release->menu = new stdclass();
diff --git a/module/custom/view/header.html.php b/module/custom/view/header.html.php
index 2e24bc09e3..6d42524884 100644
--- a/module/custom/view/header.html.php
+++ b/module/custom/view/header.html.php
@@ -4,6 +4,7 @@
custom->object as $object => $name)
{
+ if(strpos('story|todo|block', $object) !== false) echo "
";
if(strpos('execution|product', $object) !== false) common::printLink('custom', $object, "", "
{$lang->custom->$object}", '', "class='btn btn-link' id='{$object}Tab'");
if(strpos('execution|product', $object) === false) common::printLink('custom', 'set', "module=$object&field=" . key($lang->custom->{$object}->fields), "
{$name}", '', "class='btn btn-link' id='{$object}Tab'");
}
diff --git a/module/doc/model.php b/module/doc/model.php
index a79c8ec4b7..2e62a0a48c 100644
--- a/module/doc/model.php
+++ b/module/doc/model.php
@@ -1078,7 +1078,7 @@ class docModel extends model
$productOrderLibs[$productID]['name'] = $productName;
$productOrderLibs[$productID]['status'] = $product->status;
foreach($productLibs[$productID] as $libID => $libName) $productOrderLibs[$productID]['libs'][$libID] = $libName;
- if(isset($hasProject[$productID]) and $hasLibsPriv) $productOrderLibs[$productID]['libs']['project'] = $this->lang->doclib->project;
+ if(isset($hasProject[$productID]) and $hasLibsPriv) $productOrderLibs[$productID]['libs']['project'] = $this->lang->doclib->execution;
if($hasFilesPriv) $productOrderLibs[$productID]['libs']['files'] = $this->lang->doclib->files;
}
}
diff --git a/module/execution/control.php b/module/execution/control.php
index a03498b20d..fac59d2ded 100644
--- a/module/execution/control.php
+++ b/module/execution/control.php
@@ -42,7 +42,7 @@ class execution extends control
if(!in_array($this->methodName, array('computeburn', 'ajaxgetrecentexecutions')))
{
- $this->executions = $this->execution->getPairs($this->session->project, 'all', 'nocode');
+ $this->executions = $this->execution->getPairs(0, 'all', 'nocode');
if(!$this->executions and $this->methodName != 'index' and $this->methodName != 'create' and $this->app->getViewType() != 'mhtml') $this->locate($this->createLink('execution', 'create'));
}
$this->objectType = $this->config->systemMode == 'classic' ? 'project' : 'execution';
@@ -282,7 +282,7 @@ class execution extends control
if(empty($groupBy))$groupBy = 'story';
if(($groupBy == 'story') and ($execution->type == 'ops'))$groupBy = 'status';
$sort = $this->loadModel('common')->appendOrder($groupBy);
- $tasks = $this->loadModel('task')->getTasks($executionID, $productID = 0, $status = 'all', $modules = 0, $sort);
+ $tasks = $this->loadModel('task')->getExecutionTasks($executionID, $productID = 0, $status = 'all', $modules = 0, $sort);
$groupBy = str_replace('`', '', $groupBy);
$taskLang = $this->lang->task;
$groupByList = array();
@@ -738,7 +738,7 @@ class execution extends control
$this->app->loadClass('pager', $static = true);
$pager = new pager($recTotal, $recPerPage, $pageID);
- $stories = $this->story->getStories($executionID, 0, 0, $sort, $type, $param, 'story', '', $pager);
+ $stories = $this->story->getExecutionStories($executionID, 0, 0, $sort, $type, $param, 'story', '', $pager);
$this->loadModel('common')->saveQueryCondition($this->dao->get(), 'story', false);
$users = $this->user->getPairs('noletter');
@@ -790,21 +790,21 @@ 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);
/* Assign. */
$this->view->title = $title;
$this->view->position = $position;
$this->view->productID = $productID;
- $this->view->execution = $execution;
+ $this->view->execution = $execution;
$this->view->stories = $stories;
$this->view->allPlans = $allPlans;
$this->view->summary = $this->product->summary($stories);
$this->view->orderBy = $orderBy;
$this->view->type = $this->session->executionStoryBrowseType;
$this->view->param = $param;
- $this->view->moduleTree = $this->loadModel('tree')->getStoryTreeMenu($executionID, $startModuleID = 0, array('treeModel', 'createExecutionStoryLink'));
+ $this->view->moduleTree = $this->loadModel('tree')->getProjectStoryTreeMenu($executionID, $startModuleID = 0, array('treeModel', 'createExecutionStoryLink'));
$this->view->tabID = 'story';
$this->view->storyTasks = $storyTasks;
$this->view->storyBugs = $storyBugs;
@@ -857,7 +857,7 @@ class execution extends control
$this->app->loadClass('pager', $static = true);
$pager = new pager($recTotal, $recPerPage, $pageID);
$sort = $this->loadModel('common')->appendOrder($orderBy);
- $bugs = $this->bug->getBugs($executionID, $build, $type, $param, $sort, '', $pager);
+ $bugs = $this->bug->getExecutionBugs($executionID, $build, $type, $param, $sort, '', $pager);
$users = $this->user->getPairs('noletter');
/* team member pairs. */
@@ -917,7 +917,7 @@ class execution extends control
$type = strtolower($type);
$queryID = ($type == 'bysearch') ? (int)$param : 0;
$actionURL = $this->createLink('execution', 'build', "executionID=$executionID&type=bysearch&queryID=myQueryID");
- $this->execution->buildExecutionBuildSearchForm($products, $queryID, $actionURL, 'execution');
+ $this->project->buildProjectBuildSearchForm($products, $queryID, $actionURL, 'execution');
/* Get builds. */
if($type == 'bysearch')
@@ -926,7 +926,7 @@ class execution extends control
}
else
{
- $builds = $this->loadModel('build')->getBuilds((int)$executionID, $type, $param);
+ $builds = $this->loadModel('build')->getExecutionBuilds((int)$executionID, $type, $param);
}
/* Set execution builds. */
@@ -978,7 +978,7 @@ class execution extends control
$productTasks = array();
- $tasks = $this->testtask->getTasks($executionID, $orderBy, $pager);
+ $tasks = $this->testtask->getExecutionTasks($executionID, $orderBy, $pager);
foreach($tasks as $key => $task) $productTasks[$task->product][] = $task;
$this->view->title = $this->executions[$executionID] . $this->lang->colon . $this->lang->testtask->common;
@@ -1306,7 +1306,7 @@ class execution extends control
$position[] = $this->lang->execution->edit;
$allProducts = array(0 => '');
- $executionProsucts = $this->execution->getProducts($execution->execution);
+ $executionProsucts = $this->execution->getProducts($execution->project);
foreach($executionProsucts as $product) $allProducts[$product->id] = $product->name;
$linkedProducts = $this->execution->getProducts($execution->id);
@@ -1316,7 +1316,7 @@ class execution extends control
$unmodifiableProducts = array();
foreach($linkedProducts as $productID => $linkedProduct)
{
- $executionStories = $this->dao->select('*')->from(TABLE_PROJECTSTORY)->where('execution')->eq($executionID)->andWhere('product')->eq($productID)->fetchAll('story');
+ $executionStories = $this->dao->select('*')->from(TABLE_PROJECTSTORY)->where('project')->eq($executionID)->andWhere('product')->eq($productID)->fetchAll('story');
if(!empty($executionStories)) array_push($unmodifiableProducts, $productID);
}
@@ -1718,8 +1718,8 @@ class execution extends control
$this->execution->setMenu($this->executions, $executionID);
$execution = $this->loadModel('execution')->getById($executionID);
$tasks = $this->execution->getKanbanTasks($executionID, "id");
- $bugs = $this->loadModel('bug')->getBugs($executionID);
- $stories = $this->loadModel('story')->getStories($executionID, 0, 0, $orderBy);
+ $bugs = $this->loadModel('bug')->getExecutionBugs($executionID);
+ $stories = $this->loadModel('story')->getExecutionStories($executionID, 0, 0, $orderBy);
/* Determines whether an object is editable. */
$canBeChanged = common::canModify('execution', $execution);
@@ -2031,7 +2031,7 @@ class execution extends control
$position[] = html::a($browseExecutionLink, $execution->name);
$position[] = $this->lang->execution->manageProducts;
- $allProducts = $this->product->getProductPairsByExecution($execution->execution);
+ $allProducts = $this->product->getProductPairsByProject($execution->project);
$linkedProducts = $this->execution->getProducts($execution->id);
$linkedBranches = array();
@@ -2039,7 +2039,7 @@ class execution extends control
$unmodifiableProducts = array();
foreach($linkedProducts as $productID => $linkedProduct)
{
- $executionStories = $this->dao->select('*')->from(TABLE_PROJECTSTORY)->where('execution')->eq($executionID)->andWhere('product')->eq($productID)->fetchAll('story');
+ $executionStories = $this->dao->select('*')->from(TABLE_PROJECTSTORY)->where('project')->eq($executionID)->andWhere('product')->eq($productID)->fetchAll('story');
if(!empty($executionStories)) array_push($unmodifiableProducts, $productID);
}
@@ -2481,12 +2481,12 @@ class execution extends control
{
$execution = $this->execution->getByID($executionID);
- $this->view->link = $this->execution->getLink($module, $method, $extra);
+ $this->view->link = $this->execution->getLink($module, $method, $extra);
$this->view->executionID = $executionID;
- $this->view->module = $module;
- $this->view->method = $method;
- $this->view->extra = $extra;
- $this->view->executions = $this->execution->getsByExecution($execution->execution);
+ $this->view->module = $module;
+ $this->view->method = $method;
+ $this->view->extra = $extra;
+ $this->view->executions = $this->execution->getByProject($execution->project);
$this->display();
}
@@ -2558,10 +2558,10 @@ class execution extends control
$idList = explode(',', trim($this->post->storys, ','));
$orderBy = $this->post->orderBy;
- $order = $this->dao->select('*')->from(TABLE_PROJECTSTORY)->where('story')->in($idList)->andWhere('execution')->eq($executionID)->orderBy('order_asc')->fetch('order');
+ $order = $this->dao->select('*')->from(TABLE_PROJECTSTORY)->where('story')->in($idList)->andWhere('project')->eq($executionID)->orderBy('order_asc')->fetch('order');
foreach($idList as $storyID)
{
- $this->dao->update(TABLE_PROJECTSTORY)->set('`order`')->eq($order)->where('story')->eq($storyID)->andWhere('execution')->eq($executionID)->exec();
+ $this->dao->update(TABLE_PROJECTSTORY)->set('`order`')->eq($order)->where('story')->eq($storyID)->andWhere('project')->eq($executionID)->exec();
$order++;
}
}
diff --git a/module/execution/lang/de.php b/module/execution/lang/de.php
index 7b1d83ef5e..b8fb7739dd 100644
--- a/module/execution/lang/de.php
+++ b/module/execution/lang/de.php
@@ -11,7 +11,7 @@
*/
/* Fields. */
$lang->project->common = $lang->executionCommon;
-$lang->project->allProjects = 'Alle';
+$lang->project->allExecutions = 'Alle';
$lang->project->id = $lang->executionCommon . ' ID';
$lang->project->type = 'Typ';
$lang->project->name = 'Name';
diff --git a/module/execution/lang/en.php b/module/execution/lang/en.php
index 11b7297dd5..3c16f5b37e 100644
--- a/module/execution/lang/en.php
+++ b/module/execution/lang/en.php
@@ -10,8 +10,8 @@
* @link http://www.zentao.net
*/
/* Fields. */
-$lang->execution->common = $lang->executionCommon;
-$lang->execution->allProjects = 'All ' . $lang->executionCommon . 's';
+$lang->executionCommon = $lang->executionCommon;
+$lang->execution->allExecutions = 'All ' . $lang->executionCommon . 's';
$lang->execution->id = $lang->executionCommon . ' ID';
$lang->execution->type = 'Type';
$lang->execution->name = "{$lang->executionCommon} Name";
diff --git a/module/execution/lang/fr.php b/module/execution/lang/fr.php
index 28fc3c701a..3e075ee646 100644
--- a/module/execution/lang/fr.php
+++ b/module/execution/lang/fr.php
@@ -11,7 +11,7 @@
*/
/* Fields. */
$lang->project->common = $lang->executionCommon;
-$lang->project->allProjects = 'Tous les ' . $lang->executionCommon . 's';
+$lang->project->allExecutions = 'Tous les ' . $lang->executionCommon . 's';
$lang->project->id = $lang->executionCommon . ' ID';
$lang->project->type = 'Type';
$lang->project->name = "Nom du {$lang->executionCommon}";
diff --git a/module/execution/lang/vi.php b/module/execution/lang/vi.php
index 2ebdccc298..188a86fb74 100644
--- a/module/execution/lang/vi.php
+++ b/module/execution/lang/vi.php
@@ -11,7 +11,7 @@
*/
/* Fields. */
$lang->project->common = $lang->executionCommon;
-$lang->project->allProjects = 'Tất cả ' . $lang->executionCommon;
+$lang->project->allExecutions = 'Tất cả ' . $lang->executionCommon;
$lang->project->id = 'ID '.$lang->executionCommon;
$lang->project->type = 'Loại';
$lang->project->name = "Tên {$lang->executionCommon}";
diff --git a/module/execution/lang/zh-cn.php b/module/execution/lang/zh-cn.php
index 264d28a006..fc2aaa6ee0 100644
--- a/module/execution/lang/zh-cn.php
+++ b/module/execution/lang/zh-cn.php
@@ -10,8 +10,8 @@
* @link http://www.zentao.net
*/
/* 字段列表。*/
-$lang->execution->common = $lang->executionCommon . '视图';
-$lang->execution->allProjects = '所有' . $lang->executionCommon;
+$lang->executionCommon = $lang->executionCommon;
+$lang->execution->allExecutions = '所有' . $lang->executionCommon;
$lang->execution->id = $lang->executionCommon . '编号';
$lang->execution->type = $lang->executionCommon . '类型';
$lang->execution->name = $lang->executionCommon . '名称';
diff --git a/module/execution/model.php b/module/execution/model.php
index 4e044607a9..4ee22c0290 100644
--- a/module/execution/model.php
+++ b/module/execution/model.php
@@ -83,6 +83,7 @@ class executionModel extends model
$products = $this->loadModel('product')->getPairs();
/* Unset story, bug, build and testtask if type is ops. */
+ $execution = $this->getByID($executionID);
if($execution and $execution->lifetime == 'ops')
{
unset($this->lang->execution->menu->story);
@@ -278,6 +279,7 @@ class executionModel extends model
if(empty($executionID) and isset($this->config->execution->lastExecution) and isset($executions[$this->config->execution->lastExecution]))
{
$this->session->set('execution', $this->config->execution->lastExecution);
+ $this->setProjectSession($this->session->execution);
return $this->session->execution;
}
@@ -295,9 +297,23 @@ class executionModel extends model
$this->session->set('execution', key($executions));
if($executionID && strpos(",{$this->app->user->view->sprints},", ",{$this->session->execution},") === false) $this->accessDenied();
}
+
+ $this->setProjectSession($this->session->execution);
return $this->session->execution;
}
+ /**
+ * Set project into session.
+ *
+ * @param int $executionID
+ * @access public
+ * @return void
+ */
+ public function setProjectSession($executionID)
+ {
+ $execution = $this->getByID($executionID);
+ $this->session->set('project', $execution->project);
+ }
/**
* Create a execution.
*
@@ -821,7 +837,7 @@ class executionModel extends model
if($type == 'create' or $oldExecution->grade == 1)
{
$oldPercentTotal = $this->dao->select('SUM(t2.percent) as total')->from(TABLE_PROJECTPRODUCT)->alias('t1')
- ->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.execution=t2.id')
+ ->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.project=t2.id')
->where('t1.product')->eq($this->post->products[0])
->andWhere('t2.type')->eq('stage')
->andWhere('t2.grade')->eq(1)
@@ -883,7 +899,7 @@ class executionModel extends model
/* Order by status's content whether or not done */
$executions = $this->dao->select('*, IF(INSTR("done,closed", status) < 2, 0, 1) AS isDone, INSTR("doing,wait,suspended,closed", status) AS sortStatus')->from(TABLE_EXECUTION)
->where('deleted')->eq(0)
- ->beginIF(!$projectID && $type == 'all' && $this->config->systemMode == 'new')->andWhere('type')->in('stage,sprint')->fi()
+ ->beginIF($type == 'all' && $this->config->systemMode == 'new')->andWhere('type')->in('stage,sprint')->fi()
->beginIF($projectID && $this->config->systemMode == 'new')->andWhere('project')->eq($projectID)->fi()
->beginIF($type != 'all' && $this->config->systemMode == 'new')->andWhere('type')->eq($type)->fi()
->beginIF(strpos($mode, 'withdelete') === false)->andWhere('deleted')->eq(0)->fi()
@@ -941,7 +957,7 @@ class executionModel extends model
if($productID != 0)
{
return $this->dao->select('t2.*')->from(TABLE_PROJECTPRODUCT)->alias('t1')
- ->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.execution = t2.id')
+ ->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.project= t2.id')
->where('t1.product')->eq($productID)
->beginIF($projectID)->andWhere('t2.project')->eq($projectID)->fi()
->beginIF($type == 'all')->andWhere('t2.type')->in('sprint,stage,kanban')->fi()
@@ -987,7 +1003,7 @@ class executionModel extends model
if($productID != 0)
{
return $this->dao->select('t2.*')->from(TABLE_PROJECTPRODUCT)->alias('t1')
- ->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.execution = t2.id')
+ ->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.project= t2.id')
->leftJoin(TABLE_TEAM)->alias('t3')->on('t3.root=t2.id')
->where('t1.product')->eq($productID)
->andWhere('t2.deleted')->eq(0)
@@ -1067,7 +1083,7 @@ class executionModel extends model
if(isset($project->model) and $project->model == 'waterfall')
{
$executionList = array();
- $executionProducts = $this->dao->select('t1.execution,t1.product')->from(TABLE_PROJECTPRODUCT)->alias('t1')
+ $executionProducts = $this->dao->select('t1.project,t1.product')->from(TABLE_PROJECTPRODUCT)->alias('t1')
->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product=t2.id')
->where('project')->in(array_keys($executions))
->andWhere('t2.deleted')->eq(0)
@@ -1219,7 +1235,7 @@ class executionModel extends model
$products = array_keys($products);
return $this->dao->select('t1.id, t1.name')->from(TABLE_EXECUTION)->alias('t1')
->leftJoin(TABLE_PROJECTPRODUCT)->alias('t2')
- ->on('t1.id = t2.execution')
+ ->on('t1.id = t2.project')
->where('t2.product')->in($products)
->andWhere('t1.id')->ne((int)$executionID)
->andWhere('t1.deleted')->eq(0)
@@ -1270,7 +1286,7 @@ class executionModel extends model
public function getProductGroupList()
{
$list = $this->dao->select('t1.id, t1.name,t1.status, t2.product')->from(TABLE_EXECUTION)->alias('t1')
- ->leftJoin(TABLE_PROJECTPRODUCT)->alias('t2')->on('t1.id = t2.execution')
+ ->leftJoin(TABLE_PROJECTPRODUCT)->alias('t2')->on('t1.id = t2.project')
->where('t1.deleted')->eq(0)
->beginIF(!$this->app->user->admin)->andWhere('t1.id')->in($this->app->user->view->sprints)->fi()
->fetchGroup('product');
@@ -1433,7 +1449,7 @@ class executionModel extends model
{
$managers = $this->dao->select('PO,QD,RD')->from(TABLE_PRODUCT)->alias('t1')
->leftJoin(TABLE_PROJECTPRODUCT)->alias('t2')->on('t1.id = t2.product')
- ->where('t2.execution')->eq($executionID)
+ ->where('t2.project')->eq($executionID)
->fetch();
if($managers) return $managers;
@@ -1554,7 +1570,7 @@ class executionModel extends model
$this->config->product->search['fields']['title'] = str_replace($this->lang->SRCommon, $this->lang->SRCommon, $this->lang->story->title);
$this->config->product->search['actionURL'] = $actionURL;
$this->config->product->search['queryID'] = $queryID;
- $this->config->product->search['params']['product']['values'] = $productPairs + array('all' => $this->lang->product->allProductsOfExecution);
+ $this->config->product->search['params']['product']['values'] = $productPairs + array('all' => $this->lang->product->allProductsOfProject);
$this->config->product->search['params']['plan']['values'] = $this->loadModel('productplan')->getForProducts($products);
$this->config->product->search['params']['module']['values'] = $modules;
unset($this->lang->story->statusList['draft']);
@@ -1608,9 +1624,9 @@ class executionModel extends model
public function updateProducts($executionID, $products = '')
{
$this->loadModel('user');
- $products = isset($_POST['products']) ? $_POST['products'] : $products;
- $oldExecutionProducts = $this->dao->select('*')->from(TABLE_PROJECTPRODUCT)->where('execution')->eq((int)$executionID)->fetchGroup('product', 'branch');
- $this->dao->delete()->from(TABLE_PROJECTPRODUCT)->where('execution')->eq((int)$executionID)->exec();
+ $products = isset($_POST['products']) ? $_POST['products'] : $products;
+ $oldExecutionProducts = $this->dao->select('*')->from(TABLE_PROJECTPRODUCT)->where('project')->eq((int)$executionID)->fetchGroup('product', 'branch');
+ $this->dao->delete()->from(TABLE_PROJECTPRODUCT)->where('project')->eq((int)$executionID)->exec();
$members = array_keys($this->getTeamMembers($executionID));
if(empty($products))
{
@@ -1636,7 +1652,7 @@ class executionModel extends model
}
$data = new stdclass();
- $data->execution = $executionID;
+ $data->project = $executionID;
$data->product = $productID;
$data->branch = $branch;
$data->plan = isset($plans[$productID]) ? $plans[$productID] : $oldPlan;
@@ -1644,10 +1660,6 @@ class executionModel extends model
$existedProducts[$productID] = true;
}
- /* Delete the execution linked products that is not linked with the execution. */
- $executions = $this->dao->select('id')->from(TABLE_EXECUTION)->where('execution')->eq((int)$executionID)->fetchPairs('id');
- $this->dao->delete()->from(TABLE_PROJECTPRODUCT)->where('execution')->in($executions)->andWhere('product')->notin($products)->exec();
-
$oldProductKeys = array_keys($oldExecutionProducts);
$needUpdate = array_merge(array_diff($oldProductKeys, $products), array_diff($products, $oldProductKeys));
if($needUpdate) $this->user->updateUserView($needUpdate, 'product', $members);
@@ -1667,10 +1679,10 @@ class executionModel extends model
if(empty($products)) return array();
$execution = $this->getById($toExecution);
- $executions = $this->dao->select('t1.product, t1.execution')->from(TABLE_PROJECTPRODUCT)->alias('t1')
- ->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.execution=t2.id')
+ $executions = $this->dao->select('t1.product, t1.project')->from(TABLE_PROJECTPRODUCT)->alias('t1')
+ ->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.project=t2.id')
->where('t1.product')->in(array_keys($products))
- ->andWhere('t2.execution')->eq($execution->execution)
+ ->andWhere('t2.project')->eq($execution->execution)
->fetchGroup('execution');
$branches = str_replace(',', "','", $branches);
@@ -1769,7 +1781,7 @@ class executionModel extends model
{
$storyCount = $this->dao->select('count(t2.story) as storyCount')->from(TABLE_STORY)->alias('t1')
->leftJoin(TABLE_PROJECTSTORY)->alias('t2')->on('t1.id = t2.story')
- ->where('t2.execution')->eq($executionID)
+ ->where('t2.project')->eq($executionID)
->andWhere('t1.deleted')->eq(0)
->fetch('storyCount');
@@ -2318,7 +2330,7 @@ class executionModel extends model
{
$teamMember = $this->dao->select('t1.id, t2.account')->from(TABLE_EXECUTION)->alias('t1')
->leftJoin(TABLE_TEAM)->alias('t2')->on('t1.id = t2.root')
- ->where('t1.execution')->eq($sprint->execution)
+ ->where('t1.project')->eq($sprint->project)
->andWhere('t1.type')->eq($sprint->type)
->andWhere('t2.account')->eq($account)
->fetch();
@@ -2373,10 +2385,10 @@ class executionModel extends model
->orWhere('status')->eq('closed')
->groupBy('execution')
->fetchAll('execution');
- $storyPoints = $this->dao->select('t1.execution, sum(t2.estimate) AS `storyPoint`')->from(TABLE_PROJECTSTORY)->alias('t1')
+ $storyPoints = $this->dao->select('t1.project, sum(t2.estimate) AS `storyPoint`')->from(TABLE_PROJECTSTORY)->alias('t1')
->leftJoin(TABLE_STORY)->alias('t2')->on('t1.story = t2.id')
->leftJoin(TABLE_PRODUCT)->alias('t3')->on('t2.product = t3.id')
- ->where('t1.execution')->in(array_keys($executions))
+ ->where('t1.project')->in(array_keys($executions))
->andWhere('t2.deleted')->eq(0)
->andWhere('t2.status')->ne('closed')
->andWhere('t2.stage')->in('wait,planned,executioned,developing')
@@ -2803,7 +2815,7 @@ class executionModel extends model
$this->config->bug->search['actionURL'] = $actionURL;
$this->config->bug->search['queryID'] = $queryID;
unset($this->config->bug->search['fields']['execution']);
- $this->config->bug->search['params']['product']['values'] = $productPairs + array('all' => $this->lang->product->allProductsOfExecution);
+ $this->config->bug->search['params']['product']['values'] = $productPairs + array('all' => $this->lang->product->allProductsOfProject);
$this->config->bug->search['params']['plan']['values'] = $this->loadModel('productplan')->getForProducts($products);
$this->config->bug->search['params']['module']['values'] = $modules;
$this->config->bug->search['params']['openedBuild']['values'] = $builds;
@@ -2837,7 +2849,7 @@ class executionModel extends model
{
$this->config->execution->search['actionURL'] = $actionURL;
$this->config->execution->search['queryID'] = $queryID;
- $this->config->execution->search['params']['execution']['values'] = array(''=>'', $executionID => $executions[$executionID], 'all' => $this->lang->execution->allExecution);
+ $this->config->execution->search['params']['execution']['values'] = array(''=>'', $executionID => $executions[$executionID], 'all' => $this->lang->execution->allExecutions);
$showAllModule = isset($this->config->execution->task->allModule) ? $this->config->execution->task->allModule : '';
$this->config->execution->search['params']['module']['values'] = $this->loadModel('tree')->getTaskOptionMenu($executionID, 0, 0, $showAllModule ? 'allModule' : '');
@@ -3152,7 +3164,7 @@ class executionModel extends model
{
$stories = $this->dao->select('t2.*, t1.version as taskVersion')->from(TABLE_PROJECTSTORY)->alias('t1')
->leftJoin(TABLE_STORY)->alias('t2')->on('t1.story = t2.id')
- ->where('t1.execution')->eq((int)$executionID)
+ ->where('t1.project')->eq((int)$executionID)
->andWhere('t2.deleted')->eq(0)
->orderBy('t1.`order`_desc')
->fetchAll();
@@ -3435,7 +3447,7 @@ class executionModel extends model
->where('t1.type')->in('stage,sprint')
->andWhere('t2.account')->eq($this->app->user->account)
->beginIF(!$this->app->user->admin)->andWhere('t1.id')->in($this->app->user->view->sprints)->fi()
- ->beginIF(!$this->app->user->admin)->andWhere('t1.execution')->in($this->app->user->view->executions)->fi()
+ ->beginIF(!$this->app->user->admin)->andWhere('t1.project')->in($this->app->user->view->projects)->fi()
->andWhere('t1.status')->ne('closed')
->andWhere('t1.deleted')->eq('0')
->orderBy('execution_desc, id_desc')
@@ -3480,9 +3492,9 @@ class executionModel extends model
*/
public function getStageLinkProductPairs($stageIdList = array())
{
- $productpairs = $this->dao->select('t1.execution, t2.name')->from(TABLE_PROJECTPRODUCT)->alias('t1')
+ $productpairs = $this->dao->select('t1.project, t2.name')->from(TABLE_PROJECTPRODUCT)->alias('t1')
->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product=t2.id')
- ->where('t1.execution')->in($stageIdList)
+ ->where('t1.project')->in($stageIdList)
->fetchPairs('execution', 'name');
return $productpairs;
}
diff --git a/module/execution/view/edit.html.php b/module/execution/view/edit.html.php
index 8c755eb903..9d6ca9c654 100644
--- a/module/execution/view/edit.html.php
+++ b/module/execution/view/edit.html.php
@@ -66,7 +66,7 @@
project->lifeTimeList, $execution->lifetime, "class='form-control' onchange='showLifeTimeTips()'");
+ echo html::select('lifetime', $lang->execution->lifeTimeList, $execution->lifetime, "class='form-control' onchange='showLifeTimeTips()'");
}
else
{
diff --git a/module/execution/view/view.html.php b/module/execution/view/view.html.php
index 138b82f22c..c024d33a56 100644
--- a/module/execution/view/view.html.php
+++ b/module/execution/view/view.html.php
@@ -183,7 +183,7 @@
deleted):?>
execution->deleted;?>
-
program->PRJLifeTimeList, $execution->lifetime);?>
+
execution->lifeTimeList, $execution->lifetime);?>
delay)):?>
execution->delayed;?>
diff --git a/module/my/lang/de.php b/module/my/lang/de.php
index 8fe5c7322d..96a3191569 100644
--- a/module/my/lang/de.php
+++ b/module/my/lang/de.php
@@ -14,7 +14,7 @@ $lang->my->testCase = 'Meine Fälle';
$lang->my->story = 'Meine Storys';
$lang->my->createProgram = 'Create Program';
$lang->my->project = "My Projects";
-$lang->my->execution = "My {$lang->execution->common}s";
+$lang->my->execution = "My {$lang->executionCommon}s";
$lang->my->issue = 'My Issues';
$lang->my->risk = 'My Risks';
$lang->my->profile = 'Meine Profil';
@@ -44,7 +44,7 @@ $lang->my->myExecutions = 'My Stage/Sprint/Iteration';
$lang->my->name = 'Name';
$lang->my->code = 'Code';
$lang->my->projects = 'Project';
-$lang->my->executions = "{$lang->execution->common}";
+$lang->my->executions = "{$lang->executionCommon}";
$lang->my->executionMenu = new stdclass();
$lang->my->executionMenu->undone = 'Undone';
diff --git a/module/my/lang/en.php b/module/my/lang/en.php
index e245ffe90f..447f39eeef 100644
--- a/module/my/lang/en.php
+++ b/module/my/lang/en.php
@@ -14,7 +14,7 @@ $lang->my->testCase = 'My Cases';
$lang->my->story = 'My Stories';
$lang->my->createProgram = 'Create Program';
$lang->my->project = "My Projects";
-$lang->my->execution = "My {$lang->execution->common}s";
+$lang->my->execution = "My {$lang->executionCommon}s";
$lang->my->issue = 'My Issues';
$lang->my->risk = 'My Risks';
$lang->my->profile = 'My Profile';
@@ -44,7 +44,7 @@ $lang->my->myExecutions = "My Stage/Sprint/Iteration";
$lang->my->name = 'Name';
$lang->my->code = 'Code';
$lang->my->projects = 'Project';
-$lang->my->executions = $lang->execution->common;
+$lang->my->executions = $lang->executionCommon;
$lang->my->executionMenu = new stdclass();
$lang->my->executionMenu->undone = 'Undone';
diff --git a/module/my/lang/fr.php b/module/my/lang/fr.php
index 1a2c5e6802..88f5d5a6ed 100644
--- a/module/my/lang/fr.php
+++ b/module/my/lang/fr.php
@@ -14,7 +14,7 @@ $lang->my->testCase = 'Mes CasTests';
$lang->my->story = 'Mes Stories';
$lang->my->createProgram = 'Create Program';
$lang->my->project = "My Projects";
-$lang->my->execution = "My {$lang->execution->common}s";
+$lang->my->execution = "My {$lang->executionCommon}s";
$lang->my->issue = 'My Issues';
$lang->my->risk = 'My Risks';
$lang->my->profile = 'Mon Profil';
@@ -44,7 +44,7 @@ $lang->my->myExecutions = 'My Stage/Sprint/Iteration';
$lang->my->name = 'Name';
$lang->my->code = 'Code';
$lang->my->projects = 'Project';
-$lang->my->executions = $lang->execution->common;
+$lang->my->executions = $lang->executionCommon;
$lang->my->executionMenu = new stdclass();
$lang->my->executionMenu->undone = 'Undone';
diff --git a/module/my/lang/vi.php b/module/my/lang/vi.php
index 17c5c6ce69..3273bef746 100644
--- a/module/my/lang/vi.php
+++ b/module/my/lang/vi.php
@@ -14,7 +14,7 @@ $lang->my->testCase = 'Tình huống của bạn';
$lang->my->story = 'Câu chuyện của bạn';
$lang->my->createProgram = 'Create Program';
$lang->my->project = "My Projects";
-$lang->my->execution = "My {$lang->execution->common}s";
+$lang->my->execution = "My {$lang->executionCommon}s";
$lang->my->issue = 'My Issues';
$lang->my->risk = 'My Risks';
$lang->my->profile = 'Hồ sơ của bạn';
@@ -44,7 +44,7 @@ $lang->my->myExecutions = "My Stage/Sprint/Iteration";
$lang->my->name = 'Name';
$lang->my->code = 'Code';
$lang->my->projects = 'Project';
-$lang->my->executions = $lang->execution->common;
+$lang->my->executions = $lang->executionCommon;
$lang->my->executionMenu = new stdclass();
$lang->my->executionMenu->undone = 'Undone';
diff --git a/module/my/lang/zh-cn.php b/module/my/lang/zh-cn.php
index 0d31b20d47..7c7948d8ea 100644
--- a/module/my/lang/zh-cn.php
+++ b/module/my/lang/zh-cn.php
@@ -14,7 +14,7 @@ $lang->my->testCase = '我的用例';
$lang->my->story = "我的{$lang->SRCommon}";
$lang->my->createProgram = '添加项目';
$lang->my->project = "我的项目";
-$lang->my->execution = "我的{$lang->execution->common}";
+$lang->my->execution = "我的{$lang->executionCommon}";
$lang->my->issue = '我的问题';
$lang->my->risk = '我的风险';
$lang->my->profile = '我的档案';
@@ -44,7 +44,7 @@ $lang->my->myExecutions = "我参与的阶段/冲刺/迭代";
$lang->my->name = '名称';
$lang->my->code = '代号';
$lang->my->projects = '所属项目';
-$lang->my->executions = '所属' . $lang->execution->common;
+$lang->my->executions = '所属' . $lang->executionCommon;
$lang->my->executionMenu = new stdclass();
$lang->my->executionMenu->undone = '未结束';
diff --git a/module/my/lang/zh-tw.php b/module/my/lang/zh-tw.php
index 68e23bf9ef..e8d1e96b65 100644
--- a/module/my/lang/zh-tw.php
+++ b/module/my/lang/zh-tw.php
@@ -14,7 +14,7 @@ $lang->my->testCase = '我的用例';
$lang->my->story = "我的{$lang->SRCommon}";
$lang->my->createProgram = '添加項目';
$lang->my->project = "我的項目";
-$lang->my->execution = "我的{$lang->execution->common}";
+$lang->my->execution = "我的{$lang->executionCommon}";
$lang->my->issue = '我的問題';
$lang->my->risk = '我的風險';
$lang->my->profile = '我的檔案';
@@ -44,7 +44,7 @@ $lang->my->myExecutions = "我參與的階段/衝刺/迭代";
$lang->my->name = '名稱';
$lang->my->code = '代號';
$lang->my->projects = '所屬項目';
-$lang->my->executions = '所屬' . $lang->execution->common;
+$lang->my->executions = '所屬' . $lang->executionCommon;
$lang->my->executionMenu = new stdclass();
$lang->my->executionMenu->undone = '未結束';
diff --git a/module/personnel/view/addwhitelist.html.php b/module/personnel/view/addwhitelist.html.php
index 0302a91ac3..d306342ffb 100644
--- a/module/personnel/view/addwhitelist.html.php
+++ b/module/personnel/view/addwhitelist.html.php
@@ -16,8 +16,8 @@
diff --git a/module/productplan/view/linkstory.html.php b/module/productplan/view/linkstory.html.php
index 28fb01cc95..940ebdf9a8 100644
--- a/module/productplan/view/linkstory.html.php
+++ b/module/productplan/view/linkstory.html.php
@@ -50,7 +50,7 @@
module];?> |
parent > 0) echo "{$lang->story->childrenAB}";
+ if($story->parent > 0) echo "story->children}>{$lang->story->childrenAB}";
echo html::a($this->createLink('story', 'view', "storyID=$story->id", '', true), $story->title, '', "data-toggle='modal' data-type='iframe' data-width='90%'");
?>
|
diff --git a/module/productplan/view/view.html.php b/module/productplan/view/view.html.php
index e13a32c3fc..6a24c90f64 100644
--- a/module/productplan/view/view.html.php
+++ b/module/productplan/view/view.html.php
@@ -148,7 +148,7 @@
module, '');?> |
parent > 0) echo "{$lang->story->childrenAB}";
+ if($story->parent > 0) echo "story->children}>{$lang->story->childrenAB}";
echo html::a($viewLink , $story->title);
?>
|
diff --git a/module/project/control.php b/module/project/control.php
index 7fc081e506..0841012818 100644
--- a/module/project/control.php
+++ b/module/project/control.php
@@ -198,6 +198,7 @@ class project extends control
*/
public function browse($programID = 0, $browseType = 'doing', $param = 0, $orderBy = 'order_desc', $recTotal = 0, $recPerPage = 15, $pageID = 1)
{
+ $this->lang->noMenuModule[] = 'project';
if($this->session->moreProjectLink) $this->lang->project->mainMenuAction = html::a($this->session->moreProjectLink, '
' . $this->lang->goback, '', "class='btn btn-link'");
$this->app->session->set('projectBrowse', $this->app->getURI(true));
$this->loadModel('datatable');
diff --git a/module/project/model.php b/module/project/model.php
index a4170a3a19..8538127fe7 100644
--- a/module/project/model.php
+++ b/module/project/model.php
@@ -1344,7 +1344,7 @@ class projectModel extends model
$begin = $executions[$executionID]->begin;
$end = $executions[$executionID]->end;
if(helper::isZeroDate($begin)) $begin = $executions[$executionID]->openedDate;
- $executionBurns = $this->processBurnData($executionBurns, $itemCounts, $begin, $end);
+ $executionBurns = $this->loadModel('execution')->processBurnData($executionBurns, $itemCounts, $begin, $end);
/* Shorter names. */
foreach($executionBurns as $executionBurn)
diff --git a/module/report/view/bugcreate.html.php b/module/report/view/bugcreate.html.php
index 5bf127299b..01352a80dc 100644
--- a/module/report/view/bugcreate.html.php
+++ b/module/report/view/bugcreate.html.php
@@ -23,7 +23,7 @@