* Finish task #8378.

This commit is contained in:
holan20180123
2020-11-17 14:04:50 +08:00
parent 3def724cd5
commit bb34dfe79b
26 changed files with 62 additions and 62 deletions

View File

@@ -117,7 +117,7 @@ $currentBrowseType = isset($lang->bug->mySelects[$browseType]) && in_array($brow
?>
</ul>
</div>
<?php if(empty($this->config->global->closedProductStatus) or $product->status != 'closed'):?>
<?php if(!empty($this->config->CRProduct) or $product->status != 'closed'):?>
<?php if(!common::checkNotCN()):?>
<?php
common::printLink('bug', 'batchCreate', "productID=$productID&branch=$branch&projectID=0&moduleID=$moduleID", "<i class='icon icon-plus'></i>" . $lang->bug->batchCreate, '', "class='btn btn-secondary'");
@@ -189,7 +189,7 @@ $currentBrowseType = isset($lang->bug->mySelects[$browseType]) && in_array($brow
<div class="table-empty-tip">
<p>
<span class="text-muted"><?php echo $lang->bug->noBug;?></span>
<?php if((empty($this->config->global->closedProductStatus) or $product->status != 'closed') and common::hasPriv('bug', 'create')):?>
<?php if((!empty($this->config->CRProduct) or $product->status != 'closed') and common::hasPriv('bug', 'create')):?>
<?php echo html::a($this->createLink('bug', 'create', "productID=$productID&branch=$branch&extra=moduleID=$moduleID"), "<i class='icon icon-plus'></i> " . $lang->bug->create, '', "class='btn btn-info'");?>
<?php endif;?>
</p>
@@ -211,7 +211,7 @@ $currentBrowseType = isset($lang->bug->mySelects[$browseType]) && in_array($brow
$widths = $this->datatable->setFixedFieldWidth($setting);
$columns = 0;
$canBeChanged = (empty($config->global->closedProductStatus) or $product->status != 'closed');
$canBeChanged = (!empty($config->CRProduct) or $product->status != 'closed');
$canBatchEdit = ($canBeChanged and common::hasPriv('bug', 'batchEdit'));
$canBatchConfirm = ($canBeChanged and common::hasPriv('bug', 'batchConfirm'));
$canBatchClose = common::hasPriv('bug', 'batchClose');

View File

@@ -30,7 +30,7 @@
</div>
<?php if(!isonlybody()):?>
<div class="btn-toolbar pull-right">
<?php if(empty($this->config->global->closedProductStatus) or $product->status != 'closed'):?>
<?php if(!empty($this->config->CRProduct) or $product->status != 'closed'):?>
<?php common::printLink('bug', 'create', "productID={$bug->product}&branch={$bug->branch}&extra=moduleID={$bug->module}", "<i class='icon icon-plus'></i>" . $lang->bug->create, '', "class='btn btn-primary'"); ?>
<?php endif;?>
</div>

View File

@@ -1855,7 +1855,7 @@ EOD;
global $app, $config;
/* Check the product is closed. */
if(!empty($object->product) and is_numeric($object->product) and !empty($config->global->closedProductStatus))
if(!empty($object->product) and is_numeric($object->product) and empty($config->CRProduct))
{
$productID = trim($object->product, ',');
$product = $app->control->loadModel('product')->getByID($productID);
@@ -1864,7 +1864,7 @@ EOD;
/* Check the project is closed. */
$productModuleList = array('story', 'bug', 'testtask');
if(!in_array($module, $productModuleList) and !empty($object->project) and is_numeric($object->project) and !empty($config->global->closedProjectStatus))
if(!in_array($module, $productModuleList) and !empty($object->project) and is_numeric($object->project) and empty($config->CRProject))
{
$project = $app->control->loadModel('project')->getByID($object->project);
if($project->status == 'closed') return false;

View File

@@ -357,7 +357,7 @@ class custom extends control
{
if($_POST)
{
$this->loadModel('setting')->setItem('system.common.global.closedProjectStatus', $this->post->project);
$this->loadModel('setting')->setItem('system.common.CRProject', $this->post->project);
$this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'reload'));
}
@@ -377,7 +377,7 @@ class custom extends control
{
if($_POST)
{
$this->loadModel('setting')->setItem('system.common.global.closedProductStatus', $this->post->product);
$this->loadModel('setting')->setItem('system.common.CRProduct', $this->post->product);
$this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'reload'));
}

View File

@@ -153,11 +153,11 @@ $lang->custom->page = ' Page';
$lang->custom->scoreStatus[1] = 'On';
$lang->custom->scoreStatus[0] = 'Off';
$lang->custom->closedProjectStatus[1] = 'Change Forbidden';
$lang->custom->closedProjectStatus[0] = 'Change Allowed';
$lang->custom->CRProject[1] = 'Change Forbidden';
$lang->custom->CRProject[0] = 'Change Allowed';
$lang->custom->closedProductStatus[1] = 'Change Forbidden';
$lang->custom->closedProductStatus[0] = 'Change Allowed';
$lang->custom->CRProduct[1] = 'Change Forbidden';
$lang->custom->CRProduct[0] = 'Change Allowed';
$lang->custom->moduleName['product'] = $lang->productCommon;
$lang->custom->moduleName['productplan'] = 'Plan';

View File

@@ -153,11 +153,11 @@ $lang->custom->page = ' Page';
$lang->custom->scoreStatus[1] = 'On';
$lang->custom->scoreStatus[0] = 'Off';
$lang->custom->closedProjectStatus[1] = 'Change Forbidden';
$lang->custom->closedProjectStatus[0] = 'Change Allowed';
$lang->custom->CRProject[1] = 'Change Forbidden';
$lang->custom->CRProject[0] = 'Change Allowed';
$lang->custom->closedProductStatus[1] = 'Change Forbidden';
$lang->custom->closedProductStatus[0] = 'Change Allowed';
$lang->custom->CRProduct[1] = 'Change Forbidden';
$lang->custom->CRProduct[0] = 'Change Allowed';
$lang->custom->moduleName['product'] = $lang->productCommon;
$lang->custom->moduleName['productplan'] = 'Plan';

View File

@@ -153,11 +153,11 @@ $lang->custom->page = ' Page';
$lang->custom->scoreStatus[1] = 'On';
$lang->custom->scoreStatus[0] = 'Off';
$lang->custom->closedProjectStatus[1] = 'Change Forbidden';
$lang->custom->closedProjectStatus[0] = 'Change Allowed';
$lang->custom->CRProject[1] = 'Change Forbidden';
$lang->custom->CRProject[0] = 'Change Allowed';
$lang->custom->closedProductStatus[1] = 'Change Forbidden';
$lang->custom->closedProductStatus[0] = 'Change Allowed';
$lang->custom->CRProduct[1] = 'Change Forbidden';
$lang->custom->CRProduct[0] = 'Change Allowed';
$lang->custom->moduleName['product'] = $lang->productCommon;
$lang->custom->moduleName['productplan'] = 'Plan';

View File

@@ -153,11 +153,11 @@ $lang->custom->page = '';
$lang->custom->scoreStatus[1] = 'On';
$lang->custom->scoreStatus[0] = 'Off';
$lang->custom->closedProjectStatus[1] = 'Change Forbidden';
$lang->custom->closedProjectStatus[0] = 'Change Allowed';
$lang->custom->CRProject[1] = 'Change Forbidden';
$lang->custom->CRProject[0] = 'Change Allowed';
$lang->custom->closedProductStatus[1] = 'Change Forbidden';
$lang->custom->closedProductStatus[0] = 'Change Allowed';
$lang->custom->CRProduct[1] = 'Change Forbidden';
$lang->custom->CRProduct[0] = 'Change Allowed';
$lang->custom->moduleName['product'] = $lang->productCommon;
$lang->custom->moduleName['productplan'] = 'Kế hoạch';

View File

@@ -153,11 +153,11 @@ $lang->custom->page = '页面';
$lang->custom->scoreStatus[1] = '开启';
$lang->custom->scoreStatus[0] = '关闭';
$lang->custom->closedProjectStatus[1] = '禁止修改';
$lang->custom->closedProjectStatus[0] = '允许修改';
$lang->custom->CRProject[1] = '禁止修改';
$lang->custom->CRProject[0] = '允许修改';
$lang->custom->closedProductStatus[1] = '禁止修改';
$lang->custom->closedProductStatus[0] = '允许修改';
$lang->custom->CRProduct[1] = '禁止修改';
$lang->custom->CRProduct[0] = '允许修改';
$lang->custom->moduleName['product'] = $lang->productCommon;
$lang->custom->moduleName['productplan'] = '计划';

View File

@@ -153,11 +153,11 @@ $lang->custom->page = '頁面';
$lang->custom->scoreStatus[1] = '開啟';
$lang->custom->scoreStatus[0] = '關閉';
$lang->custom->closedProjectStatus[1] = '禁止修改';
$lang->custom->closedProjectStatus[0] = '允許修改';
$lang->custom->CRProject[1] = '禁止修改';
$lang->custom->CRProject[0] = '允許修改';
$lang->custom->closedProductStatus[1] = '禁止修改';
$lang->custom->closedProductStatus[0] = '允許修改';
$lang->custom->CRProduct[1] = '禁止修改';
$lang->custom->CRProduct[0] = '允許修改';
$lang->custom->moduleName['product'] = $lang->productCommon;
$lang->custom->moduleName['productplan'] = '計劃';

View File

@@ -21,8 +21,8 @@
<tr>
<th class='w-300px'><?php echo $lang->custom->closedProduct;?></th>
<td class='w-250px text-center'>
<?php $checkedKey = isset($config->global->closedProductStatus) ? $config->global->closedProductStatus : 0;?>
<?php foreach($lang->custom->closedProductStatus as $key => $value):?>
<?php $checkedKey = isset($config->global->CRProduct) ? $config->global->CRProduct : 0;?>
<?php foreach($lang->custom->CRProduct as $key => $value):?>
<label class="radio-inline"><input type="radio" name="product" value="<?php echo $key?>"<?php echo $key == $checkedKey ? " checked='checked'" : ''?> id="product<?php echo $key;?>"><?php echo $value;?></label>
<?php endforeach;?>
</td>

View File

@@ -21,8 +21,8 @@
<tr>
<th class='w-300px'><?php echo $lang->custom->closedProject;?></th>
<td class='w-250px text-center'>
<?php $checkedKey = isset($config->global->closedProjectStatus) ? $config->global->closedProjectStatus : 0;?>
<?php foreach($lang->custom->closedProjectStatus as $key => $value):?>
<?php $checkedKey = isset($config->global->CRProject) ? $config->global->CRProject : 0;?>
<?php foreach($lang->custom->CRProject as $key => $value):?>
<label class="radio-inline"><input type="radio" name="project" value="<?php echo $key?>"<?php echo $key == $checkedKey ? " checked='checked'" : ''?> id="project<?php echo $key;?>"><?php echo $value;?></label>
<?php endforeach;?>
</td>

View File

@@ -756,8 +756,8 @@ class doc extends control
/* Determines whether an object is editable. */
$canBeChanged = true;
if($type == 'product' and !empty($this->config->global->closedProductStatus) and $object->status == 'closed') $canBeChanged = false;
if($type == 'project' and !empty($this->config->global->closedProjectStatus) and $object->status == 'closed') $canBeChanged = false;
if($type == 'product' and empty($this->config->CRProduct) and $object->status == 'closed') $canBeChanged = false;
if($type == 'project' and empty($this->config->CRProject) and $object->status == 'closed') $canBeChanged = false;
/* According the from, set menus. */
if($this->from == 'product')
@@ -856,8 +856,8 @@ class doc extends control
/* Determines whether an object is editable. */
$canBeChanged = true;
if($type == 'product' and !empty($this->config->global->closedProductStatus) and $object->status == 'closed') $canBeChanged = false;
if($type == 'project' and !empty($this->config->global->closedProjectStatus) and $object->status == 'closed') $canBeChanged = false;
if($type == 'product' and empty($this->config->CRProduct) and $object->status == 'closed') $canBeChanged = false;
if($type == 'project' and empty($this->config->CRProject) and $object->status == 'closed') $canBeChanged = false;
if($from == 'product')
{

View File

@@ -94,7 +94,7 @@ js::set('foldAll', $lang->project->treeLevel['root']);
?>
</ul>
</div>
<?php if(empty($this->config->global->closedProductStatus) or $product->status != 'closed'):?>
<?php if(!empty($this->config->CRProduct) or $product->status != 'closed'):?>
<?php if(!common::checkNotCN()):?>
<?php if(common::hasPriv('story', 'batchCreate')) echo html::a($this->createLink('story', 'batchCreate', "productID=$productID&branch=$branch&moduleID=$moduleID"), "<i class='icon icon-plus'></i> {$lang->story->batchCreate}", '', "class='btn btn btn-secondary'");?>
<?php
@@ -169,7 +169,7 @@ js::set('foldAll', $lang->project->treeLevel['root']);
<div class="table-empty-tip">
<p>
<span class="text-muted"><?php echo $lang->story->noStory;?></span>
<?php if((empty($this->config->global->closedProductStatus) or $product->status != 'closed') and common::hasPriv('story', 'create')):?>
<?php if((!empty($this->config->CRProduct) or $product->status != 'closed') and common::hasPriv('story', 'create')):?>
<?php echo html::a($this->createLink('story', 'create', "productID={$productID}&branch={$branch}&moduleID={$moduleID}"), "<i class='icon icon-plus'></i> " . $lang->story->create, '', "class='btn btn-info'");?>
<?php endif;?>
</p>
@@ -189,7 +189,7 @@ js::set('foldAll', $lang->project->treeLevel['root']);
$widths = $this->datatable->setFixedFieldWidth($setting);
$columns = 0;
$canBeChanged = (empty($config->global->closedProductStatus) or $product->status != 'closed');
$canBeChanged = (!empty($config->CRProduct) or $product->status != 'closed');
$canBatchEdit = ($canBeChanged and common::hasPriv('story', 'batchEdit'));
$canBatchClose = (common::hasPriv('story', 'batchClose') and strtolower($browseType) != 'closedbyme' and strtolower($browseType) != 'closedstory');
$canBatchReview = ($canBeChanged and common::hasPriv('story', 'batchReview'));

View File

@@ -41,7 +41,7 @@
<div class="table-empty-tip">
<p>
<span class="text-muted"><?php echo $lang->release->noRelease;?></span>
<?php if((empty($this->config->global->closedProductStatus) or $product->status != 'closed') and common::hasPriv('release', 'create')):?>
<?php if((!empty($this->config->CRProduct) or $product->status != 'closed') and common::hasPriv('release', 'create')):?>
<?php echo html::a($this->createLink('release', 'create', "productID=$product->id&branch=$branchKey"), "<i class='icon icon-plus'></i> " . $lang->release->create, '', "class='btn btn-info'");?>
<?php endif;?>
</p>

View File

@@ -24,7 +24,7 @@
<?php endforeach;?>
</div>
<div class="btn-toolbar pull-right">
<?php if(empty($this->config->global->closedProductStatus) or $product->status != 'closed'):?>
<?php if(!empty($this->config->CRProduct) or $product->status != 'closed'):?>
<?php common::printLink('productplan', 'create', "productID=$product->id&branch=$branch", "<i class='icon icon-plus'></i> {$lang->productplan->create}", '', "class='btn btn-primary'");?>
<?php endif;?>
</div>
@@ -34,7 +34,7 @@
<div class="table-empty-tip">
<p>
<span class="text-muted"><?php echo $lang->productplan->noPlan;?></span>
<?php if((empty($this->config->global->closedProductStatus) or $product->status != 'closed') and common::hasPriv('productplan', 'create')):?>
<?php if((!empty($this->config->CRProduct) or $product->status != 'closed') and common::hasPriv('productplan', 'create')):?>
<?php echo html::a($this->createLink('productplan', 'create', "productID=$product->id&branch=$branch"), "<i class='icon icon-plus'></i> " . $lang->productplan->create, '', "class='btn btn-info'");?>
<?php endif;?>
</p>

View File

@@ -22,7 +22,7 @@
?>
</div>
<div class="btn-toolbar pull-right">
<?php if(empty($this->config->global->closedProductStatus) or $product->status != 'closed'):?>
<?php if(!empty($this->config->CRProduct) or $product->status != 'closed'):?>
<?php common::printLink('release', 'create', "productID=$product->id&branch=$branch", "<i class='icon icon-plus'></i> {$lang->release->create}", '', "class='btn btn-primary'");?>
<?php endif;?>
</div>
@@ -32,7 +32,7 @@
<div class="table-empty-tip">
<p>
<span class="text-muted"><?php echo $lang->release->noRelease;?></span>
<?php if((empty($this->config->global->closedProductStatus) or $product->status != 'closed') and common::hasPriv('release', 'create')):?>
<?php if((!empty($this->config->CRProduct) or $product->status != 'closed') and common::hasPriv('release', 'create')):?>
<?php echo html::a($this->createLink('release', 'create', "productID=$product->id&branch=$branch"), "<i class='icon icon-plus'></i> " . $lang->release->create, '', "class='btn btn-info'");?>
<?php endif;?>
</p>

View File

@@ -47,7 +47,7 @@
</div>
<?php if(!isonlybody()):?>
<div class="btn-toolbar pull-right">
<?php if(empty($this->config->global->closedProductStatus) or $product->status != 'closed'): ?>
<?php if(!empty($this->config->CRProduct) or $product->status != 'closed'): ?>
<?php common::printLink('story', 'create', "productID={$story->product}&branch={$story->branch}&moduleID={$story->module}", "<i class='icon icon-plus'></i>" . $lang->story->create, '', "class='btn btn-primary'"); ?>
<?php endif;?>
</div>

View File

@@ -47,7 +47,7 @@ js::set('suiteID', $suiteID);
<div class="table-empty-tip">
<p>
<span class="text-muted"><?php echo $lang->testcase->noCase;?></span>
<?php if((empty($this->config->global->closedProductStatus) or $product->status != 'closed') and common::hasPriv('testcase', 'create')):?>
<?php if((!empty($this->config->CRProduct) or $product->status != 'closed') and common::hasPriv('testcase', 'create')):?>
<?php $initModule = isset($moduleID) ? (int)$moduleID : 0;?>
<?php echo html::a($this->createLink('testcase', 'create', "productID=$productID&branch=$branch&moduleID=$initModule"), "<i class='icon icon-plus'></i> " . $lang->testcase->create, '', "class='btn btn-info'");?>
<?php endif;?>

View File

@@ -44,7 +44,7 @@
echo "<div id='bysuiteTab' class='btn-group'>";
echo html::a('javascript:;', $currentLable . " <span class='caret'></span>", '', "class='btn btn-link' data-toggle='dropdown'");
if(empty($this->config->global->closedProductStatus) or $product->status != 'closed')
if(!empty($this->config->CRProduct) or $product->status != 'closed')
{
echo "<ul class='dropdown-menu' style='max-height:240px; overflow-y:auto'>";
@@ -105,7 +105,7 @@
?>
</ul>
</div>
<?php if(empty($this->config->global->closedProductStatus) or $product->status != 'closed'):?>
<?php if(!empty($this->config->CRProduct) or $product->status != 'closed'):?>
<div class='btn-group'>
<button type='button' class='btn btn-link dropdown-toggle' data-toggle='dropdown' id='importAction'><i class='icon icon-import muted'></i> <?php echo $lang->import ?><span class='caret'></span></button>
<ul class='dropdown-menu' id='importActionMenu'>

View File

@@ -19,7 +19,7 @@
<div class="table-empty-tip">
<p>
<span class="text-muted"><?php echo $lang->testcase->noCase;?></span>
<?php if((empty($this->config->global->closedProductStatus) or $product->status != 'closed') and common::hasPriv('testcase', 'create')):?>
<?php if((!empty($this->config->CRProduct) or $product->status != 'closed') and common::hasPriv('testcase', 'create')):?>
<?php echo html::a($this->createLink('testcase', 'create', "productID=$productID&branch=$branch&moduleID=$initModule"), "<i class='icon icon-plus'></i> " . $lang->testcase->create, '', "class='btn btn-info'");?>
<?php endif;?>
</p>

View File

@@ -59,8 +59,8 @@ class testreport extends control
/* Determines whether an object is editable. */
$canBeChanged = true;
if($objectType == 'product' and !empty($this->config->global->closedProductStatus) and $object->status == 'closed') $canBeChanged = false;
if($objectType == 'project' and !empty($this->config->global->closedProjectStatus) and $object->status == 'closed') $canBeChanged = false;
if($objectType == 'product' and empty($this->config->CRProduct) and $object->status == 'closed') $canBeChanged = false;
if($objectType == 'project' and empty($this->config->CRProject) and $object->status == 'closed') $canBeChanged = false;
/* Load pager. */
$this->app->loadClass('pager', $static = true);

View File

@@ -21,7 +21,7 @@
<span class='label label-light label-badge'><?php echo $pager->recTotal;?></span>
</a>
</div>
<?php if(empty($this->config->global->closedProductStatus) or $product->status != 'closed'):?>
<?php if(!empty($this->config->CRProduct) or $product->status != 'closed'):?>
<div class="btn-toolbar pull-right">
<?php common::printLink('testsuite', 'create', "product=$productID", "<i class='icon icon-plus'></i> " . $lang->testsuite->create, '', "class='btn btn-primary'");?>
</div>
@@ -33,7 +33,7 @@
<div class="table-empty-tip">
<p>
<span class="text-muted"><?php echo $lang->testsuite->noTestsuite;?></span>
<?php if((empty($this->config->global->closedProductStatus) or $product->status != 'closed') and common::hasPriv('testsuite', 'create')):?>
<?php if((!empty($this->config->CRProduct) or $product->status != 'closed') and common::hasPriv('testsuite', 'create')):?>
<?php echo html::a($this->createLink('testsuite', 'create', "product=$productID"), "<i class='icon icon-plus'></i> " . $lang->testsuite->create, '', "class='btn btn-info'");?>
<?php endif;?>
</p>

View File

@@ -46,7 +46,7 @@ $status = $this->session->testTaskVersionStatus;
<div class='datepicker-wrapper datepicker-date'><?php echo html::input('date', $endTime, "class='form-control form-date' onchange='changeDate(\"$beginTime\", this.value, \"$condition\")'");?></div>
</div>
</div>
<?php if(empty($this->config->global->closedProductStatus) or $product->status != 'closed'):?>
<?php if(!empty($this->config->CRProduct) or $product->status != 'closed'):?>
<div class="btn-toolbar pull-right">
<?php common::printLink('testtask', 'create', "product=$productID", "<i class='icon icon-plus'></i> " . $lang->testtask->create, '', "class='btn btn-primary'");?>
</div>
@@ -58,7 +58,7 @@ $status = $this->session->testTaskVersionStatus;
<div class="table-empty-tip">
<p>
<span class="text-muted"><?php echo $lang->testtask->noTesttask;?></span>
<?php if((empty($this->config->global->closedProductStatus) or $product->status != 'closed') and common::hasPriv('testtask', 'create')):?>
<?php if((!empty($this->config->CRProduct) or $product->status != 'closed') and common::hasPriv('testtask', 'create')):?>
<?php echo html::a($this->createLink('testtask', 'create', "product=$productID"), "<i class='icon icon-plus'></i> " . $lang->testtask->create, '', "class='btn btn-info'");?>
<?php endif;?>
</p>

View File

@@ -23,7 +23,7 @@
<?php echo html::a(inlink('browseUnits', "productID=$productID&browseType=$key&orderBy=$orderBy"), "<span class='text'>$label</span>", '', "id='{$key}Tab' class='btn btn-link'");?>
<?php endforeach;?>
</div>
<?php if(empty($this->config->global->closedProductStatus) or $product->status != 'closed'):?>
<?php if(!empty($this->config->CRProduct) or $product->status != 'closed'):?>
<div class="btn-toolbar pull-right">
<?php common::printLink('testtask', 'importUnitResult', "product=$productID", "<i class='icon icon-import'></i> " . $lang->testtask->importUnitResult, '', "class='btn btn-primary'");?>
</div>

View File

@@ -45,7 +45,7 @@ class tree extends control
$this->view->root = $product;
/* Determines whether an object is editable. */
$canBeChanged = (empty($this->config->global->closedProductStatus) or $product->status != 'closed') ? true : false;
$canBeChanged = (!empty($this->config->CRProduct) or $product->status != 'closed') ? true : false;
}
elseif(strpos($viewType, 'doc') !== false)
{
@@ -219,7 +219,7 @@ class tree extends control
$this->view->products = $products;
/* Determines whether an object is editable. */
$canBeChanged = (empty($this->config->global->closedProjectStatus) or $project->status != 'closed') ? true : false;
$canBeChanged = (!empty($this->config->CRProject) or $project->status != 'closed') ? true : false;
/* Set menu. */
$this->lang->set('menugroup.tree', 'project');