diff --git a/module/block/control.php b/module/block/control.php index 97b8c240ed..76b685e7a1 100644 --- a/module/block/control.php +++ b/module/block/control.php @@ -205,16 +205,17 @@ class block extends control * * @param string $module * @param string $type + * @param int $projectID * @access public * @return void */ - public function dashboard($module, $type = '') + public function dashboard($module, $type = '', $projectID = 0) { if($this->loadModel('user')->isLogon()) $this->session->set('blockModule', $module); $blocks = $this->block->getBlockList($module, $type); $commonField = 'common'; - if($module == 'project') + if($module == 'project' and $projectID) { $project = $this->loadModel('project')->getByID($this->session->PRJ); $commonField = $project->model . 'common'; diff --git a/module/branch/control.php b/module/branch/control.php index 2606058728..f44b5ef748 100644 --- a/module/branch/control.php +++ b/module/branch/control.php @@ -20,11 +20,7 @@ class branch extends control */ public function manage($productID) { - $this->lang->product->switcherMenu = $this->loadModel('product')->getSwitcher($productID); - - $moduleIndex = array_search('branch', $this->lang->noMenuModule); - if($moduleIndex !== false) unset($this->lang->noMenuModule[$moduleIndex]); - $this->lang->branch->menu = $this->lang->product->setMenu; + $this->loadModel('product')->setMenu($productID); if($_POST) { @@ -33,8 +29,6 @@ class branch extends control } $products = $this->loadModel('product')->getPairs('nocode'); - $this->product->setMenu($products, $productID); - $position[] = html::a($this->createLink('product', 'browse', "productID=$productID"), zget($products, $productID)); $position[] = $this->lang->branch->manage; diff --git a/module/bug/control.php b/module/bug/control.php index 86eecab27e..06bd85aef6 100644 --- a/module/bug/control.php +++ b/module/bug/control.php @@ -293,7 +293,7 @@ class bug extends control $extras = str_replace(array(',', ' '), array('&', ''), $extras); parse_str($extras, $output); - if(isset($output['executionID'])) commonModel::setAppObjectID('execution', $output['executionID']); + if(isset($output['executionID'])) commonModel::setMenuVars('execution', $output['executionID']); foreach($output as $paramKey => $paramValue) { @@ -912,8 +912,8 @@ class bug extends control $this->loadModel('my')->setMenu(); $moduleIndex = array_search('bug', $this->lang->noMenuModule); if($moduleIndex !== false) unset($this->lang->noMenuModule[$moduleIndex]); - $this->lang->task->menu = $this->lang->my->workMenu; - $this->lang->my->menu->myWork['subModule'] = 'bug'; + $this->lang->task->menu = $this->lang->my->menu->work; + $this->lang->my->menu->work['subModule'] = 'bug'; $this->view->position[] = html::a($this->createLink('my', 'bug'), $this->lang->my->bug); $this->view->title = "BUG" . $this->lang->bug->batchEdit; diff --git a/module/bug/js/batchedit.js b/module/bug/js/batchedit.js index 5d2884a08d..26a3876963 100644 --- a/module/bug/js/batchedit.js +++ b/module/bug/js/batchedit.js @@ -1,7 +1,7 @@ /** * Set duplicate field. - * - * @param string $resolution + * + * @param string $resolution * @access public * @return void */ @@ -68,3 +68,8 @@ $(document).on('change', 'select', function() $(this).trigger("change"); } }) + +$(function() +{ + $('#subNavbar li[data-id="bug"]').addClass('active'); +}); diff --git a/module/build/control.php b/module/build/control.php index aa06d03e04..0db63601c0 100644 --- a/module/build/control.php +++ b/module/build/control.php @@ -40,14 +40,23 @@ class build extends control if($this->app->openApp == 'project') { - $this->project->setMenu($projectID); + $model = $this->dao->select('model')->from(TABLE_PROJECT)->where('id')->eq($projectID)->fetch('model'); + $this->lang->project->menu = $this->lang->$model->menu; + $this->lang->project->menuOrder = $this->lang->$model->menuOrder; + commonModel::setMenuVars('project', $projectID); + $executions = $this->execution->getPairs($projectID); + $executionID = isset($executions[$this->session->executionID]) ? $this->session->executionID : key($executions); + $this->session->set('executionID', 0); + $this->session->set('PRJ', $projectID); } elseif($this->app->openApp == 'execution') { - $executions = $this->execution->getPairs($projectID); - $executionID = $executionID == 0 ? key($executions) : $executionID; + $execution = $this->execution->getByID($executionID); + $executions = $this->execution->getPairs($execution->project); $this->execution->setMenu($executions, $executionID); + + $this->session->set('PRJ', $execution->project); } $productGroups = $this->execution->getProducts($executionID); @@ -103,6 +112,14 @@ class build extends control $this->loadModel('product'); $build = $this->build->getById((int)$buildID); + if($this->app->openApp == 'project') + { + $model = $this->dao->select('model')->from(TABLE_PROJECT)->where('id')->eq($build->project)->fetch('model'); + $this->lang->project->menu = $this->lang->$model->menu; + $this->lang->project->menuOrder = $this->lang->$model->menuOrder; + commonModel::setMenuVars('project', $build->project); + } + /* Set menu. */ $this->execution->setMenu($this->execution->getPairs($build->project), $build->execution); @@ -164,10 +181,19 @@ class build extends control */ public function view($buildID, $type = 'story', $link = 'false', $param = '', $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 100, $pageID = 1) { + $build = $this->build->getByID((int)$buildID, true); if(!$build) die(js::error($this->lang->notFound) . js::locate('back')); $this->session->PRJ = $build->project; + if($this->app->openApp == 'project') + { + $model = $this->dao->select('model')->from(TABLE_PROJECT)->where('id')->eq($build->project)->fetch('model'); + $this->lang->project->menu = $this->lang->$model->menu; + $this->lang->project->menuOrder = $this->lang->$model->menuOrder; + commonModel::setMenuVars('project', $build->project); + } + /* Set session and load modules. */ if($type == 'story')$this->session->set('storyList', $this->app->getURI(true)); if($type == 'bug') $this->session->set('bugList', $this->app->getURI(true)); @@ -199,7 +225,7 @@ class build extends control foreach($stages as $storyID => $stage)$stories[$storyID]->stage = $stage; /* Set menu. */ - commonModel::setAppObjectID('execution', $build->execution); + commonModel::setMenuVars('execution', $build->execution); $executions = $this->loadModel('execution')->getPairs($this->session->PRJ, 'all', 'empty'); $this->view->title = "BUILD #$build->id $build->name - " . $executions[$build->execution]; @@ -550,7 +576,7 @@ class build extends control if($browseType == 'bySearch') { - $allBugs = $this->bug->getBySearch($build->product, $build->branch, $queryID, 'id_desc', $build->bugs, $pager); + $allBugs = $this->bug->getBySearch($build->product, $build->branch, $queryID, 'id_desc', $build->bugs, $pager, $build->project); } else { diff --git a/module/common/lang/common.php b/module/common/lang/common.php index da2c1165df..359d698891 100644 --- a/module/common/lang/common.php +++ b/module/common/lang/common.php @@ -9,6 +9,7 @@ $lang->project = new stdclass(); $lang->scrum = new stdclass(); $lang->waterfall = new stdclass(); $lang->execution = new stdclass(); +$lang->story = new stdclass(); $lang->release = new stdclass(); $lang->branch = new stdclass(); $lang->productplan = new stdclass(); @@ -62,6 +63,14 @@ $lang->team = new stdclass(); $lang->automation = new stdclass(); $lang->personnel = new stdclass(); $lang->mail = new stdclass(); +$lang->testsuite = new stdclass(); +$lang->caselib = new stdclass(); +$lang->ci = new stdclass(); +$lang->datatable = new stdclass(); +$lang->tree = new stdclass(); +$lang->api = new stdclass(); +$lang->file = new stdclass(); +$lang->misc = new stdclass(); $lang->projectrelease = new stdclass(); $lang->projectstory = new stdclass(); diff --git a/module/common/lang/menu.php b/module/common/lang/menu.php index bda0f0167d..c72588101b 100644 --- a/module/common/lang/menu.php +++ b/module/common/lang/menu.php @@ -36,6 +36,7 @@ $lang->mainNav->menuOrder[45] = 'admin'; /* My menu. */ $lang->my->menu = new stdclass(); $lang->my->menu->index = array('link' => "$lang->dashboard|my|index"); +$lang->my->menu->calendar = array('link' => "$lang->calendar|my|calendar|", 'subModule' => 'todo', 'alias' => 'todo'); $lang->my->menu->work = array('link' => "{$lang->my->work}|my|work|mode=task"); if($config->systemMode == 'new') $lang->my->menu->project = array('link' => "{$lang->project->common}|my|project|"); $lang->my->menu->execution = array('link' => "{$lang->execution->common}|my|execution|type=undone"); @@ -46,14 +47,15 @@ $lang->my->menu->contacts = array('link' => "$lang->contact|my|managecontacts| /* My menu order. */ $lang->my->menuOrder[5] = 'index'; -$lang->my->menuOrder[10] = 'work'; -$lang->my->menuOrder[15] = 'project'; -$lang->my->menuOrder[20] = 'execution'; -$lang->my->menuOrder[25] = 'contribute'; -$lang->my->menuOrder[30] = 'score'; -$lang->my->menuOrder[35] = 'dynamic'; -$lang->my->menuOrder[40] = 'follow'; -$lang->my->menuOrder[45] = 'contacts'; +$lang->my->menuOrder[10] = 'calendar'; +$lang->my->menuOrder[15] = 'work'; +$lang->my->menuOrder[20] = 'project'; +$lang->my->menuOrder[25] = 'execution'; +$lang->my->menuOrder[30] = 'contribute'; +$lang->my->menuOrder[35] = 'score'; +$lang->my->menuOrder[40] = 'dynamic'; +$lang->my->menuOrder[45] = 'follow'; +$lang->my->menuOrder[50] = 'contacts'; $lang->my->menu->work['subMenu'] = new stdclass(); $lang->my->menu->work['subMenu']->task = "{$lang->task->common}|my|work|mode=task"; @@ -63,6 +65,13 @@ $lang->my->menu->work['subMenu']->bug = "{$lang->bug->common}|my|work|mode= $lang->my->menu->work['subMenu']->testcase = "{$lang->testcase->common}|my|work|mode=testcase&type=assigntome"; $lang->my->menu->work['subMenu']->testtask = "{$lang->testtask->common}|my|work|mode=testtask&type=wait"; +$lang->my->menu->work['menuOrder'][5] = 'task'; +$lang->my->menu->work['menuOrder'][10] = 'requirement'; +$lang->my->menu->work['menuOrder'][15] = 'story'; +$lang->my->menu->work['menuOrder'][20] = 'bug'; +$lang->my->menu->work['menuOrder'][25] = 'testcase'; +$lang->my->menu->work['menuOrder'][30] = 'testtask'; + $lang->my->menu->contribute['subMenu'] = new stdclass(); $lang->my->menu->contribute['subMenu']->task = "{$lang->task->common}|my|contribute|mode=task"; if($config->URAndSR) $lang->my->menu->contribute['subMenu']->requirement = "$lang->URCommon|my|contribute|mode=requirement"; @@ -131,7 +140,7 @@ $lang->product->menuOrder[65] = 'all'; $lang->product->menu->settings['subMenu'] = new stdclass(); $lang->product->menu->settings['subMenu']->view = array('link' => "{$lang->overview}|product|view|productID=%s", 'alias' => 'edit'); $lang->product->menu->settings['subMenu']->module = array('link' => "{$lang->module}|tree|browse|product=%s&view=story", 'subModule' => 'tree'); -// $lang->product->menu->settings['subMenu']->branch = array('link' => "@branch@|branch|manage|product=%s", 'subModule' => 'branch'); +$lang->product->menu->settings['subMenu']->branch = array('link' => "@branch@|branch|manage|product=%s", 'subModule' => 'branch'); $lang->product->menu->settings['subMenu']->whitelist = array('link' => "{$lang->whitelist}|product|whitelist|product=%s", 'subModule' => 'personnel'); $lang->product->dividerMenu = $config->URAndSR ? ',requirement,set,' : ',track,set,'; @@ -380,14 +389,14 @@ $lang->company->menuOrder[30] = 'addUser'; /* Admin menu. */ $lang->admin->menu = new stdclass(); -$lang->admin->menu->index = array('link' => "$lang->indexPage|admin|index", 'alias' => 'register,certifytemail,certifyztmobile,ztcompany', 'exclude' => 'admin-safe'); +$lang->admin->menu->index = array('link' => "$lang->indexPage|admin|index", 'alias' => 'register,certifytemail,certifyztmobile,ztcompany'); $lang->admin->menu->company = array('link' => "{$lang->personnel->common}|company|browse|", 'subModule' => ',user,dept,group,'); $lang->admin->menu->model = array('link' => "$lang->model|custom|browsestoryconcept|", 'subModule' => 'holiday'); $lang->admin->menu->custom = array('link' => "{$lang->custom->common}|custom|index", 'exclude' => 'custom-timezone'); $lang->admin->menu->extension = array('link' => "{$lang->extension->common}|extension|browse", 'subModule' => 'extension'); $lang->admin->menu->dev = array('link' => "$lang->redev|dev|api", 'alias' => 'db', 'subModule' => 'dev,editor,entry'); $lang->admin->menu->message = array('link' => "{$lang->message->common}|message|index", 'subModule' => 'message,mail,webhook'); -$lang->admin->menu->system = array('link' => "{$lang->admin->system}|backup|index", 'subModule' => 'cron,backup,action,search,admin'); +$lang->admin->menu->system = array('link' => "{$lang->admin->system}|backup|index", 'subModule' => 'cron,backup,action,search,admin', 'exclude' => 'admin-index'); /* Admin menu order. */ $lang->admin->menuOrder[5] = 'index'; @@ -438,7 +447,6 @@ $lang->subject->menu->storyConcept = array('link' => "{$lang->subject->storyConc $lang->system = new stdclass(); $lang->system->menu = new stdclass(); $lang->system->menu->team = array('link' => "{$lang->team->common}|my|team|", 'subModule' => 'user'); -$lang->system->menu->calendar = array('link' => "$lang->calendar|my|calendar|", 'subModule' => 'todo', 'alias' => 'todo'); $lang->system->menu->dynamic = array('link' => "$lang->dynamic|company|dynamic|"); $lang->system->menu->view = array('link' => "{$lang->company->common}|company|view"); diff --git a/module/common/model.php b/module/common/model.php index f40446bb68..5f0a4d1983 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -125,7 +125,7 @@ class commonModel extends model public function setOpenApp() { $openApp = $this->app->openApp; - if($this->lang->navGroup->$openApp) + if(isset($this->lang->navGroup->$openApp)) { $this->app->openApp = $this->lang->navGroup->$openApp; } @@ -665,7 +665,7 @@ class commonModel extends model $exclude = isset($menuItem->exclude) ? $menuItem->exclude : ''; $active = ''; - if($menuItem->name == $currentModule and strpos(",$exclude,", ",$currentMethod,") === false) + if($menuItem->name == $currentModule and strpos(",$exclude,", ",$currentModule-$currentMethod,") === false) { $activeMenu = $menuItem->name; $active = 'active'; @@ -789,8 +789,6 @@ class commonModel extends model $openApp = $app->openApp; - self::getModuleMenu($activeMenu); - if(!isset($lang->$openApp->menu)) { echo ""; @@ -2355,20 +2353,6 @@ EOD; } } - /** - * Get my module menu by methodName. - * - * @param string $activeMenu - * @static - * @access public - * @return void - */ - public static function getModuleMenu($activeMenu) - { - global $app, $lang; - $lang->{$app->openApp}->menu = $lang->{$app->openApp}->menu->$activeMenu['subMenu']; - } - /** * Get relations for two object. * diff --git a/module/common/view/header.html.php b/module/common/view/header.html.php index 1a24c87d1a..23b937bebc 100755 --- a/module/common/view/header.html.php +++ b/module/common/view/header.html.php @@ -14,7 +14,7 @@ include 'chosen.html.php'; - {$app->openApp}->menu->$activeMenu) and isset($lang->{$app->openApp}->menu->$activeMenu['subMenu'])):?> + {$app->openApp}->menu->$activeMenu) and isset($lang->{$app->openApp}->menu->{$activeMenu}['subMenu'])):?>
diff --git a/module/custom/model.php b/module/custom/model.php index 06c3ec70f8..7362705d26 100644 --- a/module/custom/model.php +++ b/module/custom/model.php @@ -195,7 +195,7 @@ class customModel extends model } elseif($module) { - $menuOrder = ($module == 'main' and isset($lang->menuOrder)) ? $lang->menuOrder : (isset($lang->menu->$module['menuOrder']) ? $lang->menu->$module['menuOrder'] : array()); + $menuOrder = ($module == 'main' and isset($lang->menuOrder)) ? $lang->menuOrder : (isset($lang->menu->{$module}['menuOrder']) ? $lang->menu->{$module}['menuOrder'] : array()); if($menuOrder) { ksort($menuOrder); @@ -321,7 +321,8 @@ class customModel extends model if(empty($module)) $module = 'main'; global $app, $lang, $config; - $allMenu = $module == 'main' ? $lang->menu : $lang->menu->$module['subMenu']; + if($module == 'main') $allMenu = $lang->menu; + if($module != 'main' and isset($lang->menu->$module) and isset($lang->menu->{$module}['subMenu'])) $allMenu = $lang->menu->{$module}['subMenu']; if($module == 'product' and isset($allMenu->branch)) $allMenu->branch = str_replace('@branch@', $lang->custom->branch, $allMenu->branch); $flowModule = $config->global->flow . '_' . $module; $customMenu = isset($config->customMenu->$flowModule) ? $config->customMenu->$flowModule : array(); diff --git a/module/doc/control.php b/module/doc/control.php index 8e85269f77..7147df9c9c 100644 --- a/module/doc/control.php +++ b/module/doc/control.php @@ -451,7 +451,7 @@ class doc extends control /* Set my menu. */ if($this->app->openApp == 'my') { - $this->lang->doc->menu = $this->lang->my->contributeMenu; + $this->lang->doc->menu = $this->lang->my->menu->contribute; $this->lang->modulePageNav = ''; $this->lang->TRActions = ''; $this->lang->my->menu->contribute['subModule'] = 'doc'; @@ -932,7 +932,7 @@ class doc extends control $productID = $type == 'product' ? $objectID : 0; $executionID = $type == 'execution' ? $objectID : 0; $this->doc->setMenu($type, 0, 0, $productID, $executionID, $crumb); - + } elseif($from == 'execution') { diff --git a/module/execution/control.php b/module/execution/control.php index 7c1cd7ab8e..720bd993a7 100644 --- a/module/execution/control.php +++ b/module/execution/control.php @@ -2089,8 +2089,11 @@ class execution extends control $diffProducts = array_merge(array_diff($oldProducts, $newProducts), array_diff($newProducts, $oldProducts)); if($diffProducts) $this->loadModel('action')->create($this->objectType, $executionID, 'Managed', '', !empty($_POST['products']) ? join(',', $_POST['products']) : ''); - if(isonlybody()) die(js::reload('parent')); - die(js::locate($browseExecutionLink)); + if(isonlybody()) + { + $this->session->set('executionID' , $executionID); + die(js::reload('parent')); + } } $this->loadModel('product'); diff --git a/module/execution/model.php b/module/execution/model.php index 65a9080a8f..c73b881786 100644 --- a/module/execution/model.php +++ b/module/execution/model.php @@ -851,7 +851,7 @@ class executionModel extends model } $dropMenuLink = helper::createLink('execution', 'ajaxGetDropMenu', "executionID=$executionID&module=$currentModule&method=$currentMethod&extra="); - $output = "
" . html::a(helper::createLink('execution', 'all'), " {$this->lang->execution->common}", '', "class='btn'") . '
'; + $output = "
{$this->lang->execution->common}
"; $output .= "
"; diff --git a/module/execution/view/ajaxgetdropmenu.html.php b/module/execution/view/ajaxgetdropmenu.html.php index ab29953c61..0916abc79d 100644 --- a/module/execution/view/ajaxgetdropmenu.html.php +++ b/module/execution/view/ajaxgetdropmenu.html.php @@ -50,7 +50,7 @@ foreach($executions as $execution) ?>
diff --git a/module/index/js/index.js b/module/index/js/index.js index 405a04d2d4..c8f05a1e7a 100644 --- a/module/index/js/index.js +++ b/module/index/js/index.js @@ -120,7 +120,7 @@ } if(moduleName === 'my') { - if(['todo', 'team', 'calendar'].includes(methodLowerCase)) return 'system'; + if(['team'].includes(methodLowerCase)) return 'system'; } if(moduleName === 'company') if(methodLowerCase == 'browse') return 'admin'; if(moduleName === 'tree') diff --git a/module/mail/view/save.html.php b/module/mail/view/save.html.php index cba2aeab3f..ba9482bfd1 100755 --- a/module/mail/view/save.html.php +++ b/module/mail/view/save.html.php @@ -24,7 +24,7 @@ mail->successSaved;?> post->turnon):?> - mail->test . ' ', '', "class='btn btn-primary btn-sm'");?> + mail->test, '', "class='btn btn-primary btn-sm'");?> mail->setForUser;?> diff --git a/module/my/control.php b/module/my/control.php index 9048db3ede..4205228d1d 100644 --- a/module/my/control.php +++ b/module/my/control.php @@ -129,7 +129,6 @@ class my extends control */ public function todo($type = 'before', $userID = '', $status = 'all', $orderBy = "date_desc,status,begin", $recTotal = 0, $recPerPage = 20, $pageID = 1) { - $this->lang->navGroup->my = 'system'; /* Save session. */ $uri = $this->app->getURI(true); if($this->app->viewType != 'json') diff --git a/module/product/control.php b/module/product/control.php index 28caed261b..89b19f3cb0 100644 --- a/module/product/control.php +++ b/module/product/control.php @@ -132,7 +132,7 @@ class product extends control $this->loadModel('execution'); /* Set product, module and query. */ - $productID = $this->app->openApp != 'projectstory' ? $this->product->saveState($productID, $this->products) : $productID; + $productID = $this->app->openApp != 'project' ? $this->product->saveState($productID, $this->products) : $productID; $branch = ($branch === '') ? (int)$this->cookie->preBranch : (int)$branch; setcookie('preProductID', $productID, $this->config->cookieLife, $this->config->webRoot, '', false, true); setcookie('preBranch', (int)$branch, $this->config->cookieLife, $this->config->webRoot, '', false, true); diff --git a/module/product/model.php b/module/product/model.php index ac36c79dad..1bcd27a152 100644 --- a/module/product/model.php +++ b/module/product/model.php @@ -1685,5 +1685,15 @@ class productModel extends model $this->lang->switcherMenu = $this->getSwitcher($productID, $extra, $branch); $params = array('branch' => $branch); common::setMenuVars('product', $productID, $params); + + if($product->type == 'normal') + { + unset($this->lang->product->menu->settings['subMenu']->branch); + } + else + { + $branchLink = $this->lang->product->menu->settings['subMenu']->branch['link']; + $this->lang->product->menu->settings['subMenu']->branch['link'] = str_replace('@branch@', $this->lang->product->branchName[$product->type], $branchLink); + } } } diff --git a/module/product/view/ajaxgetdropmenu.html.php b/module/product/view/ajaxgetdropmenu.html.php index 6009847aba..fb30e60d18 100644 --- a/module/product/view/ajaxgetdropmenu.html.php +++ b/module/product/view/ajaxgetdropmenu.html.php @@ -63,7 +63,7 @@ foreach($products as $product) diff --git a/module/program/lang/zh-cn.php b/module/program/lang/zh-cn.php index 9134ece2a2..fd7e8be46b 100644 --- a/module/program/lang/zh-cn.php +++ b/module/program/lang/zh-cn.php @@ -13,7 +13,7 @@ $lang->program->children = '子项目集'; $lang->program->parent = '父项目集'; $lang->program->allInput = '项目集总投入'; $lang->program->teamCount = '项目集成员'; -$lang->program->longTime = '长期项目'; +$lang->program->longTime = '长期项目集'; $lang->program->view = '项目集详情'; /* Actions. */ diff --git a/module/project/config.php b/module/project/config.php index 3e000a43ec..a0892f2c03 100644 --- a/module/project/config.php +++ b/module/project/config.php @@ -69,7 +69,7 @@ $config->project->datatable->fieldList['budget']['required'] = 'yes'; $config->project->datatable->fieldList['teamCount']['title'] = 'teamCount'; $config->project->datatable->fieldList['teamCount']['fixed'] = 'no'; -$config->project->datatable->fieldList['teamCount']['width'] = '40'; +$config->project->datatable->fieldList['teamCount']['width'] = '70'; $config->project->datatable->fieldList['teamCount']['required'] = 'no'; $config->project->datatable->fieldList['teamCount']['sort'] = 'no'; diff --git a/module/project/lang/de.php b/module/project/lang/de.php index bfa5bdab46..0091c12131 100644 --- a/module/project/lang/de.php +++ b/module/project/lang/de.php @@ -91,7 +91,7 @@ $lang->project->sv = 'SV%'; $lang->project->ac = 'AC'; $lang->project->cv = 'CV%'; $lang->project->teamCount = 'Team'; -$lang->project->longTime = 'Long-Term Project'; +$lang->project->longTime = 'Long-Term Program'; $lang->project->future = 'TBD'; $lang->project->moreProject = 'More Project'; $lang->project->days = 'Manntage'; diff --git a/module/project/lang/en.php b/module/project/lang/en.php index e6bca02178..fa34dfdbd0 100644 --- a/module/project/lang/en.php +++ b/module/project/lang/en.php @@ -91,7 +91,7 @@ $lang->project->sv = 'SV%'; $lang->project->ac = 'AC'; $lang->project->cv = 'CV%'; $lang->project->teamCount = 'Team'; -$lang->project->longTime = 'Long-Term Project'; +$lang->project->longTime = 'Long-Term Program'; $lang->project->future = 'TBD'; $lang->project->moreProject = 'More Project'; $lang->project->days = 'Available Days'; diff --git a/module/project/lang/fr.php b/module/project/lang/fr.php index 7648bd4e2a..df052721ae 100644 --- a/module/project/lang/fr.php +++ b/module/project/lang/fr.php @@ -91,7 +91,7 @@ $lang->project->sv = 'SV%'; $lang->project->ac = 'AC'; $lang->project->cv = 'CV%'; $lang->project->teamCount = 'Team'; -$lang->project->longTime = 'Long-Term Project'; +$lang->project->longTime = 'Long-Term Program'; $lang->project->future = 'TBD'; $lang->project->moreProject = 'More Project'; $lang->project->days = 'Available Days'; diff --git a/module/project/lang/vi.php b/module/project/lang/vi.php index c9615d2df6..befb4bd1b5 100644 --- a/module/project/lang/vi.php +++ b/module/project/lang/vi.php @@ -91,7 +91,7 @@ $lang->project->sv = 'SV%'; $lang->project->ac = 'AC'; $lang->project->cv = 'CV%'; $lang->project->teamCount = 'Team'; -$lang->project->longTime = 'Long-Term Project'; +$lang->project->longTime = 'Long-Term Program'; $lang->project->future = 'TBD'; $lang->project->moreProject = 'More Project'; $lang->project->days = 'Available Days'; diff --git a/module/project/view/ajaxgetdropmenu.html.php b/module/project/view/ajaxgetdropmenu.html.php index 299cdd5410..1b02ff79ba 100644 --- a/module/project/view/ajaxgetdropmenu.html.php +++ b/module/project/view/ajaxgetdropmenu.html.php @@ -51,7 +51,7 @@ foreach($projects as $project) ?> diff --git a/module/project/view/batchedit.html.php b/module/project/view/batchedit.html.php index a358b795a7..26b4903ab9 100644 --- a/module/project/view/batchedit.html.php +++ b/module/project/view/batchedit.html.php @@ -57,7 +57,7 @@ - + diff --git a/module/project/view/build.html.php b/module/project/view/build.html.php index 6ceca83724..0d597f4b4f 100644 --- a/module/project/view/build.html.php +++ b/module/project/view/build.html.php @@ -60,11 +60,11 @@ $builds):?> $build):?> - id"), sprintf('%03d', $build->id));?> + id"), sprintf('%03d', $build->id), '', "data-app='project'");?> productName;?> branchName) echo "{$build->branchName}"?> - createLink('build', 'view', "build=$build->id"), $build->name);?> + createLink('build', 'view', "build=$build->id"), $build->name, '', "data-app='project'");?> executionName;?> scmPath, 'http') === 0 ? html::a($build->scmPath) : $build->scmPath;?> diff --git a/module/repo/control.php b/module/repo/control.php index f84763a89a..6c53faba2d 100644 --- a/module/repo/control.php +++ b/module/repo/control.php @@ -35,25 +35,31 @@ class repo extends control * Common actions. * * @param int $objectID projectID|executionID + * @param int $repoID * @access public * @return void */ - public function commonAction($objectID) + public function commonAction($objectID, $repoID = 0) { - if($this->app->openApp == 'project') - { - /* Set repo menu group. */ - $this->scm = $this->app->loadClass('scm'); - $this->repos = $this->repo->getRepoPairs($objectID); - if(empty($this->repos) and $this->methodName != 'create') die(js::locate($this->repo->createLink('create', "objectID=$objectID"))); + $openApp = $this->app->openApp; + $this->repos = $this->repo->getRepoPairs($openApp, $objectID); + $this->scm = $this->app->loadClass('scm'); + if($openApp == 'project') + { $this->loadModel('project')->setMenu($objectID); } - else if($this->app->openApp == 'execution') + else if($openApp == 'execution') { $executions = $this->loadModel('execution')->getPairs(0, 'all', 'nocode'); $this->execution->setMenu($executions, $objectID); } + else + { + $this->repo->setMenu($this->repos, $repoID); + } + + if(empty($this->repos) and $this->methodName != 'create') die(js::locate($this->repo->createLink('create', "objectID=$objectID"))); } /** @@ -118,7 +124,7 @@ class repo extends control $this->view->position[] = $this->lang->repo->create; $this->view->groups = $this->loadModel('group')->getPairs(); $this->view->users = $this->loadModel('user')->getPairs('noletter|noempty|nodeleted'); - $this->view->products = $this->loadModel('product')->getProductPairsByProject($this->projectID); + $this->view->products = $this->loadModel('product')->getProductPairsByProject($objectID); $this->display(); } diff --git a/module/repo/model.php b/module/repo/model.php index 88894e106c..7c436029a7 100644 --- a/module/repo/model.php +++ b/module/repo/model.php @@ -285,18 +285,19 @@ class repoModel extends model /** * Get repo pairs. * + * @param string $type project|execution|repo * @param int $projectID * @access public * @return array */ - public function getRepoPairs($projectID = 0) + public function getRepoPairs($type, $projectID = 0) { $repos = $this->dao->select('*')->from(TABLE_REPO) ->where('deleted')->eq(0) ->fetchAll(); /* Get products. */ - $productIdList = $this->loadModel('product')->getProductIDByProject($projectID, false); + $productIdList = ($type == 'project' or $type == 'execution') ? $this->loadModel('product')->getProductIDByProject($projectID, false) : array(); $repoPairs = array(); foreach($repos as $repo) @@ -305,7 +306,7 @@ class repoModel extends model $scm = $repo->SCM == 'Subversion' ? 'svn' : 'git'; if($this->checkPriv($repo)) { - if($projectID) + if($type == 'project' or $type == 'execution') { foreach($productIdList as $productID) { diff --git a/module/task/control.php b/module/task/control.php index 6f3b5fd129..f87ede1663 100644 --- a/module/task/control.php +++ b/module/task/control.php @@ -478,8 +478,8 @@ class task extends control $this->loadModel('my')->setMenu(); $moduleIndex = array_search('task', $this->lang->noMenuModule); if($moduleIndex !== false) unset($this->lang->noMenuModule[$moduleIndex]); - $this->lang->task->menu = $this->lang->my->workMenu; - $this->lang->my->menu->myWork['subModule'] = 'task'; + $this->lang->task->menu = $this->lang->my->menu->work; + $this->lang->my->menu->work['subModule'] = 'task'; $this->view->position[] = html::a($this->createLink('my', 'task'), $this->lang->my->task); $this->view->title = $this->lang->task->batchEdit; diff --git a/module/testcase/control.php b/module/testcase/control.php index 10b2747ed2..ea5d8b20c8 100644 --- a/module/testcase/control.php +++ b/module/testcase/control.php @@ -810,8 +810,8 @@ class testcase extends control /* The cases of my. */ $this->loadModel('my')->setMenu(); - $this->lang->testcase->menu = $this->lang->my->workMenu; - $this->lang->my->menu->myWork['subModule'] = 'testcase'; + $this->lang->testcase->menu = $this->lang->my->menu->work; + $this->lang->my->menu->work['subModule'] = 'testcase'; $this->view->position[] = html::a($this->server->http_referer, $this->lang->my->testCase); $this->view->title = $this->lang->testcase->batchEdit; diff --git a/module/testtask/control.php b/module/testtask/control.php index 398b3fceec..cc80de34a7 100644 --- a/module/testtask/control.php +++ b/module/testtask/control.php @@ -1094,8 +1094,8 @@ class testtask extends control /* The case of my. */ else { - $this->lang->testtask->menu = $this->lang->my->workMenu; - $this->lang->my->menu->myWork['subModule'] = 'testtask'; + $this->lang->testtask->menu = $this->lang->my->menu->work; + $this->lang->my->menu->work['subModule'] = 'testtask'; $this->view->title = $this->lang->testtask->batchRun;