* Finish Task #7711.

This commit is contained in:
holan20180123
2020-08-27 13:42:16 +08:00
parent f13b0b9e1f
commit 1062033526
119 changed files with 251 additions and 2891 deletions
-6
View File
@@ -659,9 +659,6 @@ class actionModel extends model
->beginIF($projectID == 'all' or $productID == 'all')->andWhere("IF((objectType!= 'doc' && objectType!= 'doclib'), ($condition), '1=1')")->fi()
->beginIF($docs and !$this->app->user->admin)->andWhere("IF(objectType != 'doc', '1=1', objectID " . helper::dbIN($docs) . ")")->fi()
->beginIF($libs and !$this->app->user->admin)->andWhere("IF(objectType != 'doclib', '1=1', objectID " . helper::dbIN(array_keys($libs)) . ') ')->fi()
->beginIF($this->config->global->flow == 'onlyStory')->andWhere('objectType')->notin('bug,build,project,task,taskcase,testreport,testsuite,testtask')->fi()
->beginIF($this->config->global->flow == 'onlyTask')->andWhere('objectType')->notin('product,productplan,release,story,testcase,testreport,testsuite')->fi()
->beginIF($this->config->global->flow == 'onlyTest')->andWhere('objectType')->notin('project,productplan,release,story,task')->fi()
->beginIF(!empty($actionCondition))->andWhere("($actionCondition)")->fi()
->orderBy($orderBy)
->page($pager)
@@ -774,9 +771,6 @@ class actionModel extends model
return $actions = $this->dao->select('*')->from(TABLE_ACTION)
->where($sql)
->beginIF(!empty($actionCondition))->andWhere("($actionCondition)")->fi()
->beginIF($this->config->global->flow == 'onlyStory')->andWhere('objectType')->notin('bug,build,project,task,taskcase,testreport,testsuite,testtask')->fi()
->beginIF($this->config->global->flow == 'onlyTask')->andWhere('objectType')->notin('product,productplan,release,story,testcase,testreport,testsuite')->fi()
->beginIF($this->config->global->flow == 'onlyTest')->andWhere('objectType')->notin('project,productplan,release,story,task')->fi()
->orderBy($orderBy)
->page($pager)
->fetchAll();
-8
View File
@@ -49,10 +49,6 @@ class block extends control
if(!common::hasPriv($moduleKey, 'index')) unset($modules[$moduleKey]);
}
if($this->config->global->flow == 'onlyTask' or $this->config->global->flow == 'onlyStory') unset($modules['qa']);
if($this->config->global->flow == 'onlyTask' or $this->config->global->flow == 'onlyTest') unset($modules['product']);
if($this->config->global->flow == 'onlyStory' or $this->config->global->flow == 'onlyTest') unset($modules['project']);
$closedBlock = isset($this->config->block->closed) ? $this->config->block->closed : '';
if(strpos(",$closedBlock,", ",|assigntome,") === false) $modules['assigntome'] = $this->lang->block->assignToMe;
if(strpos(",$closedBlock,", ",|dynamic,") === false) $modules['dynamic'] = $this->lang->block->dynamic;
@@ -227,10 +223,6 @@ class block extends control
continue;
}
if($this->config->global->flow == 'onlyStory' and $block->source != 'product' and $block->source != 'todo' and $block->block != 'dynamic') unset($blocks[$key]);
if($this->config->global->flow == 'onlyTask' and $block->source != 'project' and $block->source != 'todo' and $block->block != 'dynamic') unset($blocks[$key]);
if($this->config->global->flow == 'onlyTest' and $block->source != 'qa' and $block->source != 'todo' and $block->block != 'dynamic') unset($blocks[$key]);
$block->params = json_decode($block->params);
$blockID = $block->block;
$source = empty($block->source) ? 'common' : $block->source;
-48
View File
@@ -187,54 +187,6 @@ $lang->block->default['full']['my']['8']['source'] = 'product';
$lang->block->default['full']['my']['9'] = $lang->block->default['qa']['2'];
$lang->block->default['full']['my']['9']['source'] = 'qa';
$lang->block->default['onlyTest']['my']['1'] = $lang->block->default['qa']['1'];
$lang->block->default['onlyTest']['my']['1']['source'] = 'qa';
$lang->block->default['onlyTest']['my']['1']['grid'] = '8';
$lang->block->default['onlyTest']['my']['2']['title'] = 'Verlauf';
$lang->block->default['onlyTest']['my']['2']['block'] = 'dynamic';
$lang->block->default['onlyTest']['my']['2']['grid'] = 4;
$lang->block->default['onlyTest']['my']['2']['source'] = '';
$lang->block->default['onlyTest']['my']['3']['title'] = 'Meine Todos';
$lang->block->default['onlyTest']['my']['3']['block'] = 'list';
$lang->block->default['onlyTest']['my']['3']['grid'] = 6;
$lang->block->default['onlyTest']['my']['3']['source'] = 'todo';
$lang->block->default['onlyTest']['my']['3']['params']['num'] = '20';
$lang->block->default['onlyTest']['my']['4'] = $lang->block->default['qa']['2'];
$lang->block->default['onlyTest']['my']['4']['source'] = 'qa';
$lang->block->default['onlyTest']['my']['4']['grid'] = 6;
$lang->block->default['onlyStory']['my']['1'] = $lang->block->default['project']['1'];
$lang->block->default['onlyStory']['my']['1']['source'] = 'project';
$lang->block->default['onlyStory']['my']['1']['grid'] = 8;
$lang->block->default['onlyStory']['my']['2']['title'] = 'Verlauf';
$lang->block->default['onlyStory']['my']['2']['block'] = 'dynamic';
$lang->block->default['onlyStory']['my']['2']['grid'] = 4;
$lang->block->default['onlyStory']['my']['2']['source'] = '';
$lang->block->default['onlyStory']['my']['3']['title'] = 'Meine Todos';
$lang->block->default['onlyStory']['my']['3']['block'] = 'list';
$lang->block->default['onlyStory']['my']['3']['grid'] = 6;
$lang->block->default['onlyStory']['my']['3']['source'] = 'todo';
$lang->block->default['onlyStory']['my']['3']['params']['num'] = '20';
$lang->block->default['onlyStory']['my']['4'] = $lang->block->default['product']['2'];
$lang->block->default['onlyStory']['my']['4']['source'] = 'product';
$lang->block->default['onlyStory']['my']['4']['grid'] = 6;
$lang->block->default['onlyTask']['my']['1'] = $lang->block->default['project']['1'];
$lang->block->default['onlyTask']['my']['1']['source'] = 'project';
$lang->block->default['onlyTask']['my']['1']['grid'] = 8;
$lang->block->default['onlyTask']['my']['2']['title'] = 'Verlauf';
$lang->block->default['onlyTask']['my']['2']['block'] = 'dynamic';
$lang->block->default['onlyTask']['my']['2']['grid'] = 4;
$lang->block->default['onlyTask']['my']['2']['source'] = '';
$lang->block->default['onlyTask']['my']['3']['title'] = 'Meine Todos';
$lang->block->default['onlyTask']['my']['3']['block'] = 'list';
$lang->block->default['onlyTask']['my']['3']['grid'] = 6;
$lang->block->default['onlyTask']['my']['3']['source'] = 'todo';
$lang->block->default['onlyTask']['my']['3']['params']['num'] = '20';
$lang->block->default['onlyTask']['my']['4'] = $lang->block->default['project']['2'];
$lang->block->default['onlyTask']['my']['4']['source'] = 'project';
$lang->block->default['onlyTask']['my']['4']['grid'] = 6;
$lang->block->num = 'Number';
$lang->block->type = 'Type';
$lang->block->orderBy = 'Order by';
-48
View File
@@ -187,54 +187,6 @@ $lang->block->default['full']['my']['8']['source'] = 'product';
$lang->block->default['full']['my']['9'] = $lang->block->default['qa']['2'];
$lang->block->default['full']['my']['9']['source'] = 'qa';
$lang->block->default['onlyTest']['my']['1'] = $lang->block->default['qa']['1'];
$lang->block->default['onlyTest']['my']['1']['source'] = 'qa';
$lang->block->default['onlyTest']['my']['1']['grid'] = '8';
$lang->block->default['onlyTest']['my']['2']['title'] = 'Historique';
$lang->block->default['onlyTest']['my']['2']['block'] = 'dynamic';
$lang->block->default['onlyTest']['my']['2']['grid'] = 4;
$lang->block->default['onlyTest']['my']['2']['source'] = '';
$lang->block->default['onlyTest']['my']['3']['title'] = 'Mon Agenday';
$lang->block->default['onlyTest']['my']['3']['block'] = 'list';
$lang->block->default['onlyTest']['my']['3']['grid'] = 6;
$lang->block->default['onlyTest']['my']['3']['source'] = 'todo';
$lang->block->default['onlyTest']['my']['3']['params']['num'] = '20';
$lang->block->default['onlyTest']['my']['4'] = $lang->block->default['qa']['2'];
$lang->block->default['onlyTest']['my']['4']['source'] = 'qa';
$lang->block->default['onlyTest']['my']['4']['grid'] = 6;
$lang->block->default['onlyStory']['my']['1'] = $lang->block->default['project']['1'];
$lang->block->default['onlyStory']['my']['1']['source'] = 'project';
$lang->block->default['onlyStory']['my']['1']['grid'] = 8;
$lang->block->default['onlyStory']['my']['2']['title'] = 'Historique';
$lang->block->default['onlyStory']['my']['2']['block'] = 'dynamic';
$lang->block->default['onlyStory']['my']['2']['grid'] = 4;
$lang->block->default['onlyStory']['my']['2']['source'] = '';
$lang->block->default['onlyStory']['my']['3']['title'] = 'Mon Agenda';
$lang->block->default['onlyStory']['my']['3']['block'] = 'list';
$lang->block->default['onlyStory']['my']['3']['grid'] = 6;
$lang->block->default['onlyStory']['my']['3']['source'] = 'todo';
$lang->block->default['onlyStory']['my']['3']['params']['num'] = '20';
$lang->block->default['onlyStory']['my']['4'] = $lang->block->default['product']['2'];
$lang->block->default['onlyStory']['my']['4']['source'] = 'product';
$lang->block->default['onlyStory']['my']['4']['grid'] = 6;
$lang->block->default['onlyTask']['my']['1'] = $lang->block->default['project']['1'];
$lang->block->default['onlyTask']['my']['1']['source'] = 'project';
$lang->block->default['onlyTask']['my']['1']['grid'] = 8;
$lang->block->default['onlyTask']['my']['2']['title'] = 'Historique';
$lang->block->default['onlyTask']['my']['2']['block'] = 'dynamic';
$lang->block->default['onlyTask']['my']['2']['grid'] = 4;
$lang->block->default['onlyTask']['my']['2']['source'] = '';
$lang->block->default['onlyTask']['my']['3']['title'] = 'Mon Agenda';
$lang->block->default['onlyTask']['my']['3']['block'] = 'list';
$lang->block->default['onlyTask']['my']['3']['grid'] = 6;
$lang->block->default['onlyTask']['my']['3']['source'] = 'todo';
$lang->block->default['onlyTask']['my']['3']['params']['num'] = '20';
$lang->block->default['onlyTask']['my']['4'] = $lang->block->default['project']['2'];
$lang->block->default['onlyTask']['my']['4']['source'] = 'project';
$lang->block->default['onlyTask']['my']['4']['grid'] = 6;
$lang->block->num = 'Numéro';
$lang->block->type = 'Type';
$lang->block->orderBy = 'Trié par';
-48
View File
@@ -187,54 +187,6 @@ $lang->block->default['full']['my']['8']['source'] = 'product';
$lang->block->default['full']['my']['9'] = $lang->block->default['qa']['2'];
$lang->block->default['full']['my']['9']['source'] = 'qa';
$lang->block->default['onlyTest']['my']['1'] = $lang->block->default['qa']['1'];
$lang->block->default['onlyTest']['my']['1']['source'] = 'qa';
$lang->block->default['onlyTest']['my']['1']['grid'] = '8';
$lang->block->default['onlyTest']['my']['2']['title'] = 'Lịch sử';
$lang->block->default['onlyTest']['my']['2']['block'] = 'dynamic';
$lang->block->default['onlyTest']['my']['2']['grid'] = 4;
$lang->block->default['onlyTest']['my']['2']['source'] = '';
$lang->block->default['onlyTest']['my']['3']['title'] = 'Việc của bạn';
$lang->block->default['onlyTest']['my']['3']['block'] = 'list';
$lang->block->default['onlyTest']['my']['3']['grid'] = 6;
$lang->block->default['onlyTest']['my']['3']['source'] = 'todo';
$lang->block->default['onlyTest']['my']['3']['params']['num'] = '20';
$lang->block->default['onlyTest']['my']['4'] = $lang->block->default['qa']['2'];
$lang->block->default['onlyTest']['my']['4']['source'] = 'qa';
$lang->block->default['onlyTest']['my']['4']['grid'] = 6;
$lang->block->default['onlyStory']['my']['1'] = $lang->block->default['project']['1'];
$lang->block->default['onlyStory']['my']['1']['source'] = 'project';
$lang->block->default['onlyStory']['my']['1']['grid'] = 8;
$lang->block->default['onlyStory']['my']['2']['title'] = 'Lịch sử';
$lang->block->default['onlyStory']['my']['2']['block'] = 'dynamic';
$lang->block->default['onlyStory']['my']['2']['grid'] = 4;
$lang->block->default['onlyStory']['my']['2']['source'] = '';
$lang->block->default['onlyStory']['my']['3']['title'] = 'Việc của bạn';
$lang->block->default['onlyStory']['my']['3']['block'] = 'list';
$lang->block->default['onlyStory']['my']['3']['grid'] = 6;
$lang->block->default['onlyStory']['my']['3']['source'] = 'todo';
$lang->block->default['onlyStory']['my']['3']['params']['num'] = '20';
$lang->block->default['onlyStory']['my']['4'] = $lang->block->default['product']['2'];
$lang->block->default['onlyStory']['my']['4']['source'] = 'product';
$lang->block->default['onlyStory']['my']['4']['grid'] = 6;
$lang->block->default['onlyTask']['my']['1'] = $lang->block->default['project']['1'];
$lang->block->default['onlyTask']['my']['1']['source'] = 'project';
$lang->block->default['onlyTask']['my']['1']['grid'] = 8;
$lang->block->default['onlyTask']['my']['2']['title'] = 'Lịch sử';
$lang->block->default['onlyTask']['my']['2']['block'] = 'dynamic';
$lang->block->default['onlyTask']['my']['2']['grid'] = 4;
$lang->block->default['onlyTask']['my']['2']['source'] = '';
$lang->block->default['onlyTask']['my']['3']['title'] = 'Việc của bạn';
$lang->block->default['onlyTask']['my']['3']['block'] = 'list';
$lang->block->default['onlyTask']['my']['3']['grid'] = 6;
$lang->block->default['onlyTask']['my']['3']['source'] = 'todo';
$lang->block->default['onlyTask']['my']['3']['params']['num'] = '20';
$lang->block->default['onlyTask']['my']['4'] = $lang->block->default['project']['2'];
$lang->block->default['onlyTask']['my']['4']['source'] = 'project';
$lang->block->default['onlyTask']['my']['4']['grid'] = 6;
$lang->block->num = 'Số';
$lang->block->type = 'Loại';
$lang->block->orderBy = 'Order by';
-48
View File
@@ -187,54 +187,6 @@ $lang->block->default['full']['my']['8']['source'] = 'product';
$lang->block->default['full']['my']['9'] = $lang->block->default['qa']['2'];
$lang->block->default['full']['my']['9']['source'] = 'qa';
$lang->block->default['onlyTest']['my']['1'] = $lang->block->default['qa']['1'];
$lang->block->default['onlyTest']['my']['1']['source'] = 'qa';
$lang->block->default['onlyTest']['my']['1']['grid'] = '8';
$lang->block->default['onlyTest']['my']['2']['title'] = '最新動態';
$lang->block->default['onlyTest']['my']['2']['block'] = 'dynamic';
$lang->block->default['onlyTest']['my']['2']['grid'] = 4;
$lang->block->default['onlyTest']['my']['2']['source'] = '';
$lang->block->default['onlyTest']['my']['3']['title'] = '我的待辦';
$lang->block->default['onlyTest']['my']['3']['block'] = 'list';
$lang->block->default['onlyTest']['my']['3']['grid'] = 6;
$lang->block->default['onlyTest']['my']['3']['source'] = 'todo';
$lang->block->default['onlyTest']['my']['3']['params']['num'] = '20';
$lang->block->default['onlyTest']['my']['4'] = $lang->block->default['qa']['2'];
$lang->block->default['onlyTest']['my']['4']['source'] = 'qa';
$lang->block->default['onlyTest']['my']['4']['grid'] = '6';
$lang->block->default['onlyStory']['my']['1'] = $lang->block->default['product']['1'];
$lang->block->default['onlyStory']['my']['1']['source'] = 'product';
$lang->block->default['onlyStory']['my']['1']['grid'] = '8';
$lang->block->default['onlyStory']['my']['2']['title'] = '最新動態';
$lang->block->default['onlyStory']['my']['2']['block'] = 'dynamic';
$lang->block->default['onlyStory']['my']['2']['grid'] = 4;
$lang->block->default['onlyStory']['my']['2']['source'] = '';
$lang->block->default['onlyStory']['my']['3']['title'] = '我的待辦';
$lang->block->default['onlyStory']['my']['3']['block'] = 'list';
$lang->block->default['onlyStory']['my']['3']['grid'] = 6;
$lang->block->default['onlyStory']['my']['3']['source'] = 'todo';
$lang->block->default['onlyStory']['my']['3']['params']['num'] = '20';
$lang->block->default['onlyStory']['my']['4'] = $lang->block->default['product']['2'];
$lang->block->default['onlyStory']['my']['4']['source'] = 'product';
$lang->block->default['onlyStory']['my']['4']['grid'] = '4';
$lang->block->default['onlyTask']['my']['1'] = $lang->block->default['project']['1'];
$lang->block->default['onlyTask']['my']['1']['source'] = 'project';
$lang->block->default['onlyTask']['my']['1']['grid'] = '8';
$lang->block->default['onlyTask']['my']['2']['title'] = '最新動態';
$lang->block->default['onlyTask']['my']['2']['block'] = 'dynamic';
$lang->block->default['onlyTask']['my']['2']['grid'] = 4;
$lang->block->default['onlyTask']['my']['2']['source'] = '';
$lang->block->default['onlyTask']['my']['3']['title'] = '我的待辦';
$lang->block->default['onlyTask']['my']['3']['block'] = 'list';
$lang->block->default['onlyTask']['my']['3']['grid'] = 6;
$lang->block->default['onlyTask']['my']['3']['source'] = 'todo';
$lang->block->default['onlyTask']['my']['3']['params']['num'] = '20';
$lang->block->default['onlyTask']['my']['4'] = $lang->block->default['project']['2'];
$lang->block->default['onlyTask']['my']['4']['source'] = 'project';
$lang->block->default['onlyTask']['my']['4']['grid'] = 6;
$lang->block->num = '數量';
$lang->block->type = '類型';
$lang->block->orderBy = '排序';
-4
View File
@@ -137,10 +137,6 @@ class blockModel extends model
->andWhere('module')->eq($module)
->andWhere('hidden')->eq(0)
->beginIF($type)->andWhere('type')->eq($type)->fi()
->beginIF($this->config->global->flow != 'full')->andWhere('block')->notin('flowchart')->fi()
->beginIF($this->config->global->flow == 'onlyStory')->andWhere('source')->notin('project,qa')->fi()
->beginIF($this->config->global->flow == 'onlyTask')->andWhere('source')->notin('product,qa')->fi()
->beginIF($this->config->global->flow == 'onlyTest')->andWhere('source')->notin('product,project')->fi()
->orderBy('`order`')
->fetchAll('id');
@@ -14,8 +14,6 @@
<ul class="nav nav-secondary">
<?php $isFirstTab = true; ?>
<?php foreach($hasViewPriv as $type => $bool):?>
<?php if($config->global->flow != 'full' && $config->global->flow != 'onlyTask' && $type == 'task') continue;?>
<?php if($config->global->flow != 'full' && $config->global->flow != 'onlyTest' && $type == 'bug') continue;?>
<li<?php if($isFirstTab) {echo ' class="active"';}?>>
<a data-tab href='#assigntomeTab-<?php echo $type;?>' onClick="changeLabel('<?php echo $type;?>')">
<?php echo $lang->block->availableBlocks->$type;?>
@@ -27,8 +25,6 @@
<div class="tab-content">
<?php $isFirstTab = true; ?>
<?php foreach($hasViewPriv as $type => $bool):?>
<?php if($config->global->flow != 'full' && $config->global->flow != 'onlyTask' && $type == 'task') continue;?>
<?php if($config->global->flow != 'full' && $config->global->flow != 'onlyTest' && $type == 'bug') continue;?>
<div class="tab-pane<?php if($isFirstTab) {echo ' active'; $isFirstTab = false;}?>" id="assigntomeTab-<?php echo $type?>">
<?php include "{$type}block.html.php";?>
</div>
@@ -154,7 +154,6 @@ $(function()
</div>
</div>
</div>
<?php if($this->config->global->flow != 'onlyTask'): ?>
<div class="product-info">
<div class="progress-info"><i class="icon icon-check-circle text-success icon-sm"></i> <span class="text-muted"><?php echo $lang->story->released;?></span> <strong><?php echo $project->releasedStories;?></strong></div>
<div class="progress">
@@ -196,7 +195,6 @@ $(function()
</div>
</div>
</div>
<?php endif;?>
</div>
</div>
</div>
-6
View File
@@ -44,7 +44,6 @@
<div class="col col-right">
<h4><small class="text-muted"><?php echo date(DT_DATE3)?></small> <?php echo $lang->block->leftToday?></h4>
<div class="row tiles">
<?php if($this->config->global->flow == 'full' or $this->config->global->flow == 'onlyTask'):?>
<div class="col tile">
<div class="tile-title"><?php echo $lang->block->myTask?></div>
<div class="tile-amount"><?php echo empty($tasks) ? 0 : html::a($this->createLink('my', 'task', 'type=assignedTo'), (int)$tasks);?></div>
@@ -54,8 +53,6 @@
</div>
<?php endif;?>
</div>
<?php endif;?>
<?php if($this->config->global->flow == 'full' or $this->config->global->flow == 'onlyTest'):?>
<div class="col tile">
<div class="tile-title"><?php echo $lang->block->myBug?></div>
<div class="tile-amount"><?php echo empty($bugs) ? 0 : html::a($this->createLink('my', 'bug', 'type=assignedTo'), (int)$bugs);?></div>
@@ -65,13 +62,10 @@
</div>
<?php endif;?>
</div>
<?php endif;?>
<?php if($this->config->global->flow == 'full' or $this->config->global->flow == 'onlyStory'):?>
<div class="col tile">
<div class="tile-title"><?php echo $lang->block->myStory?></div>
<div class="tile-amount"><?php echo empty($stories) ? 0 : html::a($this->createLink('my', 'story', 'type=assignedTo'), (int)$stories);?></div>
</div>
<?php endif;?>
</div>
</div>
</div>
-19
View File
@@ -46,17 +46,6 @@ $config->bug->custom->createFields = $config->bug->list->customCreateFields
$config->bug->custom->batchCreateFields = 'project,deadline,steps,type,severity,os,browser';
$config->bug->custom->batchEditFields = 'type,severity,pri,branch,assignedTo,deadline,status,resolvedBy,resolution';
if($config->global->flow == 'onlyTest')
{
$config->bug->list->allFields = str_replace(array('project, ', 'story, ', 'task,'), '', $config->bug->list->allFields);
$config->bug->list->exportFields = str_replace(array('project, ', 'story, ', 'task,'), '', $config->bug->list->exportFields);
$config->bug->list->customCreateFields = str_replace(array('project,', 'story,', 'task,'), '', $config->bug->list->customCreateFields);
$config->bug->list->customBatchCreateFields = str_replace('project,', '', $config->bug->list->customBatchCreateFields);
$config->bug->custom->batchCreateFields = str_replace('project,', '', $config->bug->custom->batchCreateFields);
}
$config->bug->editor = new stdclass();
$config->bug->editor->create = array('id' => 'steps', 'tools' => 'bugTools');
$config->bug->editor->edit = array('id' => 'steps,comment', 'tools' => 'bugTools');
@@ -113,14 +102,6 @@ $config->bug->search['fields']['closedDate'] = $lang->bug->closedDate;
$config->bug->search['fields']['lastEditedDate'] = $lang->bug->lastEditedDateAB;
$config->bug->search['fields']['deadline'] = $lang->bug->deadline;
if($config->global->flow == 'onlyTest')
{
unset($config->bug->search['fields']['project']);
unset($config->bug->search['fields']['plan']);
unset($config->bug->search['fields']['toTask']);
unset($config->bug->search['fields']['toStory']);
}
$config->bug->search['params']['title'] = array('operator' => 'include', 'control' => 'input', 'values' => '');
$config->bug->search['params']['keywords'] = array('operator' => 'include', 'control' => 'input', 'values' => '');
$config->bug->search['params']['steps'] = array('operator' => 'include', 'control' => 'input', 'values' => '');
-8
View File
@@ -31,14 +31,6 @@ class bug extends control
$this->loadModel('task');
$this->view->products = $this->products = $this->product->getPairs('nocode');
if($this->config->global->flow == 'onlyTest')
{
$this->config->bug->list->customCreateFields = str_replace(array('project,', 'story,', 'task,'), '', $this->config->bug->list->customCreateFields);
$this->config->bug->list->customBatchCreateFields = str_replace('project,', '', $this->config->bug->list->customBatchCreateFields);
$this->config->bug->custom->batchCreateFields = str_replace('project,', '', $this->config->bug->custom->batchCreateFields);
}
if(empty($this->products)) die($this->locate($this->createLink('product', 'showErrorNone', "fromModule=bug")));
}
-39
View File
@@ -1,43 +1,4 @@
$(function()
{
if($('#bugList thead th.c-title').width() < 150) $('#bugList thead th.c-title').width(150);
if(flow == 'onlyTest')
{
$('#subNavbar > .nav li[data-id=' + browseType + ']').addClass('active');
var $more = $('#subNavbar > .nav > li[data-id=more]');
if($more.find('.dropdown-menu').children().length)
{
$more.find('.dropdown-menu').children().each(function()
{
if($(this).hasClass('active')) $more.addClass('active');
});
}
var navWidth = $('#subNavbar > .nav').width();
var leftWidth = 0;
var rightWidth = 0;
$rightNav = $('#subNavbar > .nav > li.right');
rightLength = $rightNav.length;
for(i = 0; i < rightLength; i++) rightWidth += $rightNav.eq(i).width();
var maxWidth = navWidth - $('#subNavbar > .nav > #bysearchTab').width() - rightWidth - 100;
$('#subNavbar > .nav > li:not(.right)').each(function()
{
if(leftWidth > maxWidth)
{
if($(this).attr('id') != 'moreMenus' && $(this).attr('id') != 'bysearchTab')
{
$('#subNavbar').removeClass('hidden');
$('#subNavbar > ul').append($(this)[0]);
}
}
else
{
leftWidth += $(this).width();
}
})
}
});
-1
View File
@@ -495,7 +495,6 @@ function notice()
var branch = $('#branch').val();
if(typeof(branch) == 'undefined') branch = 0;
var link = createLink('release', 'create', 'productID=' + $('#product').val() + '&branch=' + branch);
if(typeof(flow) != 'undefined' && flow == 'onlyTest') link = createLink('build', 'create','projectID=' + $('#product').val());
link += config.requestType == 'GET' ? '&onlybody=yes' : '?onlybody=yes';
html += '<a href="' + link + '" data-toggle="modal" data-type="iframe" style="padding-right:5px">' + createBuild + '</a> ';
html += '<a href="javascript:loadProductBuilds(' + $('#product').val() + ')">' + refresh + '</a>';
+2 -29
View File
@@ -91,35 +91,8 @@ class bugModel extends model
$this->lang->modulePageActions = $pageActions;
foreach($this->lang->bug->menu as $key => $menu)
{
if($this->config->global->flow == 'full') $this->loadModel('qa')->setSubMenu('bug', $key, $productID);
if($this->config->global->flow != 'onlyTest')
{
$replace = $productID;
}
else
{
$replace = array();
$replace['productID'] = $productID;
$replace['branch'] = $branch;
$replace['param'] = $moduleID;
/* Replace for dropdown submenu. */
if(isset($this->lang->bug->subMenu->$key))
{
$subMenu = common::createSubMenu($this->lang->bug->subMenu->$key, $replace);
/* Avoid the menu shaking when change it by js. */
if(isset($subMenu[$browseType]))
{
$currentSubMenu = $subMenu[$browseType];
$this->lang->bug->menu->more['link'] = "$currentSubMenu->text|" . implode('|', $currentSubMenu->link);
}
if(!empty($subMenu)) $this->lang->bug->menu->{$key}['subMenu'] = $subMenu;
}
if($this->app->getMethodName() != 'view') $this->lang->bug->menu->bysearch = "<a class='querybox-toggle' id='bysearchTab'><i class='icon icon-search muted'> </i>{$this->lang->bug->byQuery}</a>";
}
$this->loadModel('qa')->setSubMenu('bug', $key, $productID);
$replace = $productID;
common::setMenuVars($this->lang->bug->menu, $key, $replace);
}
}
-7
View File
@@ -11,13 +11,6 @@
*/
?>
<?php include '../../common/view/header.html.php';?>
<?php if($config->global->flow == 'onlyTest'):?>
<style>
.nav > li > .btn-group > a, .nav > li > .btn-group > a:hover, .nav > li > .btn-group > a:focus{background: #1a4f85; border-color: #164270;}
.outer.with-side #featurebar {background: none; border: none; line-height: 0; margin: 0; min-height: 0; padding: 0; }
#querybox #searchform{border-bottom: 1px solid #ddd; margin-bottom: 20px;}
</style>
<?php endif;?>
<?php
include '../../common/view/datatable.fix.html.php';
js::set('browseType', $browseType);
+3 -3
View File
@@ -60,7 +60,7 @@ js::set('flow', $config->global->flow);
</div>
</td>
</tr>
<?php $showProject = (strpos(",$showFields,", ',project,') !== false && $config->global->flow != 'onlyTest');?>
<?php $showProject = (strpos(",$showFields,", ',project,') !== false);?>
<tr>
<th><?php echo ($showProject) ? $lang->bug->project : $lang->bug->type;?></th>
@@ -111,7 +111,7 @@ js::set('flow', $config->global->flow);
</td>
</tr>
<?php endif;?>
<?php if($this->config->global->flow != 'onlyTest' && $showProject):?>
<?php if($showProject):?>
<?php $showOS = strpos(",$showFields,", ',os,') !== false;?>
<?php $showBrowser = strpos(",$showFields,", ',browser,') !== false;?>
<tr>
@@ -228,7 +228,7 @@ js::set('flow', $config->global->flow);
$showStory = strpos(",$showFields,", ',story,') !== false;
$showTask = strpos(",$showFields,", ',task,') !== false;
?>
<?php if(($showStory or $showTask) and $this->config->global->flow != 'onlyTest'):?>
<?php if(($showStory or $showTask)):?>
<tr>
<th><?php echo ($showStory) ? $lang->bug->story : $lang->bug->task;?></th>
<?php if($showStory):?>
-4
View File
@@ -112,14 +112,12 @@ js::set('oldResolvedBuild' , $bug->resolvedBuild);
</div>
</td>
</tr>
<?php if($config->global->flow != 'onlyTest'):?>
<tr>
<th><?php echo $lang->bug->productplan;?></th>
<td>
<span id="planIdBox"><?php echo html::select('plan', $plans, $bug->plan, "class='form-control chosen'");?></span>
</td>
</tr>
<?php endif;?>
<tr>
<th><?php echo $lang->bug->type;?></th>
<td><?php echo html::select('type', $lang->bug->typeList, $bug->type, "class='form-control chosen'"); ?></td>
@@ -172,7 +170,6 @@ js::set('oldResolvedBuild' , $bug->resolvedBuild);
</tbody>
</table>
</div>
<?php if($config->global->flow != 'onlyTest'):?>
<div class='detail'>
<div class='detail-title'><?php echo $lang->bug->legendPrjStoryTask;?></div>
<table class='table table-form'>
@@ -193,7 +190,6 @@ js::set('oldResolvedBuild' , $bug->resolvedBuild);
</tbody>
</table>
</div>
<?php endif;?>
<div class='detail'>
<div class='detail-title'><?php echo $lang->bug->legendLife;?></div>
<table class='table table-form'>
+1 -7
View File
@@ -77,7 +77,7 @@
common::printIcon('bug', 'close', $params, $bug, 'button', '', '', 'text-danger iframe showinonlybody', true);
common::printIcon('bug', 'activate', $params, $bug, 'button', '', '', 'text-success iframe showinonlybody', true);
if($config->global->flow != 'onlyTest') common::printIcon('bug', 'toStory', "product=$bug->product&branch=$bug->branch&module=0&story=0&project=0&bugID=$bug->id", $bug, 'button', $lang->icons['story'], '', '', '', '', $lang->bug->toStory);
common::printIcon('bug', 'toStory', "product=$bug->product&branch=$bug->branch&module=0&story=0&project=0&bugID=$bug->id", $bug, 'button', $lang->icons['story'], '', '', '', '', $lang->bug->toStory);
common::printIcon('bug', 'createCase', $convertParams, $bug, 'button', 'sitemap');
echo $this->buildOperateMenu($bug, 'view');
@@ -96,9 +96,7 @@
<div class='tabs'>
<ul class='nav nav-tabs'>
<li class='active'><a href='#legendBasicInfo' data-toggle='tab'><?php echo $lang->bug->legendBasicInfo;?></a></li>
<?php if($config->global->flow != 'onlyTest'):?>
<li><a href='#legendPrjStoryTask' data-toggle='tab'><?php echo $lang->bug->legendPrjStoryTask;?></a></li>
<?php endif;?>
</ul>
<div class='tab-content'>
<div class='tab-pane active' id='legendBasicInfo'>
@@ -229,7 +227,6 @@
</tbody>
</table>
</div>
<?php if($config->global->flow != 'onlyTest'):?>
<div class='tab-pane' id='legendPrjStoryTask'>
<table class='table table-data'>
<tbody>
@@ -258,7 +255,6 @@
</tbody>
</table>
</div>
<?php endif;?>
</div>
</div>
</div>
@@ -356,7 +352,6 @@
</td>
</tr>
<?php endif;?>
<?php if($config->global->flow != 'onlyTest'):?>
<?php if($bug->toStory != 0):?>
<tr>
<th><?php echo $lang->bug->toStory;?></th>
@@ -369,7 +364,6 @@
<td><?php echo html::a($this->createLink('task', 'view', "taskID=$bug->toTask", '', true), "#$bug->toTask $bug->toTaskTitle", '', "class='iframe' data-width='80%'");?></td>
</tr>
<?php endif;?>
<?php endif;?>
</tbody>
</table>
</div>
+69 -120
View File
@@ -39,45 +39,27 @@ class build extends control
$this->loadModel('project');
$this->loadModel('user');
if($this->config->global->flow == 'onlyTest')
{
$product = $this->loadModel('product')->getByID($projectID);
$products = $this->product->getPairs();
$this->product->setMenu($products, $projectID);
$this->lang->build->menu = $this->lang->product->menu;
/* Set menu. */
$this->project->setMenu($this->project->getPairs(), $projectID);
$productGroups = array();
$product->branch = 0;
foreach($products as $productID => $name) $productGroups[$productID]['branch'] = 0;
/* Get stories and bugs. */
$orderBy = 'status_asc, stage_asc, id_desc';
$this->view->title = $this->lang->build->create;
$this->view->product = $product;
$this->view->branches = ($product and $product->type == 'normal') ? array() : $this->loadModel('branch')->getPairs($projectID);
}
else
{
/* Set menu. */
$this->project->setMenu($this->project->getPairs(), $projectID);
/* Assign. */
$project = $this->loadModel('project')->getById($projectID);
/* Get stories and bugs. */
$orderBy = 'status_asc, stage_asc, id_desc';
$productGroups = $this->project->getProducts($projectID);
$productID = $productID ? $productID : key($productGroups);
$products = array();
foreach($productGroups as $product) $products[$product->id] = $product->name;
/* Assign. */
$project = $this->loadModel('project')->getById($projectID);
$productGroups = $this->project->getProducts($projectID);
$productID = $productID ? $productID : key($productGroups);
$products = array();
foreach($productGroups as $product) $products[$product->id] = $product->name;
$this->view->title = $project->name . $this->lang->colon . $this->lang->build->create;
$this->view->position[] = html::a($this->createLink('project', 'task', "projectID=$projectID"), $project->name);
$this->view->position[] = $this->lang->build->create;
$this->view->product = isset($productGroups[$productID]) ? $productGroups[$productID] : '';
$this->view->branches = (isset($productGroups[$productID]) and $productGroups[$productID]->type == 'normal') ? array() : $this->loadModel('branch')->getPairs($productID);
$this->view->projectID = $projectID;
$this->view->orderBy = $orderBy;
}
$this->view->title = $project->name . $this->lang->colon . $this->lang->build->create;
$this->view->position[] = html::a($this->createLink('project', 'task', "projectID=$projectID"), $project->name);
$this->view->position[] = $this->lang->build->create;
$this->view->product = isset($productGroups[$productID]) ? $productGroups[$productID] : '';
$this->view->branches = (isset($productGroups[$productID]) and $productGroups[$productID]->type == 'normal') ? array() : $this->loadModel('branch')->getPairs($productID);
$this->view->projectID = $projectID;
$this->view->orderBy = $orderBy;
$this->view->products = $products;
$this->view->lastBuild = $this->build->getLast($projectID);
@@ -116,65 +98,46 @@ class build extends control
$build = $this->build->getById((int)$buildID);
if($this->config->global->flow == 'onlyTest')
$this->loadModel('project');
/* Set menu. */
$this->project->setMenu($this->project->getPairs(), $build->project);
/* Get stories and bugs. */
$orderBy = 'status_asc, stage_asc, id_desc';
/* Assign. */
$project = $this->loadModel('project')->getById($build->project);
if(empty($project))
{
$product = $this->loadModel('product')->getById($build->product);
$products = $this->product->getPairs();
$this->product->setMenu($products, $build->product);
$this->lang->build->menu = $this->lang->product->menu;
$productGroups = array();
$product->branch = 0;
foreach($products as $productID => $name) $productGroups[$productID]['branch'] = 0;
$this->view->title = $this->lang->build->edit;
$this->view->position[] = $this->lang->build->edit;
$this->view->product = $product;
$this->view->branches = ($product and $product->type == 'normal') ? array() : $this->loadModel('branch')->getPairs($build->product);
$project = new stdclass();
$project->name = '';
}
else
$projects = $this->loadModel('product')->getProjectPairs($build->product, $build->branch, 'nodeleted');
if(!isset($projects[$build->project])) $projects[$build->project] = $project->name;
$productGroups = $this->project->getProducts($build->project);
$this->loadModel('product');
if(!isset($productGroups[$build->product]))
{
$this->loadModel('project');
/* Set menu. */
$this->project->setMenu($this->project->getPairs(), $build->project);
/* Get stories and bugs. */
$orderBy = 'status_asc, stage_asc, id_desc';
/* Assign. */
$project = $this->loadModel('project')->getById($build->project);
if(empty($project))
{
$project = new stdclass();
$project->name = '';
}
$projects = $this->loadModel('product')->getProjectPairs($build->product, $build->branch, 'nodeleted');
if(!isset($projects[$build->project])) $projects[$build->project] = $project->name;
$productGroups = $this->project->getProducts($build->project);
$this->loadModel('product');
if(!isset($productGroups[$build->product]))
{
$product = $this->product->getById($build->product);
$product->branch = $build->branch;
$productGroups[$build->product] = $product;
}
$products = array();
foreach($productGroups as $product) $products[$product->id] = $product->name;
$this->view->title = $project->name . $this->lang->colon . $this->lang->build->edit;
$this->view->position[] = html::a($this->createLink('project', 'task', "projectID=$build->project"), $project->name);
$this->view->position[] = $this->lang->build->edit;
$this->view->product = isset($productGroups[$build->product]) ? $productGroups[$build->product] : '';
$this->view->branches = (isset($productGroups[$build->product]) and $productGroups[$build->product]->type == 'normal') ? array() : $this->loadModel('branch')->getPairs($build->product);
$this->view->projects = $projects;
$this->view->orderBy = $orderBy;
$product = $this->product->getById($build->product);
$product->branch = $build->branch;
$productGroups[$build->product] = $product;
}
$products = array();
foreach($productGroups as $product) $products[$product->id] = $product->name;
$this->view->title = $project->name . $this->lang->colon . $this->lang->build->edit;
$this->view->position[] = html::a($this->createLink('project', 'task', "projectID=$build->project"), $project->name);
$this->view->position[] = $this->lang->build->edit;
$this->view->product = isset($productGroups[$build->product]) ? $productGroups[$build->product] : '';
$this->view->branches = (isset($productGroups[$build->product]) and $productGroups[$build->product]->type == 'normal') ? array() : $this->loadModel('branch')->getPairs($build->product);
$this->view->projects = $projects;
$this->view->orderBy = $orderBy;
$this->view->productGroups = $productGroups;
$this->view->products = $products;
$this->view->users = $this->loadModel('user')->getPairs('noletter', $build->builder);
@@ -221,39 +184,26 @@ class build extends control
->page($bugPager)
->fetchAll();
if($this->config->global->flow == 'onlyTest')
{
$products = $this->loadModel('product')->getPairs();
$this->product->setMenu($products, $build->product, $buildID);
$this->lang->build->menu = $this->lang->product->menu;
$storyPager = new pager($type == 'story' ? $recTotal : 0, $recPerPage, $type == 'story' ? $pageID : 1);
$stories = $this->dao->select('*')->from(TABLE_STORY)->where('id')->in($build->stories)->andWhere('deleted')->eq(0)
->beginIF($type == 'story')->orderBy($orderBy)->fi()
->page($storyPager)
->fetchAll('id');
$stages = $this->dao->select('*')->from(TABLE_STORYSTAGE)->where('story')->in($build->stories)->andWhere('branch')->eq($build->branch)->fetchPairs('story', 'stage');
foreach($stages as $storyID => $stage)$stories[$storyID]->stage = $stage;
$this->view->title = "BUILD #$build->id $build->name - " . $build->productName;
$this->view->position[] = html::a($this->createLink('product', 'build', "productID=$build->product"), $build->productName);
$this->view->position[] = $this->lang->build->view;
}
else
{
$storyPager = new pager($type == 'story' ? $recTotal : 0, $recPerPage, $type == 'story' ? $pageID : 1);
$stories = $this->dao->select('*')->from(TABLE_STORY)->where('id')->in($build->stories)->andWhere('deleted')->eq(0)
->beginIF($type == 'story')->orderBy($orderBy)->fi()
->page($storyPager)
->fetchAll('id');
$stages = $this->dao->select('*')->from(TABLE_STORYSTAGE)->where('story')->in($build->stories)->andWhere('branch')->eq($build->branch)->fetchPairs('story', 'stage');
foreach($stages as $storyID => $stage)$stories[$storyID]->stage = $stage;
$this->loadModel('project')->setMenu($this->project->getPairs(), $build->project, $buildID);
$projects = $this->project->getPairs('empty');
$this->loadModel('project')->setMenu($this->project->getPairs(), $build->project, $buildID);
$projects = $this->project->getPairs('empty');
$this->view->title = "BUILD #$build->id $build->name - " . $projects[$build->project];
$this->view->position[] = html::a($this->createLink('project', 'task', "projectID=$build->project"), $projects[$build->project]);
$this->view->position[] = $this->lang->build->view;
$this->view->stories = $stories;
$this->view->storyPager = $storyPager;
$this->view->title = "BUILD #$build->id $build->name - " . $projects[$build->project];
$this->view->position[] = html::a($this->createLink('project', 'task', "projectID=$build->project"), $projects[$build->project]);
$this->view->position[] = $this->lang->build->view;
$this->view->stories = $stories;
$this->view->storyPager = $storyPager;
$generatedBugPager = new pager($type == 'generatedBug' ? $recTotal : 0, $recPerPage, $type == 'generatedBug' ? $pageID : 1);
$this->view->generatedBugs = $this->bug->getProjectBugs($build->project, $build->id, '', 0, $type == 'generatedBug' ? $orderBy : 'status_desc,id_desc', '', $generatedBugPager);
$this->view->generatedBugPager = $generatedBugPager;
}
$generatedBugPager = new pager($type == 'generatedBug' ? $recTotal : 0, $recPerPage, $type == 'generatedBug' ? $pageID : 1);
$this->view->generatedBugs = $this->bug->getProjectBugs($build->project, $build->id, '', 0, $type == 'generatedBug' ? $orderBy : 'status_desc,id_desc', '', $generatedBugPager);
$this->view->generatedBugPager = $generatedBugPager;
$this->executeHooks($buildID);
@@ -309,7 +259,6 @@ class build extends control
$this->send($response);
}
if($this->config->global->flow == 'onlyTest') die(js::locate($this->createLink('project', 'build', "productID=$build->product"), 'parent'));
die(js::locate($this->createLink('project', 'build', "projectID=$build->project"), 'parent'));
}
}
+19 -22
View File
@@ -44,30 +44,27 @@ function loadURL(url, type)
$(function()
{
if(flow != 'onlyTest')
if(link == 'true') showLink(buildID, type, param);
var infoShowed = false;
$('.nav.nav-tabs a[data-toggle="tab"]').on('shown.zui.tab', function(e)
{
if(link == 'true') showLink(buildID, type, param);
var infoShowed = false;
$('.nav.nav-tabs a[data-toggle="tab"]').on('shown.zui.tab', function(e)
var href = $(e.target).attr('href');
var tabPane = $(href + '.tab-pane');
if(tabPane.size() == 0) return;
var formID = tabPane.find('.linkBox').find('form:last');
if(formID.size() == 0) formID = tabPane.find('form:last');
if(href == '#buildInfo' && !infoShowed)
{
var href = $(e.target).attr('href');
var tabPane = $(href + '.tab-pane');
if(tabPane.size() == 0) return;
var formID = tabPane.find('.linkBox').find('form:last');
if(formID.size() == 0) formID = tabPane.find('form:last');
if(href == '#buildInfo' && !infoShowed)
var $tr = $('#buildInfo .detail-content .table-data tbody tr:first');
width = $tr.width() - $tr.find('th').width();
$('#buildInfo img').each(function()
{
var $tr = $('#buildInfo .detail-content .table-data tbody tr:first');
width = $tr.width() - $tr.find('th').width();
$('#buildInfo img').each(function()
{
if($(this).parent().prop('tagName').toLowerCase() == 'a') $(this).unwrap();
setImageSize($(this), width, 0);
});
if($(this).parent().prop('tagName').toLowerCase() == 'a') $(this).unwrap();
setImageSize($(this), width, 0);
});
infoShowed = true;
}
});
}
infoShowed = true;
}
});
})
-3
View File
@@ -208,8 +208,6 @@ class buildModel extends model
->remove('resolvedBy,allchecker,files,labels,uid')
->get();
if($this->config->global->flow == 'onlyTest') $build->project = 0;
$build = $this->loadModel('file')->processImgURL($build, $this->config->build->editor->create['id'], $this->post->uid);
$this->dao->insert(TABLE_BUILD)->data($build)
->autoCheck()
@@ -244,7 +242,6 @@ class buildModel extends model
->remove('allchecker,resolvedBy,files,labels,uid')
->get();
if($this->config->global->flow == 'onlyTest') $this->config->build->edit->requiredFields = str_replace('project,', '', $this->config->build->edit->requiredFields);
$build = $this->loadModel('file')->processImgURL($build, $this->config->build->editor->edit['id'], $this->post->uid);
$this->dao->update(TABLE_BUILD)->data($build)
->autoCheck()
-2
View File
@@ -43,12 +43,10 @@
</td>
<td><?php if($disabled) echo $lang->build->notice->changeProduct;?></td>
</tr>
<?php if($this->config->global->flow != 'onlyTest'):?>
<tr>
<th><?php echo $lang->build->project;?></th>
<td id='projectsBox'><?php echo html::select('project', $projects, $build->project, "class='form-control chosen' required");?></td>
</tr>
<?php endif;?>
<tr>
<th><?php echo $lang->build->name;?></th>
<td><?php echo html::input('name', $build->name, "class='form-control' required");?></td>
-29
View File
@@ -59,28 +59,6 @@ tbody tr td:first-child input{display:none;}
</div>
</div>
<div id='mainContent' class='main-content'>
<?php if($config->global->flow == 'onlyTest'):?>
<div class='detail'>
<div class='detail-title'><?php echo $lang->build->desc;?></div>
<div class='detail-content article-content'><?php echo $build->desc;?></div>
</div>
<?php echo $this->fetch('file', 'printFiles', array('files' => $build->files, 'fieldset' => 'true'));?>
<?php include '../../common/view/action.html.php';?>
<div id="mainActions" class='main-actions'>
<nav class="container"></nav>
<div class="btn-toolbar">
<?php
common::printBack($browseLink);
if(!$build->deleted)
{
echo "<div class='divider'></div>";
common::printIcon('build', 'edit', "buildID=$build->id", $build);
common::printIcon('build', 'delete', "buildID=$build->id", $build, 'button', '', 'hiddenwin');
}
?>
</div>
</div>
<?php else:?>
<div class='tabs' id='tabsNav'>
<?php $countStories = count($stories); $countBugs = count($bugs); $countGeneratedBugs = count($generatedBugs);?>
<ul class='nav nav-tabs'>
@@ -360,7 +338,6 @@ tbody tr td:first-child input{display:none;}
<td style='word-break:break-all;'><?php echo html::a($build->filePath, $build->filePath, '_blank');?></td>
</tr>
<?php $this->printExtendFields($build, 'table', 'inForm=0');?>
<?php if($config->global->flow != 'onlyTest'):?>
<tr>
<th style="vertical-align:top"><?php echo $lang->build->desc;?></th>
<td>
@@ -371,24 +348,18 @@ tbody tr td:first-child input{display:none;}
<?php endif;?>
</td>
</tr>
<?php endif;?>
</table>
</div>
</div>
<?php if($config->global->flow != 'onlyTest'):?>
<?php echo $this->fetch('file', 'printFiles', array('files' => $build->files, 'fieldset' => 'true'));?>
<?php endif;?>
<?php include '../../common/view/action.html.php';?>
</div>
</div>
</div>
</div>
<?php endif;?>
</div>
<?php if($config->global->flow != 'onlyTest'):?>
<?php js::set('param', helper::safe64Decode($param))?>
<?php js::set('link', $link)?>
<?php js::set('buildID', $build->id)?>
<?php js::set('type', $type)?>
<?php endif;?>
<?php include '../../common/view/footer.html.php';?>
-18
View File
@@ -41,24 +41,6 @@ class caselibModel extends model
}
}
if($this->config->global->flow == 'onlyTest')
{
$modules = $this->loadModel('tree')->getModulePairs($libID, 'caselib');
$moduleName = ($moduleID && isset($modules[$moduleID])) ? $modules[$moduleID] : $this->lang->tree->all;
if(!$isMobile)
{
$dropMenuLink = helper::createLink('tree', 'ajaxGetDropMenu', "objectID=$libID&module=caselib&method=browse");
$selectHtml .= "<div class='btn-group'><button id='currentModule' data-toggle='dropdown' type='button' class='btn btn-limit'>{$moduleName} <span class='caret'></span></button><div id='dropMenu' class='dropdown-menu search-list' data-ride='searchList' data-url='$dropMenuLink'>";
$selectHtml .= '<div class="input-control search-box has-icon-left has-icon-right search-example"><input type="search" class="form-control search-input" /><label class="input-control-icon-left search-icon"><i class="icon icon-search"></i></label><a class="input-control-icon-right search-clear-btn"><i class="icon icon-close icon-sm"></i></a></div>';
$selectHtml .= "</div></div>";
}
else
{
$selectHtml .= "<a id='currentModule' href=\"javascript:showSearchMenu('tree', '$libID', 'caselib', 'browse', '')\">{$moduleName} <span class='icon-caret-down'></span></a><div id='currentBranchDropMenu' class='hidden affix enter-from-bottom layer'></div>";
}
}
setCookie("lastCaseLib", $libID, $this->config->cookieLife, $this->config->webRoot, '', false, true);
$pageNav = '';
-9
View File
@@ -19,7 +19,6 @@ js::set('confirmDelete', $lang->testcase->confirmDelete);
js::set('batchDelete', $lang->testcase->confirmBatchDelete);
js::set('flow', $config->global->flow);
?>
<?php if($config->global->flow != 'onlyTest'):?>
<div id='mainMenu' class='clearfix'>
<div id="sidebarHeader">
<div class="title">
@@ -61,7 +60,6 @@ js::set('flow', $config->global->flow);
<?php common::printLink('caselib', 'createCase', $params, "<i class='icon-plus'></i>" . $lang->testcase->create, '', "class='btn btn-primary'");?>
</div>
</div>
<?php endif;?>
<div id="mainContent" class="main-row fade">
<div class="side-col" id="sidebar">
<div class="sidebar-toggle"><i class="icon icon-angle-left"></i></div>
@@ -218,13 +216,6 @@ js::set('flow', $config->global->flow);
</div>
<script>
$('#module' + moduleID).addClass('active');
<?php if($config->global->flow == 'full'):?>
$('#<?php echo $this->session->libBrowseType?>Tab').addClass('btn-active-text').append(" <span class='label label-light label-badge'><?php echo $pager->recTotal;?></span>");
<?php endif;?>
if(flow == 'onlyTest')
{
$('#subNavbar > .nav > li').removeClass('active');
$('#subNavbar > .nav > li[data-id=' + browseType + ']').addClass('active');
}
</script>
<?php include '../../common/view/footer.html.php';?>
-240
View File
@@ -692,243 +692,3 @@ $lang->icons['confirmStoryChange'] = 'search';
$lang->icons['score'] = 'tint';
include (dirname(__FILE__) . '/menuOrder.php');
global $config;
if(isset($config->global->flow) and $config->global->flow == 'onlyStory')
{
/* Remove project, report and qa module. */
unset($lang->menu->project);
unset($lang->menu->report);
unset($lang->menu->qa);
unset($lang->menuOrder[15]);
unset($lang->menuOrder[20]);
unset($lang->menuOrder[35]);
/* Adjust sub menu of my dashboard. */
unset($lang->my->menu->bug);
unset($lang->my->menu->testtask);
unset($lang->my->menu->task);
unset($lang->my->menu->myProject);
/* Adjust sub menu of product module. */
unset($lang->product->menu->project);
unset($lang->product->menu->doc);
/* Rename product module. */
$lang->menu->product = "{$lang->productCommon}|product|index";
/* Adjust search items. */
unset($lang->searchObjects['bug']);
unset($lang->searchObjects['task']);
unset($lang->searchObjects['testcase']);
unset($lang->searchObjects['project']);
unset($lang->searchObjects['build']);
unset($lang->searchObjects['testtask']);
unset($lang->searchObjects['testsuite']);
unset($lang->searchObjects['caselib']);
unset($lang->searchObjects['testreport']);
}
if(isset($config->global->flow) and $config->global->flow == 'onlyTask')
{
/* Remove product, report and qa module. */
unset($lang->menu->product);
unset($lang->menu->report);
unset($lang->menu->qa);
unset($lang->menuOrder[10]);
unset($lang->menuOrder[20]);
unset($lang->menuOrder[35]);
/* Adjust sub menu of my dashboard. */
unset($lang->my->menu->bug);
unset($lang->my->menu->testtask);
unset($lang->my->menu->story);
/* Adjust sub menu of project module. */
unset($lang->project->menu->story);
unset($lang->project->menu->build);
unset($lang->project->menu->qa);
unset($lang->project->menu->product);
unset($lang->project->menu->doc);
/* Remove sub menu of product module. */
unset($lang->product->menu);
unset($lang->product->menuOrder);
unset($lang->searchObjects['story']);
unset($lang->searchObjects['product']);
unset($lang->searchObjects['testcase']);
unset($lang->searchObjects['release']);
unset($lang->searchObjects['productplan']);
unset($lang->searchObjects['testsuite']);
unset($lang->searchObjects['caselib']);
unset($lang->searchObjects['testreport']);
}
if(isset($config->global->flow) and $config->global->flow == 'onlyTest')
{
/* Remove project and test module. */
unset($lang->menu->project);
unset($lang->menu->qa);
unset($lang->menu->report);
unset($lang->menuOrder[15]);
unset($lang->menuOrder[20]);
unset($lang->menuOrder[35]);
/* Rename product module. */
$lang->menu->product = "{$lang->productCommon}|product|index";
/* Adjust sub menu of my dashboard. */
unset($lang->my->menu->task);
unset($lang->my->menu->myProject);
unset($lang->my->menu->story);
/* Remove sub menu of project module. */
unset($lang->project->menu);
unset($lang->project->menuOrder);
$lang->project->menu = new stdclass();
$lang->project->menu->list = array('alias' => '');
/* Add bug, testcase and testtask module. */
$lang->menu->bug = 'Bug|bug|index';
$lang->menu->testcase = 'Functional Test|testcase|index';
$lang->menu->unit = 'Unit Test|testtask|browseUnits';
$lang->menu->testsuite = 'Test Suite|testsuite|index';
$lang->menu->testtask = 'Test Aufgaben|testtask|index';
$lang->menu->caselib = 'Fall Bibliothek|caselib|browse';
$lang->menuOrder[6] = 'bug';
$lang->menuOrder[7] = 'testcase';
$lang->menuOrder[8] = 'unit';
$lang->menuOrder[9] = 'testsuite';
$lang->menuOrder[10] = 'testtask';
$lang->menuOrder[11] = 'caselib';
$lang->menuOrder[12] = 'product';
/* Adjust sub menu of bug module. */
$lang->bug->menu = new stdclass();
$lang->bug->menu->all = 'Alle|bug|browse|productID=%s&branch=%s&browseType=all&param=%s';
$lang->bug->menu->unclosed = 'Öffnen|bug|browse|productID=%s&branch=%s&browseType=unclosed&param=%s';
$lang->bug->menu->openedbyme = 'VonMirErstellt|bug|browse|productID=%s&branch=%s&browseType=openedbyme&param=%s';
$lang->bug->menu->assigntome = 'MirZugeordnet|bug|browse|productID=%s&branch=%s&browseType=assigntome&param=%s';
$lang->bug->menu->resolvedbyme = 'VonMirGelöst|bug|browse|productID=%s&branch=%s&browseType=resolvedbyme&param=%s';
$lang->bug->menu->toclosed = 'ZuSchließen|bug|browse|productID=%s&branch=%s&browseType=toclosed&param=%s';
$lang->bug->menu->unresolved = 'Ungelöst|bug|browse|productID=%s&branch=%s&browseType=unresolved&param=%s';
$lang->bug->menu->more = array('link' => 'Mehr|bug|browse|productID=%s&branch=%s&browseType=unconfirmed&param=%s', 'class' => 'dropdown dropdown-hover');
$lang->bug->subMenu = new stdclass();
$lang->bug->subMenu->more = new stdclass();
$lang->bug->subMenu->more->unconfirmed = 'Unbestätigt|bug|browse|productID=%s&branch=%s&browseType=unconfirmed&param=%s';
$lang->bug->subMenu->more->assigntonull = 'Nicht zugeordnet|bug|browse|productID=%s&branch=%s&browseType=assigntonull&param=%s';
$lang->bug->subMenu->more->longlifebugs = 'Wartend|bug|browse|productID=%s&branch=%s&browseType=longlifebugs&param=%s';
$lang->bug->subMenu->more->postponedbugs = 'Verschoben|bug|browse|productID=%s&branch=%s&browseType=postponedbugs&param=%s';
$lang->bug->subMenu->more->overduebugs = 'Überfällig|bug|browse|productID=%s&branch=%s&browseType=overduebugs&param=%s';
$lang->bug->subMenu->more->needconfirm = 'Zu bestätigen|bug|browse|productID=%s&branch=%s&browseType=needconfirm&param=%s';
$lang->bug->menuOrder[5] = 'product';
$lang->bug->menuOrder[10] = 'all';
$lang->bug->menuOrder[15] = 'unclosed';
$lang->bug->menuOrder[20] = 'openedbyme';
$lang->bug->menuOrder[25] = 'assigntome';
$lang->bug->menuOrder[30] = 'resolvedbyme';
$lang->bug->menuOrder[35] = 'toclosed';
$lang->bug->menuOrder[40] = 'unresolved';
$lang->bug->menuOrder[45] = 'unconfirmed';
$lang->bug->menuOrder[50] = 'assigntonull';
$lang->bug->menuOrder[55] = 'longlifebugs';
$lang->bug->menuOrder[60] = 'postponedbugs';
$lang->bug->menuOrder[65] = 'overduebugs';
$lang->bug->menuOrder[70] = 'needconfirm';
/* Adjust sub menu of testcase. */
$lang->testcase->menu = new stdclass();
$lang->testcase->menu->all = 'Alle|testcase|browse|productID=%s&branch=%s&browseType=all';
$lang->testcase->menu->wait = 'Warten|testcase|browse|productID=%s&branch=%s&browseType=wait';
$lang->testcase->menu->bysuite = array('link' => 'Test Suite|testsuite|create|productID=%s', 'class' => 'dropdown dropdown-hover');
$lang->testcase->subMenu = new stdclass();
$lang->testcase->subMenu->bysuite = new stdclass();
$lang->testcase->subMenu->bysuite->create = 'Suite erstellen|testsuite|create|productID=%s';
$lang->testcase->menuOrder[5] = 'product';
$lang->testcase->menuOrder[10] = 'all';
$lang->testcase->menuOrder[15] = 'wait';
$lang->testcase->menuOrder[20] = 'suite';
/* Adjust sub menu of bug module. */
$lang->testsuite->menu = new stdclass();
$lang->testsuite->menuOrder[5] = 'product';
/* Adjust sub menu of testtask. */
$lang->testtask->menu = new stdclass();
$lang->testtask->menu->totalStatus = 'Alle|testtask|browse|productID=%s&branch=%s&type=%s,totalStatus';
$lang->testtask->menu->wait = 'Warten|testtask|browse|productID=%s&branch=%s&type=%s,wait';
$lang->testtask->menu->doing = 'In Arbeit|testtask|browse|productID=%s&branch=%s&type=%s,doing';
$lang->testtask->menu->blocked = 'Blockiert|testtask|browse|productID=%s&branch=%s&type=%s,blocked';
$lang->testtask->menu->done = 'Erledigt|testtask|browse|productID=%s&branch=%s&type=%s,done';
$lang->testtask->menu->report = array('link' => 'Berichte|testreport|browse');
$lang->testtask->menuOrder[5] = 'product';
$lang->testtask->menuOrder[10] = 'scope';
$lang->testtask->menuOrder[15] = 'totalStatus';
$lang->testtask->menuOrder[20] = 'wait';
$lang->testtask->menuOrder[25] = 'doing';
$lang->testtask->menuOrder[30] = 'blocked';
$lang->testtask->menuOrder[35] = 'done';
$lang->testtask->menuOrder[40] = 'report';
$lang->testreport->menu = $lang->testtask->menu;
$lang->testreport->menuOrder = $lang->testtask->menuOrder;
/* Adjust sub menu of caselib module. */
$lang->caselib->menu = new stdclass();
$lang->caselib->menu->all = 'Alle|caselib|browse|libID=%s&browseType=all';
$lang->caselib->menu->wait = 'Warten|caselib|browse|libID=%s&browseType=wait';
$lang->caselib->menu->view = 'Anzeige|caselib|view|libID=%s';
$lang->caselib->menuOrder[5] = 'lib';
$lang->caselib->menuOrder[10] = 'all';
$lang->caselib->menuOrder[15] = 'wait';
$lang->caselib->menuOrder[20] = 'view';
/* Adjust sub menu of product module. */
unset($lang->product->menu->story);
unset($lang->product->menu->project);
unset($lang->product->menu->release);
unset($lang->product->menu->dynamic);
unset($lang->product->menu->plan);
unset($lang->product->menu->roadmap);
unset($lang->product->menu->doc);
unset($lang->product->menu->module);
unset($lang->product->menu->index);
$lang->product->menu->build = array('link' => 'Build|product|build', 'subModule' => 'build');
$lang->product->menuOrder[5] = 'build';
$lang->product->menuOrder[10] = 'view';
$lang->product->menuOrder[15] = 'order';
$lang->build->menu = $lang->product->menu;
$lang->build->menuOrder = $lang->product->menuOrder;
/* Adjust menu group. */
$lang->menugroup->bug = 'bug';
$lang->menugroup->testcase = 'testcase';
$lang->menugroup->case = 'testcase';
$lang->menugroup->testtask = 'testtask';
$lang->menugroup->testsuite = 'testsuite';
$lang->menugroup->caselib = 'caselib';
$lang->menugroup->testreport = 'testtask';
$lang->menugroup->build = 'product';
/* Adjust search objects. */
unset($lang->searchObjects['story']);
unset($lang->searchObjects['task']);
unset($lang->searchObjects['release']);
unset($lang->searchObjects['project']);
unset($lang->searchObjects['productplan']);
}
-323
View File
@@ -815,326 +815,3 @@ $lang->icons['confirmStoryChange'] = 'search';
$lang->icons['score'] = 'tint';
include (dirname(__FILE__) . '/menuOrder.php');
global $config;
if(isset($config->global->flow) and $config->global->flow == 'onlyStory')
{
/* Remove project, report and qa module. */
unset($lang->menu->project);
unset($lang->menu->report);
unset($lang->menu->qa);
unset($lang->menuOrder[15]);
unset($lang->menuOrder[20]);
unset($lang->menuOrder[35]);
/* Adjust sub menu of my dashboard. */
unset($lang->my->menu->bug);
unset($lang->my->menu->testtask);
unset($lang->my->menu->task);
unset($lang->my->menu->myProject);
/* Adjust sub menu of product module. */
unset($lang->product->menu->project);
unset($lang->product->menu->doc);
/* Rename product module. */
$lang->menu->product = "{$lang->productCommon}|product|index";
/* Adjust search items. */
unset($lang->searchObjects['bug']);
unset($lang->searchObjects['task']);
unset($lang->searchObjects['testcase']);
unset($lang->searchObjects['project']);
unset($lang->searchObjects['build']);
unset($lang->searchObjects['testtask']);
unset($lang->searchObjects['testsuite']);
unset($lang->searchObjects['caselib']);
unset($lang->searchObjects['testreport']);
}
if(isset($config->global->flow) and $config->global->flow == 'onlyTask')
{
/* Remove product, report and qa module. */
unset($lang->menu->product);
unset($lang->menu->report);
unset($lang->menu->qa);
unset($lang->menuOrder[10]);
unset($lang->menuOrder[20]);
unset($lang->menuOrder[35]);
/* Adjust sub menu of my dashboard. */
unset($lang->my->menu->bug);
unset($lang->my->menu->testtask);
unset($lang->my->menu->story);
/* Adjust sub menu of project module. */
unset($lang->project->menu->story);
unset($lang->project->menu->build);
unset($lang->project->menu->qa);
unset($lang->project->menu->product);
unset($lang->project->menu->doc);
/* Remove sub menu of product module. */
unset($lang->product->menu);
unset($lang->product->menuOrder);
unset($lang->searchObjects['story']);
unset($lang->searchObjects['product']);
unset($lang->searchObjects['testcase']);
unset($lang->searchObjects['release']);
unset($lang->searchObjects['productplan']);
unset($lang->searchObjects['testsuite']);
unset($lang->searchObjects['caselib']);
unset($lang->searchObjects['testreport']);
}
if(isset($config->global->flow) and $config->global->flow == 'onlyTest')
{
/* Remove project and test module. */
unset($lang->menu->project);
unset($lang->menu->qa);
unset($lang->menu->report);
unset($lang->menuOrder[15]);
unset($lang->menuOrder[20]);
unset($lang->menuOrder[35]);
/* Rename product module. */
$lang->menu->product = "{$lang->productCommon}|product|index";
/* Adjust sub menu of my dashboard. */
unset($lang->my->menu->task);
unset($lang->my->menu->myProject);
unset($lang->my->menu->story);
/* Remove sub menu of project module. */
unset($lang->project->menu);
unset($lang->project->menuOrder);
$lang->project->menu = new stdclass();
$lang->project->menu->list = array('alias' => '');
/* Add bug, testcase and testtask module. */
$lang->menu->bug = 'Bug|bug|index';
$lang->menu->testcase = 'Functional Test|testcase|index';
$lang->menu->unit = 'Unit Test|testtask|browseUnits';
$lang->menu->testsuite = 'Suite|testsuite|index';
$lang->menu->testtask = 'Request|testtask|index';
$lang->menu->caselib = 'Case Library|caselib|browse';
$lang->menuOrder[6] = 'bug';
$lang->menuOrder[7] = 'testcase';
$lang->menuOrder[8] = 'unit';
$lang->menuOrder[9] = 'testsuite';
$lang->menuOrder[10] = 'testtask';
$lang->menuOrder[11] = 'caselib';
$lang->menuOrder[12] = 'product';
/* Adjust sub menu of bug module. */
$lang->bug->menu = new stdclass();
$lang->bug->menu->all = 'All|bug|browse|productID=%s&branch=%s&browseType=all&param=%s';
$lang->bug->menu->unclosed = 'Unclosed|bug|browse|productID=%s&branch=%s&browseType=unclosed&param=%s';
$lang->bug->menu->openedbyme = 'ReportedByMe|bug|browse|productID=%s&branch=%s&browseType=openedbyme&param=%s';
$lang->bug->menu->assigntome = 'AssignedToMe|bug|browse|productID=%s&branch=%s&browseType=assigntome&param=%s';
$lang->bug->menu->resolvedbyme = 'ResolvedByMe|bug|browse|productID=%s&branch=%s&browseType=resolvedbyme&param=%s';
$lang->bug->menu->toclosed = 'ToBeClosed|bug|browse|productID=%s&branch=%s&browseType=toclosed&param=%s';
$lang->bug->menu->unresolved = 'Active|bug|browse|productID=%s&branch=%s&browseType=unresolved&param=%s';
$lang->bug->menu->more = array('link' => 'More|bug|browse|productID=%s&branch=%s&browseType=unconfirmed&param=%s', 'class' => 'dropdown dropdown-hover');
$lang->bug->subMenu = new stdclass();
$lang->bug->subMenu->more = new stdclass();
$lang->bug->subMenu->more->unconfirmed = 'Unconfirmed|bug|browse|productID=%s&branch=%s&browseType=unconfirmed&param=%s';
$lang->bug->subMenu->more->assigntonull = 'Unassigned|bug|browse|productID=%s&branch=%s&browseType=assigntonull&param=%s';
$lang->bug->subMenu->more->longlifebugs = 'Stalled|bug|browse|productID=%s&branch=%s&browseType=longlifebugs&param=%s';
$lang->bug->subMenu->more->postponedbugs = 'Postponed|bug|browse|productID=%s&branch=%s&browseType=postponedbugs&param=%s';
$lang->bug->subMenu->more->overduebugs = 'Overdue|bug|browse|productID=%s&branch=%s&browseType=overduebugs&param=%s';
$lang->bug->subMenu->more->needconfirm = 'ToBeConfirmed|bug|browse|productID=%s&branch=%s&browseType=needconfirm&param=%s';
$lang->bug->menuOrder[5] = 'product';
$lang->bug->menuOrder[10] = 'all';
$lang->bug->menuOrder[15] = 'unclosed';
$lang->bug->menuOrder[20] = 'openedbyme';
$lang->bug->menuOrder[25] = 'assigntome';
$lang->bug->menuOrder[30] = 'resolvedbyme';
$lang->bug->menuOrder[35] = 'toclosed';
$lang->bug->menuOrder[40] = 'unresolved';
$lang->bug->menuOrder[45] = 'unconfirmed';
$lang->bug->menuOrder[50] = 'assigntonull';
$lang->bug->menuOrder[55] = 'longlifebugs';
$lang->bug->menuOrder[60] = 'postponedbugs';
$lang->bug->menuOrder[65] = 'overduebugs';
$lang->bug->menuOrder[70] = 'needconfirm';
/* Adjust sub menu of testcase. */
$lang->testcase->menu = new stdclass();
$lang->testcase->menu->all = 'All|testcase|browse|productID=%s&branch=%s&browseType=all';
$lang->testcase->menu->wait = 'Waiting|testcase|browse|productID=%s&branch=%s&browseType=wait';
$lang->testcase->menu->bysuite = array('link' => 'Suite|testsuite|create|productID=%s', 'class' => 'dropdown dropdown-hover');
$lang->testcase->subMenu = new stdclass();
$lang->testcase->subMenu->bysuite = new stdclass();
$lang->testcase->subMenu->bysuite->create = 'Create Suite|testsuite|create|productID=%s';
$lang->testcase->menuOrder[5] = 'product';
$lang->testcase->menuOrder[10] = 'all';
$lang->testcase->menuOrder[15] = 'wait';
$lang->testcase->menuOrder[20] = 'suite';
/* Adjust sub menu of bug module. */
$lang->testsuite->menu = new stdclass();
$lang->testsuite->menuOrder[5] = 'product';
/* Adjust sub menu of testtask. */
$lang->testtask->menu = new stdclass();
$lang->testtask->menu->totalStatus = 'All|testtask|browse|productID=%s&branch=%s&type=%s,totalStatus';
$lang->testtask->menu->wait = 'Waiting|testtask|browse|productID=%s&branch=%s&type=%s,wait';
$lang->testtask->menu->doing = 'Doing|testtask|browse|productID=%s&branch=%s&type=%s,doing';
$lang->testtask->menu->blocked = 'Blocked|testtask|browse|productID=%s&branch=%s&type=%s,blocked';
$lang->testtask->menu->done = 'Done|testtask|browse|productID=%s&branch=%s&type=%s,done';
$lang->testtask->menu->report = array('link' => 'Report|testreport|browse');
$lang->testtask->menuOrder[5] = 'product';
$lang->testtask->menuOrder[10] = 'scope';
$lang->testtask->menuOrder[15] = 'totalStatus';
$lang->testtask->menuOrder[20] = 'wait';
$lang->testtask->menuOrder[25] = 'doing';
$lang->testtask->menuOrder[30] = 'blocked';
$lang->testtask->menuOrder[35] = 'done';
$lang->testtask->menuOrder[40] = 'report';
$lang->testreport->menu = $lang->testtask->menu;
$lang->testreport->menuOrder = $lang->testtask->menuOrder;
/* Adjust sub menu of caselib module. */
$lang->caselib->menu = new stdclass();
$lang->caselib->menu->all = 'All|caselib|browse|libID=%s&browseType=all';
$lang->caselib->menu->wait = 'Waiting|caselib|browse|libID=%s&browseType=wait';
$lang->caselib->menu->view = 'View|caselib|view|libID=%s';
$lang->caselib->menuOrder[5] = 'lib';
$lang->caselib->menuOrder[10] = 'all';
$lang->caselib->menuOrder[15] = 'wait';
$lang->caselib->menuOrder[20] = 'view';
/* Adjust sub menu of product module. */
unset($lang->product->menu->story);
unset($lang->product->menu->project);
unset($lang->product->menu->release);
unset($lang->product->menu->dynamic);
unset($lang->product->menu->plan);
unset($lang->product->menu->roadmap);
unset($lang->product->menu->doc);
unset($lang->product->menu->module);
unset($lang->product->menu->index);
$lang->product->menu->build = array('link' => 'Build|product|build', 'subModule' => 'build');
$lang->product->menuOrder[5] = 'build';
$lang->product->menuOrder[10] = 'view';
$lang->product->menuOrder[15] = 'order';
$lang->build->menu = $lang->product->menu;
$lang->build->menuOrder = $lang->product->menuOrder;
/* Adjust menu group. */
$lang->menugroup->bug = 'bug';
$lang->menugroup->testcase = 'testcase';
$lang->menugroup->case = 'testcase';
$lang->menugroup->testtask = 'testtask';
$lang->menugroup->testsuite = 'testsuite';
$lang->menugroup->caselib = 'caselib';
$lang->menugroup->testreport = 'testtask';
$lang->menugroup->build = 'product';
/* Adjust search objects. */
unset($lang->searchObjects['story']);
unset($lang->searchObjects['task']);
unset($lang->searchObjects['release']);
unset($lang->searchObjects['project']);
unset($lang->searchObjects['productplan']);
}
/* Cmmi menu. */
$lang->menu->cmmi = new stdclass();
$lang->menu->cmmi->programindex = array('link' => 'Home|program|index|program={PROGRAM}');
$lang->menu->cmmi->programplan = array('link' => 'Programplan|programplan|browse|program={PROGRAM}', 'subModule' => 'programplan');
$lang->menu->cmmi->project = array('link' => $lang->projectCommon . '|project|task|projectID={PROJECT}', 'subModule' => ',project,task,');
$lang->menu->cmmi->weekly = array('link' => 'Weekly|weekly|index|program={PROGRAM}', 'subModule' => ',milestone,');
$lang->menu->cmmi->doc = array('link' => 'Doc|doc|index|program={PROGRAM}');
$lang->menu->cmmi->product = array('link' => 'Story|product|browse|product={PRODUCT}&branch=&browseType=unclosed&queryID=0&storyType=requirement', 'subModule' => ',story,');
$lang->menu->cmmi->design = 'Design|design|browse|product={PRODUCT}';
$lang->menu->cmmi->ci = 'Ci|repo|browse|';
$lang->menu->cmmi->qa = array('link' => 'QA|bug|browse|product={PRODUCT}', 'subModule' => ',testcase,testtask,testsuite,testreport,caselib,');
$lang->menu->cmmi->release = array('link' => 'Release|release|browse|product={PRODUCT}', 'subModule' => 'release');
$lang->menu->cmmi->issue = 'Issue|issue|browse|';
$lang->menu->cmmi->risk = 'Risk|risk|browse|';
$lang->menu->cmmi->list = array('link' => 'More|workestimation|index|program={PROGRAM}', 'class' => 'dropdown dropdown-hover cmmi-list', 'subModule' => 'stakeholder,workestimation,durationestimation,budget,pssp,stakeholder');
/* Srcum menu. */
$lang->menu->srcum = new stdclass();
$lang->menu->srcum->programindex = array('link' => 'Home|program|index|program={PROGRAM}');
$lang->cmmi = new stdclass();
$lang->cmmi->subMenu = new stdclass();
$lang->cmmi->subMenu->list = new stdclass();
$lang->cmmi->subMenu->list->workestimation = array('link' => 'Workestimation|workestimation|index|program=%s', 'subModule' => 'durationestimation,budget');
$lang->cmmi->subMenu->list->program = 'Program|program|edit|';
$lang->cmmiproduct = new stdclass();
$lang->workestimation = new stdclass();
$lang->budget = new stdclass();
$lang->programplan = new stdclass();
$lang->review = new stdclass();
$lang->weekly = new stdclass();
$lang->milestone = new stdclass();
$lang->design = new stdclass();
$lang->auditplan = new stdclass();
$lang->cm = new stdclass();
$lang->nc = new stdclass();
$lang->pssp = new stdclass();
$lang->issue = new stdclass();
$lang->risk = new stdclass();
$lang->stakeholder = new stdclass();
$lang->durationestimation = new stdclass();
$lang->workestimation->menu = new stdclass();
$lang->budget->menu = new stdclass();
$lang->programplan->menu = new stdclass();
$lang->review->menu = new stdclass();
$lang->weekly->menu = new stdclass();
$lang->milestone->menu = new stdclass();
$lang->cmmiproduct->menu = new stdclass();
$lang->design->menu = new stdclass();
$lang->auditplan->menu = new stdclass();
$lang->cm->menu = new stdclass();
$lang->pssp->menu = new stdclass();
$lang->issue->menu = new stdclass();
$lang->risk->menu = new stdclass();
$lang->stakeholder->menu = new stdclass();
$lang->durationestimation->menu = new stdclass();
$lang->workestimation->menu->index = 'Workestimation|workestimation|index|program={PROGRAM}';
$lang->workestimation->menu->duration = array('link' => 'Durationestimation|durationestimation|index|program={PROGRAM}', 'subModule' => 'durationestimation');
$lang->workestimation->menu->budget = array('link' => 'Budget|budget|summary|', 'subModule' => 'budget');
$lang->durationestimation->menu = $lang->workestimation->menu;
$lang->budget->menu = $lang->workestimation->menu;
$lang->programplan->menu->gantt = array('link' => 'Gantt|programplan|browse|programID={PROGRAM}&productID={PRODUCT}&type=gantt');
$lang->programplan->menu->lists = 'Stage|programplan|browse|programID={PROGRAM}&productID={PRODUCT}&type=lists';
$lang->weekly->menu->browse = 'Weekly|weekly|index|program={PROGRAM}';
$lang->weekly->menu->issue = 'Milestone|milestone|index|program={PROGRAM}';
$lang->cmmiproduct->menu->plan = array('link' => 'Plan|productplan|browse|productID={PRODUCT}', 'subModule' => 'productplan');
$lang->cmmiproduct->menu->requirement = 'User Story|product|browse|product={PRODUCT}&branch=&browseType=unclosed&queryID=0&storyType=requirement';
$lang->cmmiproduct->menu->story = 'Software Story|product|browse|product={PRODUCT}&branch=&browseType=unclosed&queryID=0&storyType=story';
$lang->cmmiproduct->menu->track = 'Track|story|track|product={PRODUCT}';
$lang->milestone->menu = $lang->weekly->menu;
$lang->nc->menu = $lang->auditplan->menu;
$lang->noMenuModule = array('my', 'todo', 'effort', 'program', 'report', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'holiday', 'custom', 'auditcl', 'subject', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'issue', 'risk', 'pssp', 'sms', 'message', 'webhook', 'search');
$lang->haveMenuMethod = array('custom');
-240
View File
@@ -692,243 +692,3 @@ $lang->icons['confirmStoryChange'] = 'search';
$lang->icons['score'] = 'tint';
include (dirname(__FILE__) . '/menuOrder.php');
global $config;
if(isset($config->global->flow) and $config->global->flow == 'onlyStory')
{
/* Remove project, report and qa module. */
unset($lang->menu->project);
unset($lang->menu->report);
unset($lang->menu->qa);
unset($lang->menuOrder[15]);
unset($lang->menuOrder[20]);
unset($lang->menuOrder[35]);
/* Adjust sub menu of my dashboard. */
unset($lang->my->menu->bug);
unset($lang->my->menu->testtask);
unset($lang->my->menu->task);
unset($lang->my->menu->myProject);
/* Adjust sub menu of product module. */
unset($lang->product->menu->project);
unset($lang->product->menu->doc);
/* Rename product module. */
$lang->menu->product = "{$lang->productCommon}|product|index";
/* Adjust search items. */
unset($lang->searchObjects['bug']);
unset($lang->searchObjects['task']);
unset($lang->searchObjects['testcase']);
unset($lang->searchObjects['project']);
unset($lang->searchObjects['build']);
unset($lang->searchObjects['testtask']);
unset($lang->searchObjects['testsuite']);
unset($lang->searchObjects['caselib']);
unset($lang->searchObjects['testreport']);
}
if(isset($config->global->flow) and $config->global->flow == 'onlyTask')
{
/* Remove product, report and qa module. */
unset($lang->menu->product);
unset($lang->menu->report);
unset($lang->menu->qa);
unset($lang->menuOrder[10]);
unset($lang->menuOrder[20]);
unset($lang->menuOrder[35]);
/* Adjust sub menu of my dashboard. */
unset($lang->my->menu->bug);
unset($lang->my->menu->testtask);
unset($lang->my->menu->story);
/* Adjust sub menu of project module. */
unset($lang->project->menu->story);
unset($lang->project->menu->build);
unset($lang->project->menu->qa);
unset($lang->project->menu->product);
unset($lang->project->menu->doc);
/* Remove sub menu of product module. */
unset($lang->product->menu);
unset($lang->product->menuOrder);
unset($lang->searchObjects['story']);
unset($lang->searchObjects['product']);
unset($lang->searchObjects['testcase']);
unset($lang->searchObjects['release']);
unset($lang->searchObjects['productplan']);
unset($lang->searchObjects['testsuite']);
unset($lang->searchObjects['caselib']);
unset($lang->searchObjects['testreport']);
}
if(isset($config->global->flow) and $config->global->flow == 'onlyTest')
{
/* Remove project and test module. */
unset($lang->menu->project);
unset($lang->menu->qa);
unset($lang->menu->report);
unset($lang->menuOrder[15]);
unset($lang->menuOrder[20]);
unset($lang->menuOrder[35]);
/* Rename product module. */
$lang->menu->product = "{$lang->productCommon}|product|index";
/* Adjust sub menu of my dashboard. */
unset($lang->my->menu->task);
unset($lang->my->menu->myProject);
unset($lang->my->menu->story);
/* Remove sub menu of project module. */
unset($lang->project->menu);
unset($lang->project->menuOrder);
$lang->project->menu = new stdclass();
$lang->project->menu->list = array('alias' => '');
/* Add bug, testcase and testtask module. */
$lang->menu->bug = 'Bug|bug|index';
$lang->menu->testcase = 'Tests Fonctionnels|testcase|index';
$lang->menu->unit = 'Unité de Test|testtask|browseUnits';
$lang->menu->testsuite = 'Cahier de Recette|testsuite|index';
$lang->menu->testtask = 'Recette|testtask|index';
$lang->menu->caselib = 'Library Recette|caselib|browse';
$lang->menuOrder[6] = 'bug';
$lang->menuOrder[7] = 'testcase';
$lang->menuOrder[8] = 'unit';
$lang->menuOrder[9] = 'testsuite';
$lang->menuOrder[10] = 'testtask';
$lang->menuOrder[11] = 'caselib';
$lang->menuOrder[12] = 'product';
/* Adjust sub menu of bug module. */
$lang->bug->menu = new stdclass();
$lang->bug->menu->all = 'Tous|bug|browse|productID=%s&branch=%s&browseType=all&param=%s';
$lang->bug->menu->unclosed = 'Non Fermés|bug|browse|productID=%s&branch=%s&browseType=unclosed&param=%s';
$lang->bug->menu->openedbyme = 'Détectés par Moi|bug|browse|productID=%s&branch=%s&browseType=openedbyme&param=%s';
$lang->bug->menu->assigntome = 'Affectés à Moi|bug|browse|productID=%s&branch=%s&browseType=assigntome&param=%s';
$lang->bug->menu->resolvedbyme = 'Résolus par Moi|bug|browse|productID=%s&branch=%s&browseType=resolvedbyme&param=%s';
$lang->bug->menu->toclosed = 'A Fermer|bug|browse|productID=%s&branch=%s&browseType=toclosed&param=%s';
$lang->bug->menu->unresolved = 'Actifs|bug|browse|productID=%s&branch=%s&browseType=unresolved&param=%s';
$lang->bug->menu->more = array('link' => 'More|bug|browse|productID=%s&branch=%s&browseType=unconfirmed&param=%s', 'class' => 'dropdown dropdown-hover');
$lang->bug->subMenu = new stdclass();
$lang->bug->subMenu->more = new stdclass();
$lang->bug->subMenu->more->unconfirmed = 'Non confirmés|bug|browse|productID=%s&branch=%s&browseType=unconfirmed&param=%s';
$lang->bug->subMenu->more->assigntonull = 'Non affectés|bug|browse|productID=%s&branch=%s&browseType=assigntonull&param=%s';
$lang->bug->subMenu->more->longlifebugs = 'Persistants|bug|browse|productID=%s&branch=%s&browseType=longlifebugs&param=%s';
$lang->bug->subMenu->more->postponedbugs = 'Reportés|bug|browse|productID=%s&branch=%s&browseType=postponedbugs&param=%s';
$lang->bug->subMenu->more->overduebugs = 'Retard|bug|browse|productID=%s&branch=%s&browseType=overduebugs&param=%s';
$lang->bug->subMenu->more->needconfirm = 'A Confirmer|bug|browse|productID=%s&branch=%s&browseType=needconfirm&param=%s';
$lang->bug->menuOrder[5] = 'product';
$lang->bug->menuOrder[10] = 'all';
$lang->bug->menuOrder[15] = 'unclosed';
$lang->bug->menuOrder[20] = 'openedbyme';
$lang->bug->menuOrder[25] = 'assigntome';
$lang->bug->menuOrder[30] = 'resolvedbyme';
$lang->bug->menuOrder[35] = 'toclosed';
$lang->bug->menuOrder[40] = 'unresolved';
$lang->bug->menuOrder[45] = 'unconfirmed';
$lang->bug->menuOrder[50] = 'assigntonull';
$lang->bug->menuOrder[55] = 'longlifebugs';
$lang->bug->menuOrder[60] = 'postponedbugs';
$lang->bug->menuOrder[65] = 'overduebugs';
$lang->bug->menuOrder[70] = 'needconfirm';
/* Adjust sub menu of testcase. */
$lang->testcase->menu = new stdclass();
$lang->testcase->menu->all = 'Tous|testcase|browse|productID=%s&branch=%s&browseType=all';
$lang->testcase->menu->wait = 'En Attente|testcase|browse|productID=%s&branch=%s&browseType=wait';
$lang->testcase->menu->bysuite = array('link' => 'Cahier Recette|testsuite|create|productID=%s', 'class' => 'dropdown dropdown-hover');
$lang->testcase->subMenu = new stdclass();
$lang->testcase->subMenu->bysuite = new stdclass();
$lang->testcase->subMenu->bysuite->create = 'Rédiger Cahier de Recette|testsuite|create|productID=%s';
$lang->testcase->menuOrder[5] = 'product';
$lang->testcase->menuOrder[10] = 'all';
$lang->testcase->menuOrder[15] = 'wait';
$lang->testcase->menuOrder[20] = 'suite';
/* Adjust sub menu of bug module. */
$lang->testsuite->menu = new stdclass();
$lang->testsuite->menuOrder[5] = 'product';
/* Adjust sub menu of testtask. */
$lang->testtask->menu = new stdclass();
$lang->testtask->menu->totalStatus = 'Toutes|testtask|browse|productID=%s&branch=%s&type=%s,totalStatus';
$lang->testtask->menu->wait = 'En Attente|testtask|browse|productID=%s&branch=%s&type=%s,wait';
$lang->testtask->menu->doing = 'En Déroulement|testtask|browse|productID=%s&branch=%s&type=%s,doing';
$lang->testtask->menu->blocked = 'Bloquées|testtask|browse|productID=%s&branch=%s&type=%s,blocked';
$lang->testtask->menu->done = 'Jouées|testtask|browse|productID=%s&branch=%s&type=%s,done';
$lang->testtask->menu->report = array('link' => 'Rapports|testreport|browse');
$lang->testtask->menuOrder[5] = 'product';
$lang->testtask->menuOrder[10] = 'scope';
$lang->testtask->menuOrder[15] = 'totalStatus';
$lang->testtask->menuOrder[20] = 'wait';
$lang->testtask->menuOrder[25] = 'doing';
$lang->testtask->menuOrder[30] = 'blocked';
$lang->testtask->menuOrder[35] = 'done';
$lang->testtask->menuOrder[40] = 'report';
$lang->testreport->menu = $lang->testtask->menu;
$lang->testreport->menuOrder = $lang->testtask->menuOrder;
/* Adjust sub menu of caselib module. */
$lang->caselib->menu = new stdclass();
$lang->caselib->menu->all = 'Toutes|caselib|browse|libID=%s&browseType=all';
$lang->caselib->menu->wait = 'En Attente|caselib|browse|libID=%s&browseType=wait';
$lang->caselib->menu->view = 'Vues|caselib|view|libID=%s';
$lang->caselib->menuOrder[5] = 'lib';
$lang->caselib->menuOrder[10] = 'all';
$lang->caselib->menuOrder[15] = 'wait';
$lang->caselib->menuOrder[20] = 'view';
/* Adjust sub menu of product module. */
unset($lang->product->menu->story);
unset($lang->product->menu->project);
unset($lang->product->menu->release);
unset($lang->product->menu->dynamic);
unset($lang->product->menu->plan);
unset($lang->product->menu->roadmap);
unset($lang->product->menu->doc);
unset($lang->product->menu->module);
unset($lang->product->menu->index);
$lang->product->menu->build = array('link' => 'Build|product|build', 'subModule' => 'build');
$lang->product->menuOrder[5] = 'build';
$lang->product->menuOrder[10] = 'view';
$lang->product->menuOrder[15] = 'order';
$lang->build->menu = $lang->product->menu;
$lang->build->menuOrder = $lang->product->menuOrder;
/* Adjust menu group. */
$lang->menugroup->bug = 'bug';
$lang->menugroup->testcase = 'testcase';
$lang->menugroup->case = 'testcase';
$lang->menugroup->testtask = 'testtask';
$lang->menugroup->testsuite = 'testsuite';
$lang->menugroup->caselib = 'caselib';
$lang->menugroup->testreport = 'testtask';
$lang->menugroup->build = 'product';
/* Adjust search objects. */
unset($lang->searchObjects['story']);
unset($lang->searchObjects['task']);
unset($lang->searchObjects['release']);
unset($lang->searchObjects['project']);
unset($lang->searchObjects['productplan']);
}
-240
View File
@@ -692,243 +692,3 @@ $lang->icons['confirmStoryChange'] = 'search';
$lang->icons['score'] = 'tint';
include (dirname(__FILE__) . '/menuOrder.php');
global $config;
if(isset($config->global->flow) and $config->global->flow == 'onlyStory')
{
/* Remove project, report and qa module. */
unset($lang->menu->project);
unset($lang->menu->report);
unset($lang->menu->qa);
unset($lang->menuOrder[15]);
unset($lang->menuOrder[20]);
unset($lang->menuOrder[35]);
/* Adjust sub menu of my dashboard. */
unset($lang->my->menu->bug);
unset($lang->my->menu->testtask);
unset($lang->my->menu->task);
unset($lang->my->menu->myProject);
/* Adjust sub menu of product module. */
unset($lang->product->menu->project);
unset($lang->product->menu->doc);
/* Rename product module. */
$lang->menu->product = "{$lang->productCommon}|product|index";
/* Adjust search items. */
unset($lang->searchObjects['bug']);
unset($lang->searchObjects['task']);
unset($lang->searchObjects['testcase']);
unset($lang->searchObjects['project']);
unset($lang->searchObjects['build']);
unset($lang->searchObjects['testtask']);
unset($lang->searchObjects['testsuite']);
unset($lang->searchObjects['caselib']);
unset($lang->searchObjects['testreport']);
}
if(isset($config->global->flow) and $config->global->flow == 'onlyTask')
{
/* Remove product, report and qa module. */
unset($lang->menu->product);
unset($lang->menu->report);
unset($lang->menu->qa);
unset($lang->menuOrder[10]);
unset($lang->menuOrder[20]);
unset($lang->menuOrder[35]);
/* Adjust sub menu of my dashboard. */
unset($lang->my->menu->bug);
unset($lang->my->menu->testtask);
unset($lang->my->menu->story);
/* Adjust sub menu of project module. */
unset($lang->project->menu->story);
unset($lang->project->menu->build);
unset($lang->project->menu->qa);
unset($lang->project->menu->product);
unset($lang->project->menu->doc);
/* Remove sub menu of product module. */
unset($lang->product->menu);
unset($lang->product->menuOrder);
unset($lang->searchObjects['story']);
unset($lang->searchObjects['product']);
unset($lang->searchObjects['testcase']);
unset($lang->searchObjects['release']);
unset($lang->searchObjects['productplan']);
unset($lang->searchObjects['testsuite']);
unset($lang->searchObjects['caselib']);
unset($lang->searchObjects['testreport']);
}
if(isset($config->global->flow) and $config->global->flow == 'onlyTest')
{
/* Remove project and test module. */
unset($lang->menu->project);
unset($lang->menu->qa);
unset($lang->menu->report);
unset($lang->menuOrder[15]);
unset($lang->menuOrder[20]);
unset($lang->menuOrder[35]);
/* Rename product module. */
$lang->menu->product = "{$lang->productCommon}|product|index";
/* Adjust sub menu of my dashboard. */
unset($lang->my->menu->task);
unset($lang->my->menu->myProject);
unset($lang->my->menu->story);
/* Remove sub menu of project module. */
unset($lang->project->menu);
unset($lang->project->menuOrder);
$lang->project->menu = new stdclass();
$lang->project->menu->list = array('alias' => '');
/* Add bug, testcase and testtask module. */
$lang->menu->bug = 'Bug|bug|index';
$lang->menu->testcase = 'Tình huống|testcase|index';
$lang->menu->unit = 'Unit Test|testtask|browseUnits';
$lang->menu->testsuite = 'Suite|testsuite|index';
$lang->menu->testtask = 'Yêu cầu|testtask|index';
$lang->menu->caselib = 'Thư viện tình huống|caselib|browse';
$lang->menuOrder[6] = 'bug';
$lang->menuOrder[7] = 'testcase';
$lang->menuOrder[8] = 'unit';
$lang->menuOrder[9] = 'testsuite';
$lang->menuOrder[10] = 'testtask';
$lang->menuOrder[11] = 'caselib';
$lang->menuOrder[12] = 'product';
/* Adjust sub menu of bug module. */
$lang->bug->menu = new stdclass();
$lang->bug->menu->all = 'All|bug|browse|productID=%s&branch=%s&browseType=all&param=%s';
$lang->bug->menu->unclosed = 'Unclosed|bug|browse|productID=%s&branch=%s&browseType=unclosed&param=%s';
$lang->bug->menu->openedbyme = 'ReportedByMe|bug|browse|productID=%s&branch=%s&browseType=openedbyme&param=%s';
$lang->bug->menu->assigntome = 'AssignedToMe|bug|browse|productID=%s&branch=%s&browseType=assigntome&param=%s';
$lang->bug->menu->resolvedbyme = 'ResolvedByMe|bug|browse|productID=%s&branch=%s&browseType=resolvedbyme&param=%s';
$lang->bug->menu->toclosed = 'ToBeClosed|bug|browse|productID=%s&branch=%s&browseType=toclosed&param=%s';
$lang->bug->menu->unresolved = 'Active|bug|browse|productID=%s&branch=%s&browseType=unresolved&param=%s';
$lang->bug->menu->more = array('link' => 'Thêm|bug|browse|productID=%s&branch=%s&browseType=unconfirmed&param=%s', 'class' => 'dropdown dropdown-hover');
$lang->bug->subMenu = new stdclass();
$lang->bug->subMenu->more = new stdclass();
$lang->bug->subMenu->more->unconfirmed = 'Unconfirmed|bug|browse|productID=%s&branch=%s&browseType=unconfirmed&param=%s';
$lang->bug->subMenu->more->assigntonull = 'Unassigned|bug|browse|productID=%s&branch=%s&browseType=assigntonull&param=%s';
$lang->bug->subMenu->more->longlifebugs = 'Stalled|bug|browse|productID=%s&branch=%s&browseType=longlifebugs&param=%s';
$lang->bug->subMenu->more->postponedbugs = 'Postponed|bug|browse|productID=%s&branch=%s&browseType=postponedbugs&param=%s';
$lang->bug->subMenu->more->overduebugs = 'Overdue|bug|browse|productID=%s&branch=%s&browseType=overduebugs&param=%s';
$lang->bug->subMenu->more->needconfirm = 'ToBeConfirmed|bug|browse|productID=%s&branch=%s&browseType=needconfirm&param=%s';
$lang->bug->menuOrder[5] = 'product';
$lang->bug->menuOrder[10] = 'all';
$lang->bug->menuOrder[15] = 'unclosed';
$lang->bug->menuOrder[20] = 'openedbyme';
$lang->bug->menuOrder[25] = 'assigntome';
$lang->bug->menuOrder[30] = 'resolvedbyme';
$lang->bug->menuOrder[35] = 'toclosed';
$lang->bug->menuOrder[40] = 'unresolved';
$lang->bug->menuOrder[45] = 'unconfirmed';
$lang->bug->menuOrder[50] = 'assigntonull';
$lang->bug->menuOrder[55] = 'longlifebugs';
$lang->bug->menuOrder[60] = 'postponedbugs';
$lang->bug->menuOrder[65] = 'overduebugs';
$lang->bug->menuOrder[70] = 'needconfirm';
/* Adjust sub menu of testcase. */
$lang->testcase->menu = new stdclass();
$lang->testcase->menu->all = 'All|testcase|browse|productID=%s&branch=%s&browseType=all';
$lang->testcase->menu->wait = 'Waiting|testcase|browse|productID=%s&branch=%s&browseType=wait';
$lang->testcase->menu->bysuite = array('link' => 'Suite|testsuite|create|productID=%s', 'class' => 'dropdown dropdown-hover');
$lang->testcase->subMenu = new stdclass();
$lang->testcase->subMenu->bysuite = new stdclass();
$lang->testcase->subMenu->bysuite->create = 'Tạo Suite|testsuite|create|productID=%s';
$lang->testcase->menuOrder[5] = 'product';
$lang->testcase->menuOrder[10] = 'all';
$lang->testcase->menuOrder[15] = 'wait';
$lang->testcase->menuOrder[20] = 'suite';
/* Adjust sub menu of bug module. */
$lang->testsuite->menu = new stdclass();
$lang->testsuite->menuOrder[5] = 'product';
/* Adjust sub menu of testtask. */
$lang->testtask->menu = new stdclass();
$lang->testtask->menu->totalStatus = 'All|testtask|browse|productID=%s&branch=%s&type=%s,totalStatus';
$lang->testtask->menu->wait = 'Waiting|testtask|browse|productID=%s&branch=%s&type=%s,wait';
$lang->testtask->menu->doing = 'Doing|testtask|browse|productID=%s&branch=%s&type=%s,doing';
$lang->testtask->menu->blocked = 'Blocked|testtask|browse|productID=%s&branch=%s&type=%s,blocked';
$lang->testtask->menu->done = 'Done|testtask|browse|productID=%s&branch=%s&type=%s,done';
$lang->testtask->menu->report = array('link' => 'Báo cáo|testreport|browse');
$lang->testtask->menuOrder[5] = 'product';
$lang->testtask->menuOrder[10] = 'scope';
$lang->testtask->menuOrder[15] = 'totalStatus';
$lang->testtask->menuOrder[20] = 'wait';
$lang->testtask->menuOrder[25] = 'doing';
$lang->testtask->menuOrder[30] = 'blocked';
$lang->testtask->menuOrder[35] = 'done';
$lang->testtask->menuOrder[40] = 'report';
$lang->testreport->menu = $lang->testtask->menu;
$lang->testreport->menuOrder = $lang->testtask->menuOrder;
/* Adjust sub menu of caselib module. */
$lang->caselib->menu = new stdclass();
$lang->caselib->menu->all = 'All|caselib|browse|libID=%s&browseType=all';
$lang->caselib->menu->wait = 'Waiting|caselib|browse|libID=%s&browseType=wait';
$lang->caselib->menu->view = 'View|caselib|view|libID=%s';
$lang->caselib->menuOrder[5] = 'lib';
$lang->caselib->menuOrder[10] = 'all';
$lang->caselib->menuOrder[15] = 'wait';
$lang->caselib->menuOrder[20] = 'view';
/* Adjust sub menu of product module. */
unset($lang->product->menu->story);
unset($lang->product->menu->project);
unset($lang->product->menu->release);
unset($lang->product->menu->dynamic);
unset($lang->product->menu->plan);
unset($lang->product->menu->roadmap);
unset($lang->product->menu->doc);
unset($lang->product->menu->module);
unset($lang->product->menu->index);
$lang->product->menu->build = array('link' => 'Bản dựng|product|build', 'subModule' => 'build');
$lang->product->menuOrder[5] = 'Bản dựng';
$lang->product->menuOrder[10] = 'view';
$lang->product->menuOrder[15] = 'order';
$lang->build->menu = $lang->product->menu;
$lang->build->menuOrder = $lang->product->menuOrder;
/* Adjust menu group. */
$lang->menugroup->bug = 'bug';
$lang->menugroup->testcase = 'testcase';
$lang->menugroup->case = 'testcase';
$lang->menugroup->testtask = 'testtask';
$lang->menugroup->testsuite = 'testsuite';
$lang->menugroup->caselib = 'caselib';
$lang->menugroup->testreport = 'testtask';
$lang->menugroup->build = 'product';
/* Adjust search objects. */
unset($lang->searchObjects['story']);
unset($lang->searchObjects['task']);
unset($lang->searchObjects['release']);
unset($lang->searchObjects['project']);
unset($lang->searchObjects['productplan']);
}
-324
View File
@@ -814,327 +814,3 @@ $lang->icons['confirmStoryChange'] = 'search';
$lang->icons['score'] = 'tint';
include (dirname(__FILE__) . '/menuOrder.php');
global $config;
if(isset($config->global->flow) and $config->global->flow == 'onlyStory')
{
/* Remove project, report and qa module. */
unset($lang->menu->project);
unset($lang->menu->report);
unset($lang->menu->qa);
unset($lang->menuOrder[15]);
unset($lang->menuOrder[20]);
unset($lang->menuOrder[35]);
/* Adjust sub menu of my dashboard. */
unset($lang->my->menu->bug);
unset($lang->my->menu->testtask);
unset($lang->my->menu->task);
unset($lang->my->menu->myProject);
/* Adjust sub menu of product module. */
unset($lang->product->menu->project);
unset($lang->product->menu->doc);
/* Rename product module. */
$lang->menu->product = "{$lang->productCommon}|product|index";
/* Adjust search items. */
unset($lang->searchObjects['bug']);
unset($lang->searchObjects['task']);
unset($lang->searchObjects['testcase']);
unset($lang->searchObjects['project']);
unset($lang->searchObjects['build']);
unset($lang->searchObjects['testtask']);
unset($lang->searchObjects['testsuite']);
unset($lang->searchObjects['caselib']);
unset($lang->searchObjects['testreport']);
}
if(isset($config->global->flow) and $config->global->flow == 'onlyTask')
{
/* Remove product, report and qa module. */
unset($lang->menu->product);
unset($lang->menu->report);
unset($lang->menu->qa);
unset($lang->menuOrder[10]);
unset($lang->menuOrder[20]);
unset($lang->menuOrder[35]);
/* Adjust sub menu of my dashboard. */
unset($lang->my->menu->bug);
unset($lang->my->menu->testtask);
unset($lang->my->menu->story);
/* Adjust sub menu of project module. */
unset($lang->project->menu->story);
unset($lang->project->menu->build);
unset($lang->project->menu->qa);
unset($lang->project->menu->product);
unset($lang->project->menu->doc);
/* Remove sub menu of product module. */
unset($lang->product->menu);
unset($lang->product->menuOrder);
unset($lang->searchObjects['story']);
unset($lang->searchObjects['product']);
unset($lang->searchObjects['testcase']);
unset($lang->searchObjects['release']);
unset($lang->searchObjects['productplan']);
unset($lang->searchObjects['testsuite']);
unset($lang->searchObjects['caselib']);
unset($lang->searchObjects['testreport']);
}
if(isset($config->global->flow) and $config->global->flow == 'onlyTest')
{
/* Remove project and test module. */
unset($lang->menu->project);
unset($lang->menu->qa);
unset($lang->menu->report);
unset($lang->menuOrder[15]);
unset($lang->menuOrder[20]);
unset($lang->menuOrder[35]);
/* Rename product module. */
$lang->menu->product = "{$lang->productCommon}|product|index";
/* Adjust sub menu of my dashboard. */
unset($lang->my->menu->task);
unset($lang->my->menu->myProject);
unset($lang->my->menu->story);
/* Remove sub menu of project module. */
unset($lang->project->menu);
unset($lang->project->menuOrder);
$lang->project->menu = new stdclass();
$lang->project->menu->list = array('alias' => '');
/* Add bug, testcase and testtask module. */
$lang->menu->bug = 'Bug|bug|index';
$lang->menu->testcase = '功能测试|testcase|browse';
$lang->menu->unit = '单元测试|testtask|browseUnits';
$lang->menu->testsuite = '套件|testsuite|index';
$lang->menu->testtask = '测试单|testtask|index';
$lang->menu->caselib = '用例库|caselib|browse';
$lang->menuOrder[6] = 'bug';
$lang->menuOrder[7] = 'testcase';
$lang->menuOrder[8] = 'unit';
$lang->menuOrder[9] = 'testsuite';
$lang->menuOrder[10] = 'testtask';
$lang->menuOrder[11] = 'caselib';
$lang->menuOrder[12] = 'product';
/* Adjust sub menu of bug module. */
$lang->bug->menu = new stdclass();
$lang->bug->menu->all = '所有|bug|browse|productID=%s&branch=%s&browseType=all&param=%s';
$lang->bug->menu->unclosed = '未关闭|bug|browse|productID=%s&branch=%s&browseType=unclosed&param=%s';
$lang->bug->menu->openedbyme = '由我创建|bug|browse|productID=%s&branch=%s&browseType=openedbyme&param=%s';
$lang->bug->menu->assigntome = '指派给我|bug|browse|productID=%s&branch=%s&browseType=assigntome&param=%s';
$lang->bug->menu->resolvedbyme = '由我解决|bug|browse|productID=%s&branch=%s&browseType=resolvedbyme&param=%s';
$lang->bug->menu->toclosed = '待关闭|bug|browse|productID=%s&branch=%s&browseType=toclosed&param=%s';
$lang->bug->menu->unresolved = '未解决|bug|browse|productID=%s&branch=%s&browseType=unresolved&param=%s';
$lang->bug->menu->more = array('link' => '更多|bug|browse|productID=%s&branch=%s&browseType=unconfirmed&param=%s', 'class' => 'dropdown dropdown-hover');
$lang->bug->subMenu = new stdclass();
$lang->bug->subMenu->more = new stdclass();
$lang->bug->subMenu->more->unconfirmed = '未确认|bug|browse|productID=%s&branch=%s&browseType=unconfirmed&param=%s';
$lang->bug->subMenu->more->assigntonull = '未指派|bug|browse|productID=%s&branch=%s&browseType=assigntonull&param=%s';
$lang->bug->subMenu->more->longlifebugs = '久未处理|bug|browse|productID=%s&branch=%s&browseType=longlifebugs&param=%s';
$lang->bug->subMenu->more->postponedbugs = '被延期|bug|browse|productID=%s&branch=%s&browseType=postponedbugs&param=%s';
$lang->bug->subMenu->more->overduebugs = '过期Bug|bug|browse|productID=%s&branch=%s&browseType=overduebugs&param=%s';
$lang->bug->subMenu->more->needconfirm = "{$lang->storyCommon}变动|bug|browse|productID=%s&branch=%s&browseType=needconfirm&param=%s";
$lang->bug->menuOrder[5] = 'product';
$lang->bug->menuOrder[10] = 'all';
$lang->bug->menuOrder[15] = 'unclosed';
$lang->bug->menuOrder[20] = 'openedbyme';
$lang->bug->menuOrder[25] = 'assigntome';
$lang->bug->menuOrder[30] = 'resolvedbyme';
$lang->bug->menuOrder[35] = 'toclosed';
$lang->bug->menuOrder[40] = 'unresolved';
$lang->bug->menuOrder[45] = 'unconfirmed';
$lang->bug->menuOrder[50] = 'assigntonull';
$lang->bug->menuOrder[55] = 'longlifebugs';
$lang->bug->menuOrder[60] = 'postponedbugs';
$lang->bug->menuOrder[65] = 'overduebugs';
$lang->bug->menuOrder[70] = 'needconfirm';
/* Adjust sub menu of testcase. */
$lang->testcase->menu = new stdclass();
$lang->testcase->menu->all = '所有|testcase|browse|productID=%s&branch=%s&browseType=all';
$lang->testcase->menu->wait = '待评审|testcase|browse|productID=%s&branch=%s&browseType=wait';
$lang->testcase->menu->bysuite = array('link' => '套件|testsuite|create|productID=%s', 'class' => 'dropdown dropdown-hover');
$lang->testcase->subMenu = new stdclass();
$lang->testcase->subMenu->bysuite = new stdclass();
$lang->testcase->subMenu->bysuite = new stdclass();
$lang->testcase->subMenu->bysuite->create = '建套件|testsuite|create|productID=%s';
$lang->testcase->menuOrder[5] = 'product';
$lang->testcase->menuOrder[10] = 'all';
$lang->testcase->menuOrder[15] = 'wait';
$lang->testcase->menuOrder[20] = 'suite';
/* Adjust sub menu of bug module. */
$lang->testsuite->menu = new stdclass();
$lang->testsuite->menuOrder[5] = 'product';
/* Adjust sub menu of testtask. */
$lang->testtask->menu = new stdclass();
$lang->testtask->menu->totalStatus = '所有|testtask|browse|productID=%s&branch=%s&type=%s,totalStatus';
$lang->testtask->menu->wait = '待测版本|testtask|browse|productID=%s&branch=%s&type=%s,wait';
$lang->testtask->menu->doing = '测试中版本|testtask|browse|productID=%s&branch=%s&type=%s,doing';
$lang->testtask->menu->blocked = '被阻塞版本|testtask|browse|productID=%s&branch=%s&type=%s,blocked';
$lang->testtask->menu->done = '已测版本|testtask|browse|productID=%s&branch=%s&type=%s,done';
$lang->testtask->menu->report = array('link' => '报告|testreport|browse', 'alias' => 'view,create,edit');
$lang->testtask->menuOrder[5] = 'product';
$lang->testtask->menuOrder[10] = 'scope';
$lang->testtask->menuOrder[15] = 'totalStatus';
$lang->testtask->menuOrder[20] = 'wait';
$lang->testtask->menuOrder[25] = 'doing';
$lang->testtask->menuOrder[30] = 'blocked';
$lang->testtask->menuOrder[35] = 'done';
$lang->testtask->menuOrder[40] = 'report';
$lang->testreport->menu = $lang->testtask->menu;
$lang->testreport->menuOrder = $lang->testtask->menuOrder;
/* Adjust sub menu of caselib module. */
$lang->caselib->menu = new stdclass();
$lang->caselib->menu->all = '所有|caselib|browse|libID=%s&browseType=all';
$lang->caselib->menu->wait = '待评审|caselib|browse|libID=%s&browseType=wait';
$lang->caselib->menu->view = '概况|caselib|view|libID=%s';
$lang->caselib->menuOrder[5] = 'lib';
$lang->caselib->menuOrder[10] = 'all';
$lang->caselib->menuOrder[15] = 'wait';
$lang->caselib->menuOrder[20] = 'view';
/* Adjust sub menu of product module. */
unset($lang->product->menu->story);
unset($lang->product->menu->project);
unset($lang->product->menu->release);
unset($lang->product->menu->dynamic);
unset($lang->product->menu->plan);
unset($lang->product->menu->roadmap);
unset($lang->product->menu->doc);
unset($lang->product->menu->module);
unset($lang->product->menu->index);
$lang->product->menu->build = array('link' => '版本|product|build', 'subModule' => 'build');
$lang->product->menuOrder[5] = 'build';
$lang->product->menuOrder[10] = 'view';
$lang->product->menuOrder[15] = 'order';
$lang->build->menu = $lang->product->menu;
$lang->build->menuOrder = $lang->product->menuOrder;
/* Adjust menu group. */
$lang->menugroup->bug = 'bug';
$lang->menugroup->testcase = 'testcase';
$lang->menugroup->case = 'testcase';
$lang->menugroup->testtask = 'testtask';
$lang->menugroup->testsuite = 'testsuite';
$lang->menugroup->caselib = 'caselib';
$lang->menugroup->testreport = 'testtask';
$lang->menugroup->build = 'product';
/* Adjust search objects. */
unset($lang->searchObjects['story']);
unset($lang->searchObjects['task']);
unset($lang->searchObjects['release']);
unset($lang->searchObjects['project']);
unset($lang->searchObjects['productplan']);
}
/* Cmmi menu. */
$lang->menu->cmmi = new stdclass();
$lang->menu->cmmi->programindex = array('link' => '仪表盘|program|index|program={PROGRAM}');
$lang->menu->cmmi->programplan = array('link' => '计划|programplan|browse|program={PROGRAM}', 'subModule' => 'programplan');
$lang->menu->cmmi->project = array('link' => $lang->projectCommon . '|project|task|projectID={PROJECT}', 'subModule' => ',project,task,');
$lang->menu->cmmi->weekly = array('link' => '报告|weekly|index|program={PROGRAM}', 'subModule' => ',milestone,');
$lang->menu->cmmi->doc = array('link' => '文档|doc|index|program={PROGRAM}');
$lang->menu->cmmi->product = array('link' => '需求|product|browse|product={PRODUCT}&branch=&browseType=unclosed&queryID=0&storyType=requirement', 'subModule' => ',story,');
$lang->menu->cmmi->design = '设计|design|browse|product={PRODUCT}';
$lang->menu->cmmi->ci = '代码|repo|browse|';
$lang->menu->cmmi->qa = array('link' => '测试|bug|browse|product={PRODUCT}', 'subModule' => ',testcase,testtask,testsuite,testreport,caselib,');
$lang->menu->cmmi->release = array('link' => '发布|release|browse|product={PRODUCT}', 'subModule' => 'release');
$lang->menu->cmmi->issue = '问题|issue|browse|';
$lang->menu->cmmi->risk = '风险|risk|browse|';
$lang->menu->cmmi->list = array('link' => '更多|workestimation|index|program={PROGRAM}', 'class' => 'dropdown dropdown-hover cmmi-list', 'subModule' => 'stakeholder,workestimation,durationestimation,budget,pssp,stakeholder');
/* Srcum menu. */
$lang->menu->srcum = new stdclass();
$lang->menu->srcum->programindex = array('link' => '仪表盘|program|index|program={PROGRAM}');
$lang->cmmi = new stdclass();
$lang->cmmi->subMenu = new stdclass();
$lang->cmmi->subMenu->list = new stdclass();
$lang->cmmi->subMenu->list->workestimation = array('link' => '估算|workestimation|index|program=%s', 'subModule' => 'durationestimation,budget');
$lang->cmmi->subMenu->list->program = '项目|program|edit|';
$lang->cmmiproduct = new stdclass();
$lang->workestimation = new stdclass();
$lang->budget = new stdclass();
$lang->programplan = new stdclass();
$lang->review = new stdclass();
$lang->weekly = new stdclass();
$lang->milestone = new stdclass();
$lang->design = new stdclass();
$lang->auditplan = new stdclass();
$lang->cm = new stdclass();
$lang->nc = new stdclass();
$lang->pssp = new stdclass();
$lang->issue = new stdclass();
$lang->risk = new stdclass();
$lang->stakeholder = new stdclass();
$lang->durationestimation = new stdclass();
$lang->workestimation->menu = new stdclass();
$lang->budget->menu = new stdclass();
$lang->programplan->menu = new stdclass();
$lang->review->menu = new stdclass();
$lang->weekly->menu = new stdclass();
$lang->milestone->menu = new stdclass();
$lang->cmmiproduct->menu = new stdclass();
$lang->design->menu = new stdclass();
$lang->auditplan->menu = new stdclass();
$lang->cm->menu = new stdclass();
$lang->pssp->menu = new stdclass();
$lang->issue->menu = new stdclass();
$lang->risk->menu = new stdclass();
$lang->stakeholder->menu = new stdclass();
$lang->durationestimation->menu = new stdclass();
$lang->workestimation->menu->index = '工作量估算|workestimation|index|program={PROGRAM}';
$lang->workestimation->menu->duration = array('link' => '工期估算|durationestimation|index|program={PROGRAM}', 'subModule' => 'durationestimation');
$lang->workestimation->menu->budget = array('link' => '费用估算|budget|summary|', 'subModule' => 'budget');
$lang->durationestimation->menu = $lang->workestimation->menu;
$lang->budget->menu = $lang->workestimation->menu;
$lang->programplan->menu->gantt = array('link' => '甘特图|programplan|browse|programID={PROGRAM}&productID={PRODUCT}&type=gantt');
$lang->programplan->menu->lists = array('link' => '阶段列表|programplan|browse|programID={PROGRAM}&productID={PRODUCT}&type=lists', 'alias' => 'create');
$lang->weekly->menu->browse = '周报|weekly|index|program={PROGRAM}';
$lang->weekly->menu->issue = '里程碑报告|milestone|index|program={PROGRAM}';
$lang->cmmiproduct->menu->plan = array('link' => '排期|productplan|browse|productID={PRODUCT}', 'subModule' => 'productplan');
$lang->cmmiproduct->menu->requirement = '用户需求|product|browse|product={PRODUCT}&branch=&browseType=unclosed&queryID=0&storyType=requirement';
$lang->cmmiproduct->menu->story = '软件需求|product|browse|product={PRODUCT}&branch=&browseType=unclosed&queryID=0&storyType=story';
$lang->cmmiproduct->menu->track = '跟踪矩阵|story|track|product={PRODUCT}';
$lang->milestone->menu = $lang->weekly->menu;
$lang->nc->menu = $lang->auditplan->menu;
$lang->noMenuModule = array('my', 'todo', 'effort', 'program', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'holiday', 'custom', 'auditcl', 'subject', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'issue', 'risk', 'pssp', 'sms', 'message', 'webhook', 'search');
$lang->haveMenuMethod = array('custom');
-240
View File
@@ -692,243 +692,3 @@ $lang->icons['confirmStoryChange'] = 'search';
$lang->icons['score'] = 'tint';
include (dirname(__FILE__) . '/menuOrder.php');
global $config;
if(isset($config->global->flow) and $config->global->flow == 'onlyStory')
{
/* Remove project, report and qa module. */
unset($lang->menu->project);
unset($lang->menu->report);
unset($lang->menu->qa);
unset($lang->menuOrder[15]);
unset($lang->menuOrder[20]);
unset($lang->menuOrder[35]);
/* Adjust sub menu of my dashboard. */
unset($lang->my->menu->bug);
unset($lang->my->menu->testtask);
unset($lang->my->menu->task);
unset($lang->my->menu->myProject);
/* Adjust sub menu of product module. */
unset($lang->product->menu->project);
unset($lang->product->menu->doc);
/* Rename product module. */
$lang->menu->product = "{$lang->productCommon}|product|index";
/* Adjust search items. */
unset($lang->searchObjects['bug']);
unset($lang->searchObjects['task']);
unset($lang->searchObjects['testcase']);
unset($lang->searchObjects['project']);
unset($lang->searchObjects['build']);
unset($lang->searchObjects['testtask']);
unset($lang->searchObjects['testsuite']);
unset($lang->searchObjects['caselib']);
unset($lang->searchObjects['testreport']);
}
if(isset($config->global->flow) and $config->global->flow == 'onlyTask')
{
/* Remove product, report and qa module. */
unset($lang->menu->product);
unset($lang->menu->report);
unset($lang->menu->qa);
unset($lang->menuOrder[10]);
unset($lang->menuOrder[20]);
unset($lang->menuOrder[35]);
/* Adjust sub menu of my dashboard. */
unset($lang->my->menu->bug);
unset($lang->my->menu->testtask);
unset($lang->my->menu->story);
/* Adjust sub menu of project module. */
unset($lang->project->menu->story);
unset($lang->project->menu->build);
unset($lang->project->menu->qa);
unset($lang->project->menu->product);
unset($lang->project->menu->doc);
/* Remove sub menu of product module. */
unset($lang->product->menu);
unset($lang->product->menuOrder);
unset($lang->searchObjects['story']);
unset($lang->searchObjects['product']);
unset($lang->searchObjects['testcase']);
unset($lang->searchObjects['release']);
unset($lang->searchObjects['productplan']);
unset($lang->searchObjects['testsuite']);
unset($lang->searchObjects['caselib']);
unset($lang->searchObjects['testreport']);
}
if(isset($config->global->flow) and $config->global->flow == 'onlyTest')
{
/* Remove project and test module. */
unset($lang->menu->project);
unset($lang->menu->qa);
unset($lang->menu->report);
unset($lang->menuOrder[15]);
unset($lang->menuOrder[20]);
unset($lang->menuOrder[35]);
/* Rename product module. */
$lang->menu->product = "{$lang->productCommon}|product|index";
/* Adjust sub menu of my dashboard. */
unset($lang->my->menu->task);
unset($lang->my->menu->myProject);
unset($lang->my->menu->story);
/* Remove sub menu of project module. */
unset($lang->project->menu);
unset($lang->project->menuOrder);
$lang->project->menu = new stdclass();
$lang->project->menu->list = array('alias' => '');
/* Add bug, testcase and testtask module. */
$lang->menu->bug = 'Bug|bug|index';
$lang->menu->testcase = '功能測試|testcase|browse';
$lang->menu->unit = '單元測試|testtask|browseUnits';
$lang->menu->testsuite = '套件|testsuite|index';
$lang->menu->testtask = '測試單|testtask|index';
$lang->menu->caselib = '用例庫|caselib|browse';
$lang->menuOrder[6] = 'bug';
$lang->menuOrder[7] = 'testcase';
$lang->menuOrder[8] = 'unit';
$lang->menuOrder[9] = 'testsuite';
$lang->menuOrder[10] = 'testtask';
$lang->menuOrder[11] = 'caselib';
$lang->menuOrder[12] = 'product';
/* Adjust sub menu of bug module. */
$lang->bug->menu = new stdclass();
$lang->bug->menu->all = '所有|bug|browse|productID=%s&branch=%s&browseType=all&param=%s';
$lang->bug->menu->unclosed = '未關閉|bug|browse|productID=%s&branch=%s&browseType=unclosed&param=%s';
$lang->bug->menu->openedbyme = '由我創建|bug|browse|productID=%s&branch=%s&browseType=openedbyme&param=%s';
$lang->bug->menu->assigntome = '指派給我|bug|browse|productID=%s&branch=%s&browseType=assigntome&param=%s';
$lang->bug->menu->resolvedbyme = '由我解決|bug|browse|productID=%s&branch=%s&browseType=resolvedbyme&param=%s';
$lang->bug->menu->toclosed = '待關閉|bug|browse|productID=%s&branch=%s&browseType=toclosed&param=%s';
$lang->bug->menu->unresolved = '未解決|bug|browse|productID=%s&branch=%s&browseType=unresolved&param=%s';
$lang->bug->menu->more = array('link' => '更多|bug|browse|productID=%s&branch=%s&browseType=unconfirmed&param=%s', 'class' => 'dropdown dropdown-hover');
$lang->bug->subMenu = new stdclass();
$lang->bug->subMenu->more = new stdclass();
$lang->bug->subMenu->more->unconfirmed = '未確認|bug|browse|productID=%s&branch=%s&browseType=unconfirmed&param=%s';
$lang->bug->subMenu->more->assigntonull = '未指派|bug|browse|productID=%s&branch=%s&browseType=assigntonull&param=%s';
$lang->bug->subMenu->more->longlifebugs = '久未處理|bug|browse|productID=%s&branch=%s&browseType=longlifebugs&param=%s';
$lang->bug->subMenu->more->postponedbugs = '被延期|bug|browse|productID=%s&branch=%s&browseType=postponedbugs&param=%s';
$lang->bug->subMenu->more->overduebugs = '過期Bug|bug|browse|productID=%s&branch=%s&browseType=overduebugs&param=%s';
$lang->bug->subMenu->more->needconfirm = "{$lang->storyCommon}變動|bug|browse|productID=%s&branch=%s&browseType=needconfirm&param=%s";
$lang->bug->menuOrder[5] = 'product';
$lang->bug->menuOrder[10] = 'all';
$lang->bug->menuOrder[15] = 'unclosed';
$lang->bug->menuOrder[20] = 'openedbyme';
$lang->bug->menuOrder[25] = 'assigntome';
$lang->bug->menuOrder[30] = 'resolvedbyme';
$lang->bug->menuOrder[35] = 'toclosed';
$lang->bug->menuOrder[40] = 'unresolved';
$lang->bug->menuOrder[45] = 'unconfirmed';
$lang->bug->menuOrder[50] = 'assigntonull';
$lang->bug->menuOrder[55] = 'longlifebugs';
$lang->bug->menuOrder[60] = 'postponedbugs';
$lang->bug->menuOrder[65] = 'overduebugs';
$lang->bug->menuOrder[70] = 'needconfirm';
/* Adjust sub menu of testcase. */
$lang->testcase->menu = new stdclass();
$lang->testcase->menu->all = '所有|testcase|browse|productID=%s&branch=%s&browseType=all';
$lang->testcase->menu->wait = '待評審|testcase|browse|productID=%s&branch=%s&browseType=wait';
$lang->testcase->menu->bysuite = array('link' => '套件|testsuite|create|productID=%s', 'class' => 'dropdown dropdown-hover');
$lang->testcase->subMenu = new stdclass();
$lang->testcase->subMenu->bysuite = new stdclass();
$lang->testcase->subMenu->bysuite->create = '建套件|testsuite|create|productID=%s';
$lang->testcase->menuOrder[5] = 'product';
$lang->testcase->menuOrder[10] = 'all';
$lang->testcase->menuOrder[15] = 'wait';
$lang->testcase->menuOrder[20] = 'suite';
/* Adjust sub menu of bug module. */
$lang->testsuite->menu = new stdclass();
$lang->testsuite->menuOrder[5] = 'product';
/* Adjust sub menu of testtask. */
$lang->testtask->menu = new stdclass();
$lang->testtask->menu->totalStatus = '所有|testtask|browse|productID=%s&branch=%s&type=%s,totalStatus';
$lang->testtask->menu->wait = '待測版本|testtask|browse|productID=%s&branch=%s&type=%s,wait';
$lang->testtask->menu->doing = '測試中版本|testtask|browse|productID=%s&branch=%s&type=%s,doing';
$lang->testtask->menu->blocked = '被阻塞版本|testtask|browse|productID=%s&branch=%s&type=%s,blocked';
$lang->testtask->menu->done = '已測版本|testtask|browse|productID=%s&branch=%s&type=%s,done';
$lang->testtask->menu->report = array('link' => '報告|testreport|browse', 'alias' => 'view,create,edit');
$lang->testtask->menuOrder[5] = 'product';
$lang->testtask->menuOrder[10] = 'scope';
$lang->testtask->menuOrder[15] = 'totalStatus';
$lang->testtask->menuOrder[20] = 'wait';
$lang->testtask->menuOrder[25] = 'doing';
$lang->testtask->menuOrder[30] = 'blocked';
$lang->testtask->menuOrder[35] = 'done';
$lang->testtask->menuOrder[40] = 'report';
$lang->testreport->menu = $lang->testtask->menu;
$lang->testreport->menuOrder = $lang->testtask->menuOrder;
/* Adjust sub menu of caselib module. */
$lang->caselib->menu = new stdclass();
$lang->caselib->menu->all = '所有|caselib|browse|libID=%s&browseType=all';
$lang->caselib->menu->wait = '待評審|caselib|browse|libID=%s&browseType=wait';
$lang->caselib->menu->view = '概況|caselib|view|libID=%s';
$lang->caselib->menuOrder[5] = 'lib';
$lang->caselib->menuOrder[10] = 'all';
$lang->caselib->menuOrder[15] = 'wait';
$lang->caselib->menuOrder[20] = 'view';
/* Adjust sub menu of product module. */
unset($lang->product->menu->story);
unset($lang->product->menu->project);
unset($lang->product->menu->release);
unset($lang->product->menu->dynamic);
unset($lang->product->menu->plan);
unset($lang->product->menu->roadmap);
unset($lang->product->menu->doc);
unset($lang->product->menu->module);
unset($lang->product->menu->index);
$lang->product->menu->build = array('link' => '版本|product|build', 'subModule' => 'build');
$lang->product->menuOrder[5] = 'build';
$lang->product->menuOrder[10] = 'view';
$lang->product->menuOrder[15] = 'order';
$lang->build->menu = $lang->product->menu;
$lang->build->menuOrder = $lang->product->menuOrder;
/* Adjust menu group. */
$lang->menugroup->bug = 'bug';
$lang->menugroup->testcase = 'testcase';
$lang->menugroup->case = 'testcase';
$lang->menugroup->testtask = 'testtask';
$lang->menugroup->testsuite = 'testsuite';
$lang->menugroup->caselib = 'caselib';
$lang->menugroup->testreport = 'testtask';
$lang->menugroup->build = 'product';
/* Adjust search objects. */
unset($lang->searchObjects['story']);
unset($lang->searchObjects['task']);
unset($lang->searchObjects['release']);
unset($lang->searchObjects['project']);
unset($lang->searchObjects['productplan']);
}
+3 -26
View File
@@ -588,15 +588,6 @@ class commonModel extends model
}
if($module == $currentModule and ($method == $currentMethod or strpos(",$alias,", ",$currentMethod,") !== false)) $active = 'active';
/* Avoid user thinking the page is shaking when the menu toggle class 'active' */
if($config->global->flow == 'onlyTest')
{
if($currentModule == 'bug' && $currentMethod == 'browse') $active = '';
if($currentModule == 'testcase' && $currentMethod == 'browse') $active = '';
if($currentModule == 'testtask' && $currentMethod == 'browse') $active = '';
if($currentModule == 'caselib' && $currentMethod == 'browse') $active = '';
}
$label = $menuItem->text;
$subMenu = '';
/* Print sub menus. */
@@ -633,7 +624,7 @@ class commonModel extends model
$subProgram .= '</ul>';
}
if($config->global->flow != 'onlyTest' && $currentModule == strtolower($subModule) && $currentMethod == strtolower($subMethod)) $subActive = 'active';
if($currentModule == strtolower($subModule) && $currentMethod == strtolower($subMethod)) $subActive = 'active';
$subMenu .= "<li class='$subActive' data-id='$subMenuItem->name'>" . html::a($subLink, $subLabel) . $subProgram . '</li>';
}
@@ -681,12 +672,7 @@ class commonModel extends model
{
$searchObject = $methodName;
}
if(empty($lang->searchObjects[$searchObject]))
{
$searchObject = 'bug';
if($config->global->flow == 'onlyStory') $searchObject = 'story';
if($config->global->flow == 'onlyTask') $searchObject = 'task';
}
if(empty($lang->searchObjects[$searchObject])) $searchObject = 'bug';
echo "<div id='searchbox'>";
echo "<div class='input-group'>";
@@ -787,15 +773,6 @@ class commonModel extends model
}
if($module == $currentModule and ($method == $currentMethod or strpos(",$alias,", ",$currentMethod,") !== false)) $active = 'active';
/* Avoid user thinking the page is shaking when the menu toggle class 'active' */
if($config->global->flow == 'onlyTest')
{
if($currentModule == 'bug' && $currentMethod == 'browse') $active = '';
if($currentModule == 'testcase' && $currentMethod == 'browse') $active = '';
if($currentModule == 'testtask' && $currentMethod == 'browse') $active = '';
if($currentModule == 'caselib' && $currentMethod == 'browse') $active = '';
}
$label = $menuItem->text;
$subMenu = '';
/* Print sub menus. */
@@ -816,7 +793,7 @@ class commonModel extends model
$subLink = helper::createLink($subModule, $subMethod, $subParams);
if($config->global->flow != 'onlyTest' && $currentModule == strtolower($subModule) && $currentMethod == strtolower($subMethod)) $subActive = 'active';
if($currentModule == strtolower($subModule) && $currentMethod == strtolower($subMethod)) $subActive = 'active';
$subMenu .= "<li class='$subActive' data-id='$subMenuItem->name'>" . html::a($subLink, $subLabel) . '</li>';
}
-2
View File
@@ -27,9 +27,7 @@
<?php endforeach;?>
<div class="input-control space w-150px"><?php echo html::select('account', $users, $account, 'onchange=changeUser(this.value) class="form-control chosen"');?></div>
<div class="input-control space w-150px"><?php echo html::select('product', $products, $product, 'onchange=changeProduct(this.value) class="form-control chosen"');?></div>
<?php if($config->global->flow != 'onlyTest'):?>
<div class="input-control space w-150px"><?php echo html::select('project', $projects, $project, 'onchange=changeProject(this.value) class="form-control chosen"'); ?></div>
<?php endif;?>
<a class="btn btn-link querybox-toggle" id="bysearchTab"><i class="icon icon-search muted"></i> <?php echo $lang->action->dynamic->search;?></a>
</div>
</div>
-3
View File
@@ -555,9 +555,6 @@ class custom extends control
public function ajaxGetMenu($module = 'main', $method = '', $type = '')
{
if($this->config->global->flow == 'full') $this->loadModel('project')->setMenu(array(), 0);
if($this->config->global->flow == 'onlyTest') $this->loadModel('testcase')->setMenu(array(), 0);
if($this->config->global->flow == 'onlyTest') $this->loadModel('bug')->setMenu(array(), 0);
if($this->config->global->flow == 'onlyTask') $this->loadModel('project')->setMenu(array(), 0);
if($type === 'all')
{
$menu = array();
-3
View File
@@ -134,9 +134,6 @@ $lang->custom->productProject->relation['1_2'] = 'Dự án - Sprint';
$lang->custom->productProject->notice = 'Chọn một mô hình phù hợp với doanh nghiệp của bạn.';
$lang->custom->workingList['full'] = 'Quản lý vòng đời ứng dụng';
$lang->custom->workingList['onlyTest'] = 'Quản lý kiểm thử';
$lang->custom->workingList['onlyStory'] = 'Quản lý câu chuyện';
$lang->custom->workingList['onlyTask'] = 'Quản lý nhiệm vụ';
$lang->custom->menuTip = 'Click để hiện/ẩn menu. Kéo thả để chuyển vị trí hiển thị.';
$lang->custom->saveFail = 'Lưu thất bại!';
-3
View File
@@ -134,9 +134,6 @@ $lang->custom->productProject->relation['1_2'] = '項目 - 衝刺';
$lang->custom->productProject->notice = '請根據實際情況選擇適合自己團隊的概念。';
$lang->custom->workingList['full'] = '完整研發管理工具';
$lang->custom->workingList['onlyTest'] = '測試管理工具';
$lang->custom->workingList['onlyStory'] = "{$lang->storyCommon}管理工具";
$lang->custom->workingList['onlyTask'] = '任務管理工具';
$lang->custom->menuTip = '點擊顯示或隱藏導航條目,拖拽來更改顯示順序。';
$lang->custom->saveFail = '保存失敗!';
-2
View File
@@ -27,11 +27,9 @@
<nav id='subNavbar'>
<ul class='nav nav-default'></ul>
</nav>
<?php if($config->global->flow != 'onlyTest'):?>
<nav id='mainMenu'>
<ul class='nav nav-default'></ul>
</nav>
<?php endif;?>
</div>
<div class='text-left'>
<?php if(common::hasPriv('custom', 'setPublic')):?>
-6
View File
@@ -109,12 +109,6 @@ $lang->doc->libIconList['custom'] = 'icon-folder-o';
$lang->doc->systemLibs['product'] = $lang->productCommon . 'Dok Bibliothek';
$lang->doc->systemLibs['project'] = $lang->projectCommon . 'Dok Bibliothek';
global $config;
if($config->global->flow == 'onlyStory' or $config->global->flow == 'onlyTest') unset($lang->doc->systemLibs['project']);
if($config->global->flow == 'onlyStory' or $config->global->flow == 'onlyTest') unset($lang->doc->libTypeList['project']);
if($config->global->flow == 'onlyTask') unset($lang->doc->systemLibs['product']);
if($config->global->flow == 'onlyTask') unset($lang->doc->libTypeList['product']);
$lang->doc->aclList['open'] = 'Öffentlich';
$lang->doc->aclList['custom'] = 'Eigene';
$lang->doc->aclList['private'] = 'Privat';
-6
View File
@@ -109,12 +109,6 @@ $lang->doc->libIconList['custom'] = 'icon-folder-o';
$lang->doc->systemLibs['product'] = $lang->productCommon;
$lang->doc->systemLibs['project'] = $lang->projectCommon;
global $config;
if($config->global->flow == 'onlyStory' or $config->global->flow == 'onlyTest') unset($lang->doc->systemLibs['project']);
if($config->global->flow == 'onlyStory' or $config->global->flow == 'onlyTest') unset($lang->doc->libTypeList['project']);
if($config->global->flow == 'onlyTask') unset($lang->doc->systemLibs['product']);
if($config->global->flow == 'onlyTask') unset($lang->doc->libTypeList['product']);
$lang->doc->aclList['open'] = 'Public';
$lang->doc->aclList['custom'] = 'Custom';
$lang->doc->aclList['private'] = 'Private';
-6
View File
@@ -109,12 +109,6 @@ $lang->doc->libIconList['custom'] = 'icon-folder-o';
$lang->doc->systemLibs['product'] = $lang->productCommon;
$lang->doc->systemLibs['project'] = $lang->projectCommon;
global $config;
if($config->global->flow == 'onlyStory' or $config->global->flow == 'onlyTest') unset($lang->doc->systemLibs['project']);
if($config->global->flow == 'onlyStory' or $config->global->flow == 'onlyTest') unset($lang->doc->libTypeList['project']);
if($config->global->flow == 'onlyTask') unset($lang->doc->systemLibs['product']);
if($config->global->flow == 'onlyTask') unset($lang->doc->libTypeList['product']);
$lang->doc->aclList['open'] = 'Public';
$lang->doc->aclList['custom'] = 'Person.';
$lang->doc->aclList['private'] = 'Privé';
-6
View File
@@ -109,12 +109,6 @@ $lang->doc->libIconList['custom'] = 'icon-folder-o';
$lang->doc->systemLibs['product'] = $lang->productCommon;
$lang->doc->systemLibs['project'] = $lang->projectCommon;
global $config;
if($config->global->flow == 'onlyStory' or $config->global->flow == 'onlyTest') unset($lang->doc->systemLibs['project']);
if($config->global->flow == 'onlyStory' or $config->global->flow == 'onlyTest') unset($lang->doc->libTypeList['project']);
if($config->global->flow == 'onlyTask') unset($lang->doc->systemLibs['product']);
if($config->global->flow == 'onlyTask') unset($lang->doc->libTypeList['product']);
$lang->doc->aclList['open'] = 'Công khai';
$lang->doc->aclList['custom'] = 'Tùy biến';
$lang->doc->aclList['private'] = 'Riêng tư';
-6
View File
@@ -109,12 +109,6 @@ $lang->doc->libIconList['custom'] = 'icon-folder-o';
$lang->doc->systemLibs['product'] = $lang->productCommon;
$lang->doc->systemLibs['project'] = $lang->projectCommon;
global $config;
if($config->global->flow == 'onlyStory' or $config->global->flow == 'onlyTest') unset($lang->doc->systemLibs['project']);
if($config->global->flow == 'onlyStory' or $config->global->flow == 'onlyTest') unset($lang->doc->libTypeList['project']);
if($config->global->flow == 'onlyTask') unset($lang->doc->systemLibs['product']);
if($config->global->flow == 'onlyTask') unset($lang->doc->libTypeList['product']);
$lang->doc->aclList['open'] = '公开';
$lang->doc->aclList['custom'] = '自定义';
$lang->doc->aclList['private'] = '私有';
-6
View File
@@ -109,12 +109,6 @@ $lang->doc->libIconList['custom'] = 'icon-folder-o';
$lang->doc->systemLibs['product'] = $lang->productCommon;
$lang->doc->systemLibs['project'] = $lang->projectCommon;
global $config;
if($config->global->flow == 'onlyStory' or $config->global->flow == 'onlyTest') unset($lang->doc->systemLibs['project']);
if($config->global->flow == 'onlyStory' or $config->global->flow == 'onlyTest') unset($lang->doc->libTypeList['project']);
if($config->global->flow == 'onlyTask') unset($lang->doc->systemLibs['product']);
if($config->global->flow == 'onlyTask') unset($lang->doc->libTypeList['product']);
$lang->doc->aclList['open'] = '公開';
$lang->doc->aclList['custom'] = '自定義';
$lang->doc->aclList['private'] = '私有';
+18 -50
View File
@@ -324,8 +324,6 @@ class docModel extends model
{
$docs = $this->dao->select('*')->from(TABLE_DOC)
->where('deleted')->eq(0)
->beginIF($this->config->global->flow == 'onlyTask')->andWhere('product')->eq(0)->fi()
->beginIF($this->config->global->flow == 'onlyStory' || $this->config->global->flow == 'onlyTest')->andWhere('project')->eq(0)->fi()
->beginIF($libID)->andWhere('lib')->in($libID)->fi()
->andWhere('lib')->in($allLibs)
->beginIF($this->config->doc->notArticleType)->andWhere('type')->notIN($this->config->doc->notArticleType)->fi()
@@ -338,8 +336,6 @@ class docModel extends model
{
$docs = $this->dao->select('*')->from(TABLE_DOC)
->where('deleted')->eq(0)
->beginIF($this->config->global->flow == 'onlyTask')->andWhere('product')->eq(0)->fi()
->beginIF($this->config->global->flow == 'onlyStory' || $this->config->global->flow == 'onlyTest')->andWhere('project')->eq(0)->fi()
->andWhere('id')->in($docIdList)
->beginIF($this->config->doc->notArticleType)->andWhere('type')->notIN($this->config->doc->notArticleType)->fi()
->andWhere('lib')->in($allLibs)
@@ -351,8 +347,6 @@ class docModel extends model
{
$docs = $this->dao->select('*')->from(TABLE_DOC)
->where('deleted')->eq(0)
->beginIF($this->config->global->flow == 'onlyTask')->andWhere('product')->eq(0)->fi()
->beginIF($this->config->global->flow == 'onlyStory' || $this->config->global->flow == 'onlyTest')->andWhere('project')->eq(0)->fi()
->beginIF($libID)->andWhere('lib')->in($libID)->fi()
->andWhere('lib')->in($allLibs)
->beginIF($this->config->doc->notArticleType)->andWhere('type')->notIN($this->config->doc->notArticleType)->fi()
@@ -425,8 +419,6 @@ class docModel extends model
$docs = $this->dao->select('t1.*')->from(TABLE_DOC)->alias('t1')
->leftJoin(TABLE_DOCCONTENT)->alias('t2')->on('t2.doc = t1.id')
->where('t1.deleted')->eq(0)
->beginIF($this->config->global->flow == 'onlyTask')->andWhere('product')->eq(0)->fi()
->beginIF($this->config->global->flow == 'onlyStory' || $this->config->global->flow == 'onlyTest')->andWhere('project')->eq(0)->fi()
->beginIF(!empty($docIdList))->andWhere('t1.id')->in($docIdList)->fi()
->andWhere('t1.title', true)->like("%{$this->session->searchDoc}%")
->beginIF($this->config->doc->notArticleType)->andWhere('type')->notIN($this->config->doc->notArticleType)->fi()
@@ -1034,18 +1026,11 @@ class docModel extends model
$productIdList = array_keys($productLibs);
$products = $this->dao->select('id,name,status')->from(TABLE_PRODUCT)->where('id')->in($productIdList)->andWhere('deleted')->eq('0')->orderBy('`order`_desc')->fetchAll();
if($this->config->global->flow == 'onlyStory' or $this->config->global->flow == 'onlyTest')
{
$hasProject = array();
}
else
{
$hasProject = $this->dao->select('DISTINCT t1.product')->from(TABLE_PROJECTPRODUCT)->alias('t1')
->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project=t2.id')
->where('t1.product')->in($productIdList)
->andWhere('t2.deleted')->eq(0)
->fetchPairs('product', 'product');
}
$hasProject = $this->dao->select('DISTINCT t1.product')->from(TABLE_PROJECTPRODUCT)->alias('t1')
->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project=t2.id')
->where('t1.product')->in($productIdList)
->andWhere('t2.deleted')->eq(0)
->fetchPairs('product', 'product');
$hasLibsPriv = common::hasPriv('doc', 'allLibs');
$hasFilesPriv = common::hasPriv('doc', 'showFiles');
@@ -1099,9 +1084,6 @@ class docModel extends model
*/
public function getLimitLibs($type, $limit = 0)
{
if($type == 'project' and ($this->config->global->flow == 'onlyStory' or $this->config->global->flow == 'onlyTest')) return array();
if($type == 'product' and $this->config->global->flow == 'onlyTask') return array();
if($type == 'product' or $type == 'project')
{
$nonzeroLibs = array();
@@ -1157,19 +1139,12 @@ class docModel extends model
$libGroups = $this->dao->select('*')->from(TABLE_DOCLIB)->where('deleted')->eq(0)->andWhere($type)->in($idList)->orderBy('`order`, id')->fetchGroup($type, 'id');
if($type == 'product')
{
if($this->config->global->flow == 'onlyStory' or $this->config->global->flow == 'onlyTest')
{
$hasProject = array();
}
else
{
$hasProject = $this->dao->select('DISTINCT t1.product')->from(TABLE_PROJECTPRODUCT)->alias('t1')
->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project=t2.id')
->where('t1.product')->in($idList)
->beginIF(strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('t2.status')->notin('done,closed')->fi()
->andWhere('t2.deleted')->eq(0)
->fetchPairs('product', 'product');
}
$hasProject = $this->dao->select('DISTINCT t1.product')->from(TABLE_PROJECTPRODUCT)->alias('t1')
->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project=t2.id')
->where('t1.product')->in($idList)
->beginIF(strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('t2.status')->notin('done,closed')->fi()
->andWhere('t2.deleted')->eq(0)
->fetchPairs('product', 'product');
}
$buildGroups = array();
foreach($libGroups as $objectID => $libs)
@@ -1198,20 +1173,13 @@ class docModel extends model
$objectLibs = $this->dao->select('*')->from(TABLE_DOCLIB)->where('deleted')->eq(0)->andWhere($type)->eq($objectID)->orderBy('`order`, id')->fetchAll('id');
if($type == 'product')
{
if($this->config->global->flow == 'onlyStory' or $this->config->global->flow == 'onlyTest')
{
$hasProject = array();
}
else
{
$hasProject = $this->dao->select('DISTINCT t1.product, count(project) as projectCount')->from(TABLE_PROJECTPRODUCT)->alias('t1')
->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project=t2.id')
->where('t1.product')->eq($objectID)
->beginIF(strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('t2.status')->notin('done,closed')->fi()
->andWhere('t2.deleted')->eq(0)
->groupBy('product')
->fetchPairs('product', 'projectCount');
}
$hasProject = $this->dao->select('DISTINCT t1.product, count(project) as projectCount')->from(TABLE_PROJECTPRODUCT)->alias('t1')
->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project=t2.id')
->where('t1.product')->eq($objectID)
->beginIF(strpos($this->config->doc->custom->showLibs, 'unclosed') !== false)->andWhere('t2.status')->notin('done,closed')->fi()
->andWhere('t2.deleted')->eq(0)
->groupBy('product')
->fetchPairs('product', 'projectCount');
}
$libs = array();
-4
View File
@@ -19,16 +19,12 @@ $sideWidth = common::checkNotCN() ? '270' : '238';
<div class="tabs">
<ul class='nav nav-tabs'>
<?php foreach($lang->doclib->tabList as $tabValue => $tabName):?>
<?php if($this->config->global->flow == 'onlyTask' and $tabValue == 'product') continue;?>
<?php if(($this->config->global->flow == 'onlyStory' or $this->config->global->flow == 'onlyTest') and $tabValue == 'project') continue;?>
<?php $activeClass = $tabValue == $type ? 'active' : '';?>
<li class='<?php echo $activeClass;?>'><?php echo html::a("#{$tabValue}", $tabName, '', "data-tab");?></li>
<?php endforeach;?>
</ul>
<div class="tab-content">
<?php foreach($lang->doclib->tabList as $tabValue => $tabName):?>
<?php if($this->config->global->flow == 'onlyTask' and $tabValue == 'product') continue;?>
<?php if(($this->config->global->flow == 'onlyStory' or $this->config->global->flow == 'onlyTest') and $tabValue == 'project') continue;?>
<?php $activeClass = $tabValue == $type ? 'active' : '';?>
<div class="tab-pane <?php echo $activeClass;?>" id="<?php echo "$tabValue";?>">
<ul data-name="docsTree" data-ride="tree" data-initial-state="preserve" class="tree no-margin">
-97
View File
@@ -1705,100 +1705,3 @@ $lang->changelog['12.3'][] = 'testtask-unitCases';
$lang->changelog['12.3'][] = 'testtask-importUnitResult';
$lang->changelog['12.3'][] = 'job-view';
$lang->changelog['12.3'][] = 'ci-commitResult';
global $config;
if($config->global->flow != 'full')
{
unset($lang->moduleOrder[10]);
unset($lang->resource->qa);
unset($lang->moduleOrder[50]);
unset($lang->resource->report);
unset($lang->moduleOrder[90]);
}
if($config->global->flow == 'onlyStory' || $config->global->flow == 'onlyTask')
{
unset($lang->resource->build);
unset($lang->moduleOrder[45]);
unset($lang->resource->bug);
unset($lang->moduleOrder[55]);
unset($lang->resource->testcase);
unset($lang->moduleOrder[60]);
unset($lang->resource->testtask);
unset($lang->moduleOrder[65]);
unset($lang->resource->my->bug);
unset($lang->resource->my->testTask);
unset($lang->resource->my->testCase);
}
if($config->global->flow == 'onlyStory' || $config->global->flow == 'onlyTest')
{
unset($lang->resource->project);
unset($lang->moduleOrder[35]);
unset($lang->resource->task);
unset($lang->moduleOrder[40]);
unset($lang->resource->my->task);
unset($lang->resource->my->project);
unset($lang->resource->product->project);
}
if($config->global->flow == 'onlyTask' || $config->global->flow == 'onlyTest')
{
unset($lang->resource->story);
unset($lang->moduleOrder[20]);
unset($lang->resource->productplan);
unset($lang->moduleOrder[25]);
unset($lang->resource->release);
unset($lang->moduleOrder[30]);
unset($lang->resource->my->story);
}
if($config->global->flow == 'onlyStory')
{
unset($lang->resource->svn);
unset($lang->moduleOrder[150]);
unset($lang->resource->git);
unset($lang->moduleOrder[155]);
unset($lang->resource->story->tasks);
}
if($config->global->flow == 'onlyTask')
{
unset($lang->resource->product);
unset($lang->moduleOrder[15]);
unset($lang->resource->bug);
unset($lang->moduleOrder[55]);
unset($lang->resource->project->importbug);
unset($lang->resource->project->story);
unset($lang->resource->project->bug);
unset($lang->resource->project->linkStory);
unset($lang->resource->project->unlinkStory);
unset($lang->resource->project->ajaxGetProducts);
}
if($config->global->flow == 'onlyTest')
{
unset($lang->resource->product->browse);
unset($lang->resource->product->roadmap);
unset($lang->resource->product->dynamic);
unset($lang->resource->product->ajaxGetProjects);
unset($lang->resource->product->ajaxGetPlans);
unset($lang->resource->build->ajaxGetProjectBuilds);
unset($lang->build->methodOrder[30]);
unset($lang->resource->bug->confirmStoryChange);
unset($lang->bug->methodOrder[60]);
unset($lang->resource->testcase->confirmStoryChange);
unset($lang->testcase->methodOrder[40]);
$lang->resource->product->build = 'build';
$lang->product->methodOrder[5] = 'build';
}
-3
View File
@@ -107,9 +107,6 @@ $lang->install->requestTypes['GET'] = 'GET';
$lang->install->requestTypes['PATH_INFO'] = 'PATH_INFO';
$lang->install->workingList['full'] = 'Volles Development Management';
$lang->install->workingList['onlyTest'] = 'Nur Test Management';
$lang->install->workingList['onlyStory'] = 'Nur Story Management';
$lang->install->workingList['onlyTask'] = 'Nur Task Management';
$lang->install->errorConnectDB = 'Verbindung zur Datenbank fehlgeschlagen. ';
$lang->install->errorDBName = 'Datenbankname darf keinen Punkt enthalten';
-3
View File
@@ -107,9 +107,6 @@ $lang->install->requestTypes['GET'] = 'GET';
$lang->install->requestTypes['PATH_INFO'] = 'PATH_INFO';
$lang->install->workingList['full'] = 'Application Lifecycle Management';
$lang->install->workingList['onlyTest'] = 'Only Test Management';
$lang->install->workingList['onlyStory'] = 'Only Story Management';
$lang->install->workingList['onlyTask'] = 'Only Task Management';
$lang->install->errorConnectDB = 'Connection to the database Failed. ';
$lang->install->errorDBName = 'Database name should exclude “.” ';
-3
View File
@@ -107,9 +107,6 @@ $lang->install->requestTypes['GET'] = 'GET';
$lang->install->requestTypes['PATH_INFO'] = 'PATH_INFO';
$lang->install->workingList['full'] = 'Application Lifecycle Management';
$lang->install->workingList['onlyTest'] = 'Seulement Test Management';
$lang->install->workingList['onlyStory'] = 'Seulement Story Management';
$lang->install->workingList['onlyTask'] = 'Seulement Task Management';
$lang->install->errorConnectDB = 'Echec de connexion à la base. ';
$lang->install->errorDBName = 'Le nom de la base ne doit pas contenir de “.” ';
-3
View File
@@ -107,9 +107,6 @@ $lang->install->requestTypes['GET'] = 'GET';
$lang->install->requestTypes['PATH_INFO'] = 'PATH_INFO';
$lang->install->workingList['full'] = 'Quản lý vòng đời ứng dụng';
$lang->install->workingList['onlyTest'] = 'Chỉ Test Management';
$lang->install->workingList['onlyStory'] = 'Chỉ Story Management';
$lang->install->workingList['onlyTask'] = 'Chỉ Task Management';
$lang->install->errorConnectDB = 'Connection to the database Failed. ';
$lang->install->errorDBName = 'Database name should exclude “.” ';
-3
View File
@@ -107,9 +107,6 @@ $lang->install->requestTypes['GET'] = '普通方式';
$lang->install->requestTypes['PATH_INFO'] = '静态友好方式';
$lang->install->workingList['full'] = '完整研发管理工具';
$lang->install->workingList['onlyTest'] = '测试管理工具';
$lang->install->workingList['onlyStory'] = "需求管理工具";
$lang->install->workingList['onlyTask'] = '任务管理工具';
$lang->install->errorConnectDB = '数据库连接失败 ';
$lang->install->errorDBName = '数据库名不能含有 “.” ';
-3
View File
@@ -107,9 +107,6 @@ $lang->install->requestTypes['GET'] = '普通方式';
$lang->install->requestTypes['PATH_INFO'] = '靜態友好方式';
$lang->install->workingList['full'] = '完整研發管理工具';
$lang->install->workingList['onlyTest'] = '測試管理工具';
$lang->install->workingList['onlyStory'] = "需求管理工具";
$lang->install->workingList['onlyTask'] = '任務管理工具';
$lang->install->errorConnectDB = '資料庫連接失敗 ';
$lang->install->errorDBName = '資料庫名不能含有 “.” ';
+3 -4
View File
@@ -25,7 +25,7 @@
</div>
</td>
</tr>
<?php $showProject = (strpos(",$showFields,", ',project,') !== false && $config->global->flow != 'onlyTest');?>
<?php $showProject = (strpos(",$showFields,", ',project,') !== false);?>
<tr class='bugTR'>
<th><?php echo ($showProject) ? $lang->bug->project : $lang->bug->type;?></th>
@@ -76,7 +76,7 @@
</td>
</tr>
<?php endif;?>
<?php if($this->config->global->flow != 'onlyTest' && $showProject):?>
<?php if($showProject):?>
<?php $showOS = strpos(",$showFields,", ',os,') !== false;?>
<?php $showBrowser = strpos(",$showFields,", ',browser,') !== false;?>
<tr class='bugTR'>
@@ -188,7 +188,7 @@
$showStory = strpos(",$showFields,", ',story,') !== false;
$showTask = strpos(",$showFields,", ',task,') !== false;
?>
<?php if(($showStory or $showTask) and $this->config->global->flow != 'onlyTest'):?>
<?php if(($showStory or $showTask)):?>
<tr class='bugTR'>
<th><?php echo ($showStory) ? $lang->bug->story : $lang->bug->task;?></th>
<?php if($showStory):?>
@@ -699,7 +699,6 @@ function notice()
var branch = $('#branch').val();
if(typeof(branch) == 'undefined') branch = 0;
var link = createLink('release', 'create', 'productID=' + $('#product').val() + '&branch=' + branch);
if(typeof(flow) != 'undefined' && flow == 'onlyTest') link = createLink('build', 'create','projectID=' + $('#product').val());
html += '<a href="' + link + '" target="_blank" style="padding-right:5px">' + createBuild + '</a> ';
html += '<a href="javascript:loadProductBuilds(' + $('#product').val() + ')">' + refresh + '</a>';
}
+1 -3
View File
@@ -41,7 +41,7 @@
<th><?php echo $lang->task->status;?></th>
<td><?php echo html::hidden('status', 'wait');?></td>
</tr>
<?php if($stories and $config->global->flow != 'onlyTask' and $project->type != 'ops'):?>
<?php if($stories and $project->type != 'ops'):?>
<tr id='testStoryBox' class='hidden'>
<th><?php echo $lang->task->selectTestStory;?></th>
<td colspan='3'>
@@ -97,10 +97,8 @@
<input type="hidden" class="colorpicker" id="color" name="color" value="" data-icon="color" data-wrapper="input-control-icon-right" data-update-color="#name" data-provide="colorpicker">
</div>
<?php echo html::input('name', $task->name, "class='form-control'");?>
<?php if($config->global->flow != 'onlyTask'):?>
<a href='javascript:copyStoryTitle();' id='copyButton' class='input-control-icon-right'><?php echo $lang->task->copyStoryTitle;?></a>
<?php echo html::hidden("storyEstimate") . html::hidden("storyDesc") . html::hidden("storyPri");?>
<?php endif;?>
</div>
<?php if(strpos(",$showFields,", ',pri,') !== false): // begin print pri selector?>
<span class="input-group-addon fix-border br-0"><?php echo $lang->task->pri;?></span>
+1 -1
View File
@@ -84,7 +84,7 @@
common::printIcon('story', 'review', $vars, $story, 'list', 'glasses', '', '', '', '', '', $story->program);
common::printIcon('story', 'close', $vars, $story, 'list', '', '', 'iframe', true, '', '', $story->program);
common::printIcon('story', 'edit', $vars, $story, 'list', '', '', '', '', '', '', $story->program);
if($config->global->flow != 'onlyStory') common::printIcon('story', 'createCase', "productID=$story->product&branch=$story->branch&module=0&from=&param=0&$vars", $story, 'list', 'sitemap', '', '', '', '', '', $story->program);
common::printIcon('story', 'createCase', "productID=$story->product&branch=$story->branch&module=0&from=&param=0&$vars", $story, 'list', 'sitemap', '', '', '', '', '', $story->program);
?>
</td>
</tr>
+1 -1
View File
@@ -90,7 +90,7 @@
common::printIcon('story', 'review', $vars, $story, 'list', 'glasses', '', '', '', '', '', $story->program);
common::printIcon('story', 'close', $vars, $story, 'list', '', '', 'iframe', true, '', '', $story->program);
common::printIcon('story', 'edit', $vars, $story, 'list', '', '', '', '', '', '', $story->program);
if($config->global->flow != 'onlyStory') common::printIcon('story', 'createCase', "productID=$story->product&branch=$story->branch&module=0&from=&param=0&$vars", $story, 'list', 'sitemap', '', '', '', '', '', $story->program);
common::printIcon('story', 'createCase', "productID=$story->product&branch=$story->branch&module=0&from=&param=0&$vars", $story, 'list', 'sitemap', '', '', '', '', '', $story->program);
?>
</td>
</tr>
-2
View File
@@ -49,7 +49,6 @@ class product extends control
*/
public function index($locate = 'auto', $productID = 0, $status = 'noclosed', $orderBy = 'order_desc', $recTotal = 0, $recPerPage = 10, $pageID = 1)
{
if($this->config->global->flow == 'onlyTest') $this->locate($this->createLink($this->moduleName, 'build'));
if($locate == 'yes') $this->locate($this->createLink($this->moduleName, 'browse'));
if($this->app->getViewType() != 'mhtml') unset($this->lang->product->menu->index);
@@ -254,7 +253,6 @@ class product extends control
$this->executeHooks($productID);
$locate = $this->createLink($this->moduleName, 'browse', "productID=$productID");
if(isset($this->config->global->flow) and $this->config->global->flow == 'onlyTest') $locate = $this->createLink($this->moduleName, 'build', "productID=$productID");
$this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $locate));
}
-2
View File
@@ -312,8 +312,6 @@ class productModel extends model
*/
public function getProductsByProject($projectID)
{
if($this->config->global->flow == 'onlyTask') return array();
return $this->dao->select('t1.product, t2.name')
->from(TABLE_PROJECTPRODUCT)->alias('t1')
->leftJoin(TABLE_PRODUCT)->alias('t2')
+1 -1
View File
@@ -12,7 +12,7 @@
?>
<?php include '../../common/view/header.html.php';?>
<?php include '../../common/view/kindeditor.html.php';?>
<?php js::set('noProject', ($config->global->flow == 'onlyStory' or $config->global->flow == 'onlyTest') ? true : false);?>
<?php js::set('noProject', false);?>
<div id="mainContent" class="main-content">
<div class="center-block">
<div class="main-header">
+1 -1
View File
@@ -12,7 +12,7 @@
?>
<?php include '../../common/view/header.html.php';?>
<?php include '../../common/view/kindeditor.html.php';?>
<?php js::set('noProject', ($config->global->flow == 'onlyStory' or $config->global->flow == 'onlyTest') ? true : false);?>
<?php js::set('noProject', false);?>
<div id="mainContent" class="main-content">
<div class="center-block">
<div class="main-header">
-2
View File
@@ -190,7 +190,6 @@
</table>
</div>
</div>
<?php if($config->global->flow != 'onlyTest'):?>
<div class="detail">
<div class="detail-title"><strong><?php echo $lang->product->otherInfo;?></strong></div>
<div class="detail-content">
@@ -231,7 +230,6 @@
</table>
</div>
</div>
<?php endif;?>
<?php $this->printExtendFields($product, 'div', "position=right&inForm=0&inCell=1");?>
</div>
</div>
+1 -1
View File
@@ -119,7 +119,7 @@
<?php
if(common::hasPriv('program', 'createguide')) echo html::a(helper::createLink('program', 'createguide', "projectID=&copyProjectID=&planID=$plan->id"), '<i class="icon-plus"></i>', '', "class='btn' title='{$lang->project->create}' data-toggle='modal' data-type='ajax'");
if(common::hasPriv('productplan', 'linkStory')) echo html::a(inlink('view', "planID=$plan->id&type=story&orderBy=id_desc&link=true"), '<i class="icon-link"></i>', '', "class='btn' title='{$lang->productplan->linkStory}'");
if(common::hasPriv('productplan', 'linkBug') and $config->global->flow != 'onlyStory') echo html::a(inlink('view', "planID=$plan->id&type=bug&orderBy=id_desc&link=true"), '<i class="icon-bug"></i>', '', "class='btn' title='{$lang->productplan->linkBug}'");
if(common::hasPriv('productplan', 'linkBug')) echo html::a(inlink('view', "planID=$plan->id&type=bug&orderBy=id_desc&link=true"), '<i class="icon-bug"></i>', '', "class='btn' title='{$lang->productplan->linkBug}'");
common::printIcon('productplan', 'edit', "planID=$plan->id", $plan, 'list');
if(common::hasPriv('productplan', 'create'))
{
-2
View File
@@ -50,9 +50,7 @@
<div class='tabs' id='tabsNav'>
<ul class='nav nav-tabs'>
<li class='<?php if($type == 'story') echo 'active'?>'><a href='#stories' data-toggle='tab'><?php echo html::icon($lang->icons['story'], 'text-primary') . ' ' . $lang->productplan->linkedStories;?></a></li>
<?php if($config->global->flow != 'onlyStory'):?>
<li class='<?php if($type == 'bug') echo 'active'?>'><a href='#bugs' data-toggle='tab'><?php echo html::icon($lang->icons['bug'], 'text-red') . ' ' . $lang->productplan->linkedBugs;?></a></li>
<?php endif;?>
<li><a href='#planInfo' data-toggle='tab'><?php echo html::icon($lang->icons['plan'], 'text-info') . ' ' . $lang->productplan->view;?></a></li>
</ul>
<div class='tab-content'>
+1 -2
View File
@@ -122,12 +122,11 @@ class project extends control
/* Set browse type. */
$browseType = strtolower($status);
if($this->config->global->flow == 'onlyTask' and $browseType == 'byproduct') $param = 0;
/* Get products by project. */
$project = $this->commonAction($projectID, $status);
$projectID = $project->id;
$products = $this->config->global->flow == 'onlyTask' ? array() : $this->loadModel('product')->getProductsByProject($projectID);
$products = $this->loadModel('product')->getProductsByProject($projectID);
setcookie('preProjectID', $projectID, $this->config->cookieLife, $this->config->webRoot, '', false, true);
if($this->cookie->preProjectID != $projectID)
-7
View File
@@ -354,10 +354,3 @@ $lang->project->treeLevel['all'] = 'Alle aufklappen';
$lang->project->treeLevel['root'] = 'Alle zuklappen';
$lang->project->treeLevel['task'] = 'Aufgabe anzeigen';
$lang->project->treeLevel['story'] = 'Story anzeigen';
global $config;
if($config->global->flow == 'onlyTask')
{
unset($lang->project->groups['story']);
unset($lang->project->featureBar['task']['needconfirm']);
}
-7
View File
@@ -354,10 +354,3 @@ $lang->project->treeLevel['all'] = 'Expand All';
$lang->project->treeLevel['root'] = 'Collapse All';
$lang->project->treeLevel['task'] = 'Stories&Tasks';
$lang->project->treeLevel['story'] = 'Only Stories';
global $config;
if($config->global->flow == 'onlyTask')
{
unset($lang->project->groups['story']);
unset($lang->project->featureBar['task']['needconfirm']);
}
-7
View File
@@ -354,10 +354,3 @@ $lang->project->treeLevel['all'] = 'Déplier Tout';
$lang->project->treeLevel['root'] = 'Masquer Tout';
$lang->project->treeLevel['task'] = 'Stories&Tâches';
$lang->project->treeLevel['story'] = 'Seulement Stories';
global $config;
if($config->global->flow == 'onlyTask')
{
unset($lang->project->groups['story']);
unset($lang->project->featureBar['task']['needconfirm']);
}
-7
View File
@@ -354,10 +354,3 @@ $lang->project->treeLevel['all'] = 'Mở tất cả';
$lang->project->treeLevel['root'] = 'Co lại tất cả';
$lang->project->treeLevel['task'] = 'Câu chuyện & nhiệm vụ';
$lang->project->treeLevel['story'] = 'Chỉ câu chuyện';
global $config;
if($config->global->flow == 'onlyTask')
{
unset($lang->project->groups['story']);
unset($lang->project->featureBar['task']['needconfirm']);
}
-7
View File
@@ -360,10 +360,3 @@ $lang->project->treeLevel['all'] = '全部展开';
$lang->project->treeLevel['root'] = '全部折叠';
$lang->project->treeLevel['task'] = '全部显示';
$lang->project->treeLevel['story'] = "只看{$lang->storyCommon}";
global $config;
if($config->global->flow == 'onlyTask')
{
unset($lang->project->groups['story']);
unset($lang->project->featureBar['task']['needconfirm']);
}
-7
View File
@@ -354,10 +354,3 @@ $lang->project->treeLevel['all'] = '全部展開';
$lang->project->treeLevel['root'] = '全部摺疊';
$lang->project->treeLevel['task'] = '全部顯示';
$lang->project->treeLevel['story'] = "只看{$lang->storyCommon}";
global $config;
if($config->global->flow == 'onlyTask')
{
unset($lang->project->groups['story']);
unset($lang->project->featureBar['task']['needconfirm']);
}
-2
View File
@@ -1185,8 +1185,6 @@ class projectModel extends model
*/
public function getProducts($projectID, $withBranch = true)
{
if($this->config->global->flow == 'onlyTask') return array();
if(defined('TUTORIAL'))
{
if(!$withBranch) return $this->loadModel('tutorial')->getProductPairs();
+2 -2
View File
@@ -91,7 +91,7 @@
<td></td>
</tr>
<?php $this->printExtendFields('', 'table');?>
<tr <?php if($config->global->flow == 'onlyTask') echo "class='hidden'";?>>
<tr>
<th><?php echo $lang->project->manageProducts;?></th>
<td class='text-left' id='productsBox' colspan="3">
<div class='row'>
@@ -116,7 +116,7 @@
</div>
</td>
</tr>
<tr <?php if($config->global->flow == 'onlyTask') echo "class='hidden'";?>>
<tr>
<th><?php echo $lang->project->linkPlan;?></th>
<td colspan="3" id="plansBox">
<div class='row'>
+2 -9
View File
@@ -74,12 +74,6 @@
<th><?php echo $lang->project->status;?></th>
<td><?php echo html::select('status', $lang->project->statusList, $project->status, "class='form-control'");?></td>
</tr>
<?php if($config->global->flow == 'onlyTask'):?>
<tr>
<th><?php echo $lang->project->owner;?></th>
<td><?php echo html::select('PM', $pmUsers, $project->PM, "class='form-control chosen'");?></td>
</tr>
<?php else:?>
<tr>
<th rowspan='2'><?php echo $lang->project->owner;?></th>
<td>
@@ -109,8 +103,7 @@
</div>
</td>
</tr>
<?php endif;?>
<tr <?php if($config->global->flow == 'onlyTask') echo "class='hidden'";?>>
<tr>
<th><?php echo $lang->project->manageProducts;?></th>
<td class='text-left' id='productsBox' colspan="2">
<div class='row'>
@@ -135,7 +128,7 @@
</div>
</td>
</tr>
<tr <?php if($config->global->flow == 'onlyTask') echo "class='hidden'";?>>
<tr>
<th><?php echo $lang->project->linkPlan;?></th>
<td id="plansBox" colspan="2">
<div class='row'>
+1 -1
View File
@@ -2,7 +2,7 @@
<p><strong><?php echo $lang->project->afterInfo;?></strong></p>
<div>
<?php echo html::a($this->createLink('project', 'team', "projectID=$projectID"), $lang->project->setTeam, '', "class='btn'");?>
<?php if($config->global->flow != 'onlyTask' && $project->type != 'ops') echo html::a($this->createLink('project', 'linkstory', "projectID=$projectID"), $lang->project->linkStory, '', "class='btn'");?>
<?php if($project->type != 'ops') echo html::a($this->createLink('project', 'linkstory', "projectID=$projectID"), $lang->project->linkStory, '', "class='btn'");?>
<?php echo html::a($this->createLink('task', 'create', "project=$projectID"), $lang->project->createTask, '', "class='btn'");?>
<?php echo html::a($this->createLink('project', 'task', "projectID=$projectID"), $lang->project->goback, '', "class='btn'");?>
</div>
+37 -39
View File
@@ -15,7 +15,7 @@
common::printIcon('story', 'review', $vars, $story, 'list', 'glasses', '', 'btn btn-info btn-icon');
common::printIcon('story', 'close', $vars, $story, 'list', 'off', '', 'btn btn-info btn-icon iframe', true);
common::printIcon('story', 'edit', $vars, $story, 'list', '', '', 'btn btn-info btn-icon');
if($config->global->flow != 'onlyStory') common::printIcon('story', 'createCase', "productID=$story->product&branch=$story->branch&module=0&from=&param=0&$vars", $story, 'list', 'sitemap', '', 'btn btn-info btn-icon');
common::printIcon('story', 'createCase', "productID=$story->product&branch=$story->branch&module=0&from=&param=0&$vars", $story, 'list', 'sitemap', '', 'btn btn-info btn-icon');
?>
</div>
</div>
@@ -197,7 +197,6 @@
<div class="detail-content">
<table class="table table-data">
<tbody>
<?php if($config->global->flow != 'onlyStory'):?>
<?php if(!empty($fromBug)):?>
<tr class='text-top'>
<th class='thWidth'><?php echo $lang->story->legendFromBug;?></th>
@@ -242,43 +241,42 @@
<?php endif;?>
</td>
</tr>
<?php endif;?>
<tr class='text-top'>
<th><?php echo $lang->story->legendLinkStories;?></th>
<td class='pd-0'>
<?php $linkStories = explode(',', $story->linkStories);?>
<?php if(count($linkStories) < 2):?>
<?php echo $lang->noData;?>
<?php else:?>
<ul class='list-unstyled'>
<?php
foreach($linkStories as $linkStoryID)
{
if(isset($story->extraStories[$linkStoryID])) echo '<li>' . html::a($this->createLink('story', 'view', "storyID=$linkStoryID"), "#$linkStoryID " . $story->extraStories[$linkStoryID]) . '</li>';
}
?>
</ul>
<?php endif;?>
</td>
</tr>
<tr class='text-top'>
<th><?php echo $lang->story->legendChildStories;?></th>
<td class='pd-0'>
<?php $childStories = explode(',', $story->childStories);?>
<?php if(count($childStories) < 2):?>
<?php echo $lang->noData;?>
<?php else:?>
<ul class='list-unstyled'>
<?php
foreach($childStories as $childStoryID)
{
if(isset($story->extraStories[$childStoryID])) echo '<li>' . html::a($this->createLink('story', 'view', "storyID=$childStoryID"), "#$childStoryID " . $story->extraStories[$childStoryID]) . '</li>';
}
?>
</ul>
<?php endif;?>
</td>
</tr>
<tr class='text-top'>
<th><?php echo $lang->story->legendLinkStories;?></th>
<td class='pd-0'>
<?php $linkStories = explode(',', $story->linkStories);?>
<?php if(count($linkStories) < 2):?>
<?php echo $lang->noData;?>
<?php else:?>
<ul class='list-unstyled'>
<?php
foreach($linkStories as $linkStoryID)
{
if(isset($story->extraStories[$linkStoryID])) echo '<li>' . html::a($this->createLink('story', 'view', "storyID=$linkStoryID"), "#$linkStoryID " . $story->extraStories[$linkStoryID]) . '</li>';
}
?>
</ul>
<?php endif;?>
</td>
</tr>
<tr class='text-top'>
<th><?php echo $lang->story->legendChildStories;?></th>
<td class='pd-0'>
<?php $childStories = explode(',', $story->childStories);?>
<?php if(count($childStories) < 2):?>
<?php echo $lang->noData;?>
<?php else:?>
<ul class='list-unstyled'>
<?php
foreach($childStories as $childStoryID)
{
if(isset($story->extraStories[$childStoryID])) echo '<li>' . html::a($this->createLink('story', 'view', "storyID=$childStoryID"), "#$childStoryID " . $story->extraStories[$childStoryID]) . '</li>';
}
?>
</ul>
<?php endif;?>
</td>
</tr>
</tbody>
</table>
</div>
-4
View File
@@ -72,7 +72,6 @@
<div class="panel-body">
<div class="row row-grid">
<?php $i = 9; $j = 0;?>
<?php if($config->global->flow != 'onlyTask'):?>
<?php if($project->PM):?>
<?php $i--;?>
<?php unset($teamMembers[$project->PM]);?>
@@ -93,7 +92,6 @@
<?php unset($teamMembers[$project->RD]);?>
<div class="col-xs-6"><i class="icon icon-person icon-sm text-muted"></i> <?php echo zget($users, $project->RD);?> <span class="text-muted">(<?php echo $lang->project->RD;?>)</span></div>
<?php endif;?>
<?php endif;?>
<?php if(common::hasPriv('project', 'team')):?>
<?php foreach($teamMembers as $teamMember):?>
@@ -193,7 +191,6 @@
</p>
</div>
</div>
<?php if($config->global->flow != 'onlyTask'):?>
<div class="detail">
<div class="detail-title">
<strong><?php echo $lang->project->manageProducts;?></strong>
@@ -222,7 +219,6 @@
</div>
</div>
</div>
<?php endif;?>
<div class='detail'>
<div class='detail-title'><strong><?php echo $lang->project->lblStats;?></strong></div>
<div class="detail-content">
+1 -1
View File
@@ -72,7 +72,7 @@
<td class='c-actions'>
<?php
if(common::hasPriv('release', 'linkStory')) echo html::a($this->createLink('release', 'view', "releaseID=$release->id&type=story&link=true"), '<i class="icon-link"></i> ', '', "class='btn' title='{$lang->release->linkStory}'");
if(common::hasPriv('release', 'linkBug') and $config->global->flow != 'onlyStory') echo html::a($this->createLink('release', 'view', "releaseID=$release->id&type=bug&link=true"), '<i class="icon-bug"></i> ', '', "class='btn' title='{$lang->release->linkBug}'");
if(common::hasPriv('release', 'linkBug')) echo html::a($this->createLink('release', 'view', "releaseID=$release->id&type=bug&link=true"), '<i class="icon-bug"></i> ', '', "class='btn' title='{$lang->release->linkBug}'");
if(common::hasPriv('release', 'changeStatus', $release))
{
$changedStatus = $release->status == 'normal' ? 'terminate' : 'normal';
+1 -3
View File
@@ -53,12 +53,10 @@
<?php $countStories = count($stories); $countBugs = count($bugs); $countLeftBugs = count($leftBugs);?>
<ul class='nav nav-tabs'>
<li <?php if($type == 'story') echo "class='active'"?>><a href='#stories' data-toggle='tab'><?php echo html::icon($lang->icons['story'], 'text-green') . ' ' . $lang->release->stories;?></a></li>
<?php if($config->global->flow != 'onlyStory'):?>
<li <?php if($type == 'bug') echo "class='active'"?>><a href='#bugs' data-toggle='tab'><?php echo html::icon($lang->icons['bug'], 'text-green') . ' ' . $lang->release->bugs;?></a></li>
<li <?php if($type == 'leftBug') echo "class='active'"?>><a href='#leftBugs' data-toggle='tab'><?php echo html::icon($lang->icons['bug'], 'text-red') . ' ' . $lang->release->generatedBugs;?></a></li>
<?php endif;?>
<li <?php if($type == 'releaseInfo') echo "class='active'"?>><a href='#releaseInfo' data-toggle='tab'><?php echo html::icon($lang->icons['plan'], 'text-info') . ' ' . $lang->release->view;?></a></li>
<?php if($countStories or ($config->global->flow != 'onlyStory' and ($countBugs or $countLeftBugs))):?>
<?php if($countStories or $countBugs or $countLeftBugs):?>
<li class='pull-right'><div><?php common::printIcon('release', 'export', '', '', 'button', '', '', "export btn-sm");?></div></li>
<?php endif;?>
</ul>
+1 -1
View File
@@ -3077,7 +3077,7 @@ class storyModel extends model
common::printIcon('story', 'review', $vars, $story, 'list', 'glasses');
common::printIcon('story', 'close', $vars, $story, 'list', '', '', 'iframe', true);
common::printIcon('story', 'edit', $vars, $story, 'list');
if($this->config->global->flow != 'onlyStory') common::printIcon('story', 'createCase', "productID=$story->product&branch=$story->branch&module=0&from=&param=0&$vars", $story, 'list', 'sitemap');
common::printIcon('story', 'createCase', "productID=$story->product&branch=$story->branch&module=0&from=&param=0&$vars", $story, 'list', 'sitemap');
common::printIcon('story', 'batchCreate', "productID=$story->product&branch=$story->branch&module=$story->module&storyID=$story->id", $story, 'list', 'treemap-alt', '', '', '', '', $this->lang->story->subdivide);
break;
}
+3 -9
View File
@@ -186,7 +186,7 @@
common::printIcon('story', 'close', "storyID=$story->id", $story, 'button', '', '', 'iframe showinonlybody', true);
common::printIcon('story', 'activate', "storyID=$story->id", $story, 'button', '', '', 'iframe showinonlybody', true);
if($config->global->flow != 'onlyStory' and !isonlybody() and $story->parent >= 0 and $story->type != 'requirement' and (common::hasPriv('testcase', 'create') or common::hasPriv('testcase', 'batchCreate')))
if(!isonlybody() and $story->parent >= 0 and $story->type != 'requirement' and (common::hasPriv('testcase', 'create') or common::hasPriv('testcase', 'batchCreate')))
{
$this->app->loadLang('testcase');
echo "<div class='btn-group dropup'>";
@@ -382,9 +382,7 @@
<div class="cell">
<div class='tabs'>
<ul class='nav nav-tabs'>
<?php if($config->global->flow == 'onlyStory'):?>
<li class='active'><a href='#legendRelated' data-toggle='tab'><?php echo $lang->story->legendRelated;?></a></li>
<?php elseif($program->template == 'cmmi'):?>
<?php if($program->template == 'cmmi'):?>
<li class='active'><a href='#legendStories' data-toggle='tab'><?php echo $story->type == 'story' ? $lang->story->requirement : $lang->story->story;?></a></li>
<li><a href='#legendProjectAndTask' data-toggle='tab'><?php echo $lang->story->legendProjectAndTask;?></a></li>
<li><a href='#legendRelated' data-toggle='tab'><?php echo $lang->story->legendRelated;?></a></li>
@@ -412,7 +410,6 @@
</ul>
</div>
<?php endif;?>
<?php if($config->global->flow != 'onlyStory'):?>
<div class='tab-pane active' id='legendProjectAndTask'>
<ul class="list-unstyled">
<?php
@@ -437,11 +434,9 @@
?>
</ul>
</div>
<?php endif;?>
<div class="tab-pane <?php if($config->global->flow == 'onlyStory') echo 'active';?>" id='legendRelated'>
<div class="tab-pane" id='legendRelated'>
<table class="table table-data">
<tbody>
<?php if($config->global->flow != 'onlyStory'):?>
<?php if(!empty($fromBug)):?>
<tr class='text-top'>
<th class='thWidth'><?php echo $lang->story->legendFromBug;?></th>
@@ -478,7 +473,6 @@
</ul>
</td>
</tr>
<?php endif;?>
<tr>
<th class='text-top thWidth'><?php echo $lang->story->legendLinkStories;?></th>
<td class='pd-0'>
-8
View File
@@ -36,7 +36,6 @@ $config->task->exportFields = '
closedBy, closedDate, closedReason,
lastEditedBy, lastEditedDate,files
';
if($config->global->flow == 'onlyTask') $config->task->exportFields = str_replace(array(' story,'), '', $config->task->exportFields);
$config->task->customCreateFields = 'story,estStarted,deadline,mailto,pri,estimate';
$config->task->customBatchCreateFields = 'module,story,assignedTo,estimate,estStarted,deadline,desc,pri';
@@ -47,13 +46,6 @@ $config->task->custom->createFields = $config->task->customCreateFields;
$config->task->custom->batchCreateFields = 'module,story,assignedTo,estimate,desc,pri';
$config->task->custom->batchEditFields = 'module,assignedTo,status,pri,estimate,record,left,finishedBy,closedBy,closedReason';
if($config->global->flow == 'onlyTask')
{
$config->task->customCreateFields = str_replace(array('story,'), '', $config->task->customCreateFields);
$config->task->customBatchCreateFields = str_replace(array('story,'), '', $config->task->customBatchCreateFields);
$config->task->custom->batchCreateFields = str_replace(array('story,'), '', $config->task->custom->batchCreateFields);
}
$config->task->datatable = new stdclass();
$config->task->datatable->defaultField = array('id', 'pri', 'name', 'status', 'assignedTo', 'finishedBy', 'estimate', 'consumed', 'left', 'progress', 'deadline', 'actions');
-7
View File
@@ -23,13 +23,6 @@ class task extends control
$this->loadModel('project');
$this->loadModel('story');
$this->loadModel('tree');
if($this->config->global->flow == 'onlyTask')
{
$this->config->task->customCreateFields = str_replace(array('story,'), '', $this->config->task->customCreateFields);
$this->config->task->customBatchCreateFields = str_replace(array('story,'), '', $this->config->task->customBatchCreateFields);
$this->config->task->custom->batchCreateFields = str_replace(array('story,'), '', $this->config->task->custom->batchCreateFields);
}
}
/**
+2 -2
View File
@@ -22,7 +22,7 @@
<?php echo $lang->task->batchCreate;?>
<?php endif;?>
</h2>
<?php if($project->type != 'ops' && $config->global->flow != 'onlyTask'):?>
<?php if($project->type != 'ops'):?>
<a class="checkbox-primary pull-left" id='zeroTaskStory' href='javascript:toggleZeroTaskStory();'>
<label><?php echo $lang->story->zeroTask;?></label>
</a>
@@ -49,7 +49,7 @@
}
}
$colspan = count($visibleFields) + 3;
$hiddenStory = ((isonlybody() and $storyID) || $config->global->flow == 'onlyTask') ? ' hidden' : '';
$hiddenStory = (isonlybody() and $storyID) ? ' hidden' : '';
if($hiddenStory and isset($visibleFields['story'])) $colspan -= 1;
?>
<form method='post' class='load-indicator batch-actions-form form-ajax' enctype='multipart/form-data' id="batchCreateForm">
+5 -7
View File
@@ -13,7 +13,7 @@
<?php include '../../common/view/header.html.php';?>
<?php include '../../common/view/kindeditor.html.php';?>
<?php include '../../common/view/sortable.html.php';?>
<?php js::set('toTaskList', $config->global->flow == 'onlyTask' || !empty($task->id));?>
<?php js::set('toTaskList', !empty($task->id));?>
<style>.title-group .has-icon-right{min-width:700px}</style>
<div id='mainContent' class='main-content'>
<div class='center-block'>
@@ -70,7 +70,7 @@
<td><?php echo html::hidden('status', 'wait');?></td>
</tr>
<?php $this->printExtendFields('', 'table');?>
<?php if(strpos(",$showFields,", ',story,') !== false and $config->global->flow != 'onlyTask' and $project->type != 'ops'):?>
<?php if(strpos(",$showFields,", ',story,') !== false and $project->type != 'ops'):?>
<tr>
<th><?php echo $lang->task->story;?></th>
<td colspan='3'>
@@ -85,7 +85,7 @@
</td>
</tr>
<?php endif;?>
<?php if($stories and $config->global->flow != 'onlyTask' and $project->type != 'ops'):?>
<?php if($stories and $project->type != 'ops'):?>
<tr id='testStoryBox' class='hidden'>
<th><?php echo $lang->task->selectTestStory;?></th>
<td colspan='3'>
@@ -144,10 +144,8 @@
<input type="hidden" class="colorpicker" id="color" name="color" value="" data-icon="color" data-wrapper="input-control-icon-right" data-update-color="#name" data-provide="colorpicker">
</div>
<?php echo html::input('name', $task->name, "class='form-control' required");?>
<?php if($config->global->flow != 'onlyTask'):?>
<a href='javascript:copyStoryTitle();' id='copyButton' class='input-control-icon-right'><?php echo $lang->task->copyStoryTitle;?></a>
<?php echo html::hidden("storyEstimate") . html::hidden("storyDesc") . html::hidden("storyPri");?>
<?php endif;?>
</div>
<?php if(strpos(",$showFields,", ',pri,') !== false): // begin print pri selector?>
<span class="input-group-addon fix-border br-0"><?php echo $lang->task->pri;?></span>
@@ -237,9 +235,9 @@
</td>
</tr>
<?php endif;?>
<tr <?php echo $config->global->flow == 'onlyTask' ? "class='hidden'" : '';?> id='after-tr'>
<tr id='after-tr'>
<th><?php echo $lang->task->afterSubmit;?></th>
<td colspan='3'><?php echo html::radio('after', $lang->task->afterChoices, $config->global->flow == 'onlyTask' || !empty($task->id) ? 'toTaskList' : 'continueAdding');?></td>
<td colspan='3'><?php echo html::radio('after', $lang->task->afterChoices, !empty($task->id) ? 'toTaskList' : 'continueAdding');?></td>
</tr>
<tr>
<td colspan='4' class='text-center form-actions'>
+1 -1
View File
@@ -107,7 +107,7 @@
</div>
</td>
</tr>
<?php if($config->global->flow != 'onlyTask' and $project->type != 'ops'):?>
<?php if($project->type != 'ops'):?>
<tr>
<th><?php echo $lang->task->story;?></th>
<td><span id="storyIdBox"><?php echo html::select('story', $stories, $task->story, "class='form-control chosen'");?></span></td>
+1 -1
View File
@@ -227,7 +227,7 @@
?>
<td title='<?php echo $moduleTitle?>'><?php echo $printModule?></td>
</tr>
<?php if($config->global->flow != 'onlyTask' and $project->type != 'ops'):?>
<?php if($project->type != 'ops'):?>
<tr class='nofixed'>
<th><?php echo $lang->task->story;?></th>
<td>
-1
View File
@@ -618,7 +618,6 @@ class testcase extends control
$libraries = $this->loadModel('caselib')->getLibraries();
$this->caselib->setLibMenu($libraries, $case->lib);
$this->lang->testcase->menu = $this->lang->caselib->menu;
if($this->config->global->flow == 'onlyTest') $this->lang->menugroup->testcase = 'caselib';
$title = "CASE #$case->id $case->title - " . $libraries[$case->lib];
$position[] = html::a($this->createLink('caselib', 'browse', "libID=$case->lib"), $libraries[$case->lib]);
-17
View File
@@ -14,21 +14,4 @@ function confirmBatchDelete(actionLink)
$(function()
{
if($('#caseList thead th.c-title').width() < 150) $('#caseList thead th.c-title').width(150);
if(flow == 'onlyTest')
{
$('#subNavbar > .nav li[data-id=' + browseType + ']').addClass('active');
if(browseType == 'bysuite')
{
var $moreSuite = $('#subNavbar > .nav > li[data-id=bysuite]');
if($moreSuite.find('.dropdown-menu').children().length)
{
$moreSuite.find('.dropdown-menu').children().each(function()
{
if($(this).data('id') == suiteID) $(this).addClass('active');
});
}
}
}
});
+2 -59
View File
@@ -112,65 +112,8 @@ class testcaseModel extends model
$this->lang->modulePageActions = $pageActions;
foreach($this->lang->testcase->menu as $key => $menu)
{
if($this->config->global->flow == 'full') $this->loadModel('qa')->setSubMenu('testcase', $key, $productID);
if($this->config->global->flow != 'onlyTest')
{
$replace = $productID;
}
else
{
if($key == 'bysuite')
{
$subMenu = array();
if(common::hasPriv('testcase', 'browse'))
{
$suiteList = $this->loadModel('testsuite')->getSuites($productID);
$currentSuiteID = isset($suiteID) ? (int)$suiteID : 0;
if($suiteList)
{
foreach($suiteList as $suiteID => $suite)
{
$suiteName = $suite->name;
if($suite->type == 'public') $suiteName .= " <span class='label label-info'>{$this->lang->testsuite->authorList[$suite->type]}</span>";
$link = array();
$link['module'] = 'testcase';
$link['method'] = 'browse';
$link['vars'] = "productID=$productID&branch=$branch&browseType=bysuite&param=$suiteID";
$menu = new stdclass();
$menu->name = $suiteID;
$menu->link = $link;
$menu->text = $suiteName;
$menu->hidden = false;
$subMenu[$suiteID] = $menu;
}
}
}
/* Avoid the menu shaking when change it by js. */
if(isset($subMenu[$currentSuiteID]))
{
$currentSubMenu = $subMenu[$currentSuiteID];
$this->lang->testcase->menu->bysuite['link'] = "$currentSubMenu->text|" . implode('|', $currentSubMenu->link);
}
/* Replace for dropdown submenu. */
if(isset($this->lang->testcase->subMenu->$key))
{
$subMenu += common::createSubMenu($this->lang->testcase->subMenu->$key, $productID);
}
if(!empty($subMenu)) $this->lang->testcase->menu->{$key}['subMenu'] = $subMenu;
if($this->app->getMethodName() != 'view') $this->lang->testcase->menu->bysearch = "<a class='querybox-toggle' id='bysearchTab'><i class='icon icon-search muted'> </i>{$this->lang->testcase->bySearch}</a>";
}
else
{
$replace = array();
$replace['productID'] = $productID;
$replace['branch'] = $branch;
}
}
$this->loadModel('qa')->setSubMenu('testcase', $key, $productID);
$replace = $productID;
common::setMenuVars($this->lang->testcase->menu, $key, $replace);
}
}
-1
View File
@@ -25,7 +25,6 @@
if(isset($menuItem->hidden)) continue;
$menuType = $menuItem->name;
if(!$config->testcase->needReview and empty($config->testcase->forceReview) and $menuType == 'wait') continue;
if($config->global->flow == 'onlyTest' and (strpos(',needconfirm,group,zerocase,', ',' . $menuType . ',') !== false)) continue;
if($hasBrowsePriv and $menuType == 'QUERY')
{
$searchBrowseLink = $this->createLink('testcase', 'browse', "productID=$productID&branch=$branch&browseType=bySearch&param=%s");
+1 -1
View File
@@ -63,7 +63,7 @@
</td>
<?php endif;?>
</tr>
<?php if(strpos(",$showFields,", ',story,') !== false and $config->global->flow != 'onlyTest'):?>
<?php if(strpos(",$showFields,", ',story,') !== false):?>
<tr>
<th><?php echo $lang->testcase->lblStory;?></th>
<td colspan='2'>
+1 -1
View File
@@ -192,7 +192,7 @@
</td>
</tr>
<?php endif;?>
<?php if(!$isLibCase and $config->global->flow != 'onlyTest'):?>
<?php if(!$isLibCase):?>
<tr>
<th><?php echo $lang->testcase->story;?></th>
<td class='text-left'><div id='storyIdBox'><?php echo html::select('story', $stories, $case->story, 'class=form-control chosen');?></div>
+1 -1
View File
@@ -184,7 +184,7 @@
?>
</td>
</tr>
<?php if(!$isLibCase and $config->global->flow != 'onlyTest'):?>
<?php if(!$isLibCase):?>
<tr class='nofixed'>
<th><?php echo $lang->testcase->story;?></th>
<td>
+2 -28
View File
@@ -49,34 +49,8 @@ class testreportModel extends model
$this->lang->modulePageActions = $pageActions;
foreach($this->lang->testtask->menu as $key => $value)
{
if($this->config->global->flow == 'full') $this->loadModel('qa')->setSubMenu('testreport', $key, $productID);
if($this->config->global->flow != 'onlyTest')
{
$replace = $productID;
}
else
{
if($key == 'scope')
{
$scope = $this->session->testTaskVersionScope;
$status = $this->session->testTaskVersionStatus;
$viewName = $scope == 'local'? $products[$productID] : $this->lang->testtask->all;
$replace = '<li>';
$replace .= "<a href='###' data-toggle='dropdown'>{$viewName} <span class='caret'></span></a>";
$replace .= "<ul class='dropdown-menu' style='max-height:240px;overflow-y:auto'>";
$replace .= "<li>" . html::a(helper::createLink('testtask', 'browse', "productID=$productID&branch=$branch&type=all,$status"), $this->lang->testtask->all) . "</li>";
$replace .= "<li>" . html::a(helper::createLink('testtask', 'browse', "productID=$productID&branch=$branch&type=local,$status"), $products[$productID]) . "</li>";
$replace .= "</ul></li>";
}
else
{
$replace = array();
$replace['productID'] = $productID;
$replace['branch'] = $branch;
$replace['scope'] = $this->session->testTaskVersionScope;
}
}
$this->loadModel('qa')->setSubMenu('testreport', $key, $productID);
$replace = $productID;
common::setMenuVars($this->lang->testreport->menu, $key, $replace);
}
}
-4
View File
@@ -38,9 +38,7 @@
<th class='text-left'><?php common::printOrderLink('title', $orderBy, $vars, $lang->testreport->title);?></th>
<th class='w-90px'> <?php common::printOrderLink('createdBy', $orderBy, $vars, $lang->openedByAB);?></th>
<th class='w-150px'><?php common::printOrderLink('createdDate', $orderBy, $vars, $lang->testreport->createdDate);?></th>
<?php if($config->global->flow != 'onlyTest'):?>
<th class='w-250px text-left'><?php common::printOrderLink('project', $orderBy, $vars, $lang->testreport->project);?></th>
<?php endif;?>
<th class='w-250px text-left'><?php echo $lang->testreport->testtask;?></th>
<th class='c-actions-2'> <?php echo $lang->actions;?></th>
</tr>
@@ -53,10 +51,8 @@
<td class='text-left' title='<?php $report->title?>'><?php echo html::a(helper::createLink('testreport', 'view', "reportID=$report->id&from=$objectType"), $report->title)?></td>
<td><?php echo zget($users, $report->createdBy);?></td>
<td><?php echo substr($report->createdDate, 2);?></td>
<?php if($config->global->flow != 'onlyTest'):?>
<?php $projectName = $report->project ? '#' . $report->project . $projects[$report->project] : '';?>
<td class='text-left' title='<?php echo $projectName?>'><?php echo $projectName;?></td>
<?php endif;?>
<?php
$taskName = '';
foreach(explode(',', $report->tasks) as $taskID) $taskName .= '#' . $taskID . $tasks[$taskID] . ' ';
+1 -3
View File
@@ -44,7 +44,7 @@
<a onclick=refreshPage() class='btn' data-toggle='modal' data-type='iframe'><?php echo $lang->refresh?></a>
</div>
<?php
echo html::hidden('product', $productIdList) . ($config->global->flow != 'onlyTest' ? html::hidden('project', isset($project->id) ? $project->id : 0) : '') . html::hidden('tasks', $tasks);
echo html::hidden('product', $productIdList) . (html::hidden('project', isset($project->id) ? $project->id : 0)) . html::hidden('tasks', $tasks);
echo html::hidden('objectID', $objectID) . html::hidden('objectType', $objectType);
?>
</div>
@@ -67,13 +67,11 @@
<td colspan='2'><?php echo html::input('title', $reportTitle, "class='form-control'")?></td>
<td></td>
</tr>
<?php if($config->global->flow != 'onlyTest'):?>
<tr>
<th><?php echo $lang->testreport->goal?></th>
<td colspan='2'><?php echo isset($project->desc) ? $project->desc : '';?></td>
<td></td>
</tr>
<?php endif;?>
<tr>
<th><?php echo $lang->testreport->profile?></th>
<td colspan='2'>
+1 -3
View File
@@ -34,7 +34,7 @@
<div class='input-group-btn hidden' id='refresh'>
<a onclick=refreshPage() class='btn' data-toggle='modal' data-type='iframe'><?php echo $lang->refresh?></a>
</div>
<?php echo html::hidden('product', $productIdList) . ($config->global->flow != 'onlyTest' ? html::hidden('project', $project->id) : '') . html::hidden('tasks', $tasks);?>
<?php echo html::hidden('product', $productIdList) . html::hidden('project', $project->id) . html::hidden('tasks', $tasks);?>
</div>
</td>
<td>
@@ -55,13 +55,11 @@
<td colspan='2'><?php echo html::input('title', $report->title, "class='form-control'")?></td>
<td></td>
</tr>
<?php if($config->global->flow != 'onlyTest'):?>
<tr>
<th><?php echo $lang->testreport->goal?></th>
<td colspan='2'><?php echo $project->desc?></td>
<td></td>
</tr>
<?php endif;?>
<tr>
<th><?php echo $lang->testreport->profile?></th>
<td colspan='2'>
+1 -1
View File
@@ -61,7 +61,7 @@
<th><?php echo $lang->testreport->members?></th>
<td colspan='2'><?php foreach(explode(',', $report->members) as $member)echo zget($users, $member) . ' &nbsp; ';?></td>
</tr>
<?php if($config->global->flow != 'onlyTest' && !empty($project)):?>
<?php if(!empty($project)):?>
<tr>
<th><?php echo $lang->testreport->goal?></th>
<td colspan='2'><?php echo $project->desc?></td>
-8
View File
@@ -1,8 +0,0 @@
$(document).ready(function()
{
if(flow == 'onlyTest')
{
$('#mainmenu .nav li').removeClass('active');
$('#mainmenu .nav li[data-id=testsuite]').addClass('active');
}
})

Some files were not shown because too many files have changed in this diff Show More