Merge branch 'zentaopms_207'
This commit is contained in:
@@ -93,7 +93,7 @@ tbody tr td:first-child input {display: none;}
|
||||
<tbody class='text-center'>
|
||||
<?php $objectID = $this->app->tab == 'execution' ? $build->execution : $build->project;?>
|
||||
<?php foreach($stories as $storyID => $story):?>
|
||||
<?php $storyLink = $this->createLink('story', 'view', "storyID=$story->id&version=0¶m=$objectID", '', true);?>
|
||||
<?php $storyLink = $this->app->tab == 'execution' ? $this->createLink('execution', 'storyView', "storyID=$story->id", '', true) : $this->createLink('story', 'view', "storyID=$story->id&version=0¶m=$objectID", '', true);?>
|
||||
<tr>
|
||||
<td class='c-id text-left'>
|
||||
<?php if($canBatchUnlink):?>
|
||||
|
||||
@@ -871,9 +871,9 @@ class doc extends control
|
||||
|
||||
if($doclib->acl == 'custom')
|
||||
{
|
||||
return print(html::select('users[]', $users, $selectedUser, "multiple class='form-control"));
|
||||
return print(html::select('users[]', $users, $selectedUser, "multiple class='form-control'"));
|
||||
}
|
||||
if($doclib->acl == 'open') return print(html::select('users[]', $users, $selectedUser, "multiple class='form-control"));
|
||||
if($doclib->acl == 'open') return print(html::select('users[]', $users, $selectedUser, "multiple class='form-control'"));
|
||||
if($doclib->acl == 'private') echo 'private';
|
||||
if($doclib->acl == 'default') echo 'default';
|
||||
return false;
|
||||
|
||||
@@ -871,6 +871,21 @@ class execution extends control
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/**
|
||||
* View a story.
|
||||
*
|
||||
* @param int $storyID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function storyView($storyID)
|
||||
{
|
||||
$this->session->set('productList', $this->app->getURI(true), 'product');
|
||||
|
||||
$story = $this->loadModel('story')->getByID($storyID);
|
||||
echo $this->fetch('story', 'view', "storyID=$storyID&version=$story->version¶m=" . $this->session->execution);
|
||||
}
|
||||
|
||||
/**
|
||||
* Browse bugs of a execution.
|
||||
*
|
||||
|
||||
@@ -501,7 +501,7 @@ function renderStoryItem(item, $item, col)
|
||||
if(!$title.length)
|
||||
{
|
||||
$title = $('<a class="title iframe">' + (scaleSize <= 1 ? '<i class="icon icon-lightbulb text-muted"></i> ' : '') + '<span class="text"></span></a>')
|
||||
.attr('href', $.createLink('story', 'view', 'storyID=' + item.id + '&version=0¶m=' + execution.id, '', true)).attr('data-toggle', 'modal').attr('data-width', '95%');
|
||||
.attr('href', $.createLink('execution', 'storyView', 'storyID=' + item.id + '&version=0¶m=' + execution.id, '', true)).attr('data-toggle', 'modal').attr('data-width', '95%');
|
||||
$title.appendTo($item);
|
||||
}
|
||||
var title = rdSearchValue != '' ? "<span class='text'>" + item.title.replaceAll(rdSearchValue, "<span class='text-danger'>" + rdSearchValue + "</span>") + "</span>": "<span class='text'>" + item.title + "</span>";
|
||||
|
||||
@@ -123,7 +123,7 @@ function renderStoryItem(item, $item, col)
|
||||
if(!$title.length)
|
||||
{
|
||||
$title = $('<a class="title iframe" data-width="95%">' + (scaleSize <= 1 ? '<i class="icon icon-lightbulb text-muted"></i> ' : '') + '<span class="text"></span></a>')
|
||||
.attr('href', $.createLink('story', 'view', 'storyID=' + item.id, '', true));
|
||||
.attr('href', $.createLink('execution', 'storyView', 'storyID=' + item.id, '', true));
|
||||
$title.appendTo($item);
|
||||
}
|
||||
var title = searchValue != '' ? "<span class='text'>" + item.title.replaceAll(searchValue, "<span class='text-danger'>" + searchValue + "</span>") + "</span>": "<span class='text'>" + item.title + "</span>";
|
||||
|
||||
@@ -94,6 +94,7 @@ $lang->execution->viewBug = 'Bugs';
|
||||
$lang->execution->noProduct = "No {$lang->productCommon} yet.";
|
||||
$lang->execution->createStory = "Create Story";
|
||||
$lang->execution->storyTitle = "Story Name";
|
||||
$lang->execution->storyView = "Story Detail";
|
||||
$lang->execution->all = "All {$lang->executionCommon}s";
|
||||
$lang->execution->undone = 'Unfinished ';
|
||||
$lang->execution->unclosed = 'Unclosed';
|
||||
|
||||
@@ -94,6 +94,7 @@ $lang->execution->viewBug = '查看bug';
|
||||
$lang->execution->noProduct = "无{$lang->executionCommon}";
|
||||
$lang->execution->createStory = "提{$lang->SRCommon}";
|
||||
$lang->execution->storyTitle = "{$lang->SRCommon}名称";
|
||||
$lang->execution->storyView = "{$lang->SRCommon}详情";
|
||||
$lang->execution->all = '所有';
|
||||
$lang->execution->undone = '未完成';
|
||||
$lang->execution->unclosed = '未关闭';
|
||||
|
||||
@@ -3848,7 +3848,7 @@ class executionModel extends model
|
||||
$storyItem->storyId = $story->id;
|
||||
$storyItem->openedBy = zget($users, $story->openedBy);
|
||||
$storyItem->assignedTo = zget($users, $story->assignedTo);
|
||||
$storyItem->url = helper::createLink('story', 'view', "storyID=$story->id&version=$story->version&from=execution¶m=$executionID");
|
||||
$storyItem->url = helper::createLink('execution', 'storyView', "storyID=$story->id&version=$story->version&from=execution¶m=$executionID");
|
||||
$storyItem->taskCreateUrl = helper::createLink('task', 'batchCreate', "executionID={$executionID}&story={$story->id}");
|
||||
|
||||
$storyTasks = isset($taskGroups[$node->id][$story->id]) ? $taskGroups[$node->id][$story->id] : array();
|
||||
@@ -3984,18 +3984,15 @@ class executionModel extends model
|
||||
->where('product')->in(array_keys($products))
|
||||
->andWhere('deleted')->eq(0)
|
||||
->andWhere('branch')->in($branchIdList)->fi()
|
||||
->beginIF(strpos($param, 'skipparent') !== false)->andWhere('parent')->ne(-1)->fi()
|
||||
->orderBy('begin desc')
|
||||
->fetchAll('id');
|
||||
|
||||
$plans = $this->productplan->reorder4Children($plans);
|
||||
$productPlans = array();
|
||||
$parentTitle = array();
|
||||
foreach($plans as $plan)
|
||||
{
|
||||
if($plan->parent == '-1') $parentTitle[$plan->id] = $plan->title;
|
||||
if($plan->parent > 0 and isset($parentTitle[$plan->parent])) $plan->title = $parentTitle[$plan->parent] . ' /' . $plan->title;
|
||||
|
||||
if($plan->parent == '-1' and strpos($param, 'skipparent') !== false) continue;
|
||||
if($plan->parent > 0 and isset($plans[$plan->parent])) $plan->title = $plans[$plan->parent]->title . ' /' . $plan->title;
|
||||
$productPlans[$plan->product][$plan->id] = $plan->title . " [{$plan->begin} ~ {$plan->end}]";
|
||||
if($plan->begin == '2030-01-01' and $plan->end == '2030-01-01') $productPlans[$plan->product][$plan->id] = $plan->title . ' ' . $this->lang->productplan->future;
|
||||
}
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
<?php
|
||||
if($task->storyID)
|
||||
{
|
||||
if(common::hasPriv('story', 'view'))
|
||||
if(common::hasPriv('execution', 'storyView'))
|
||||
{
|
||||
echo html::a($this->createLink('story', 'view', "storyid=$task->storyID"), $task->storyTitle, '', "class='preview'", true, isonlybody());
|
||||
echo html::a($this->createLink('execution', 'storyView', "storyid=$task->storyID"), $task->storyTitle, '', "class='preview'", true, isonlybody());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
<tbody>
|
||||
<?php $storyCount = 0;?>
|
||||
<?php foreach($allStories as $story):?>
|
||||
<?php $storyLink = $this->createLink('story', 'view', "storyID=$story->id", '', true);?>
|
||||
<?php $storyLink = $this->createLink('execution', 'storyView', "storyID=$story->id", '', true);?>
|
||||
<tr>
|
||||
<td class='cell-id'>
|
||||
<?php echo html::checkbox('stories', array($story->id => sprintf('%03d', $story->id)));?>
|
||||
|
||||
@@ -225,7 +225,7 @@
|
||||
<tbody id='storyTableList' class='sortable'>
|
||||
<?php foreach($stories as $key => $story):?>
|
||||
<?php
|
||||
$storyLink = $this->createLink('story', 'view', "storyID=$story->id&version=$story->version¶m=$execution->id");
|
||||
$storyLink = $this->createLink('execution', 'storyView', "storyID=$story->id&version=$story->version¶m=$execution->id");
|
||||
$totalEstimate += $story->estimate;
|
||||
?>
|
||||
<tr id="story<?php echo $story->id;?>" data-id='<?php echo $story->id;?>' data-order='<?php echo $story->order ?>' data-estimate='<?php echo $story->estimate?>' data-cases='<?php echo zget($storyCases, $story->id, 0)?>'>
|
||||
|
||||
@@ -85,7 +85,7 @@ $account = $this->app->user->account;
|
||||
<?php if(!empty($stories[$col])):?>
|
||||
<?php foreach($stories[$col] as $story):?>
|
||||
<div class='board-item' data-id='<?php echo $story->id?>' id='story-<?php echo $story->id?>' data-type='story'>
|
||||
<?php echo html::a($this->createLink('story', 'view', "story=$story->id", '', true), "#{$story->id} {$story->title}", '', 'class="title kanbaniframe" title="' . $story->title . '"');?>
|
||||
<?php echo html::a($this->createLink('execution', 'storyView', "story=$story->id", '', true), "#{$story->id} {$story->title}", '', 'class="title kanbaniframe" title="' . $story->title . '"');?>
|
||||
<div class='info'>
|
||||
<span class='label-pri label-pri-<?php echo $story->pri?>' title='<?php echo $lang->story->pri?>'><?php echo zget($lang->story->priList, $story->pri);?></span>
|
||||
<span class='status status-story status-<?php echo $story->status;?>' title='<?php echo $lang->story->status?>'><span class="label label-dot"></span> <?php echo $lang->story->statusList[$story->status];?></span>
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
{
|
||||
foreach($story->planTitle as $planID => $planTitle)
|
||||
{
|
||||
if(!common::printLink('productplan', 'view', "planID=$planID", $planTitle)) echo $lanTitle;
|
||||
if(!common::printLink('productplan', 'view', "planID=$planID", $planTitle)) echo $planTitle;
|
||||
echo '<br />';
|
||||
}
|
||||
}
|
||||
@@ -258,7 +258,7 @@
|
||||
<?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>';
|
||||
if(isset($story->extraStories[$linkStoryID])) echo '<li>' . html::a($this->createLink('execution', 'storyView', "storyID=$linkStoryID"), "#$linkStoryID " . $story->extraStories[$linkStoryID]) . '</li>';
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
@@ -276,7 +276,7 @@
|
||||
<?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>';
|
||||
if(isset($story->extraStories[$childStoryID])) echo '<li>' . html::a($this->createLink('execution', 'storyView', "storyID=$childStoryID"), "#$childStoryID " . $story->extraStories[$childStoryID]) . '</li>';
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
|
||||
@@ -769,6 +769,7 @@ $lang->resource->execution->whitelist = 'whitelist';
|
||||
$lang->resource->execution->addWhitelist = 'addWhitelist';
|
||||
$lang->resource->execution->unbindWhitelist = 'unbindWhitelist';
|
||||
$lang->resource->execution->storyEstimate = 'storyEstimate';
|
||||
$lang->resource->execution->storyView = 'storyView';
|
||||
if($config->systemMode == 'new') $lang->resource->execution->executionkanban = 'kanbanAction';
|
||||
$lang->resource->execution->kanban = 'RDKanban';
|
||||
//if($config->systemMode == 'classic') $lang->resource->project->list = 'list';
|
||||
|
||||
@@ -516,6 +516,16 @@ class installModel extends model
|
||||
}
|
||||
}
|
||||
|
||||
/* Check password. */
|
||||
if(!validater::checkReg($this->post->password, '|(.){6,}|')) dao::$errors['password'][] = $this->lang->error->passwordrule;
|
||||
if(isset($this->config->safe->mode) and (strlen($this->post->password) < $this->config->safe->mode)) dao::$errors['password'][] = $this->lang->user->weakPassword;
|
||||
if(!empty($this->config->safe->changeWeak))
|
||||
{
|
||||
if(!isset($this->config->safe->weak)) $this->app->loadConfig('admin');
|
||||
if(strpos(",{$this->config->safe->weak},", ",{$this->post->password},") !== false) dao::$errors['password'][] = sprintf($this->lang->user->errorWeak, $this->config->safe->weak);
|
||||
}
|
||||
if(dao::isError()) return false;
|
||||
|
||||
/* Insert a company. */
|
||||
$company = new stdclass();
|
||||
$company->name = $data->company;
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
</div>
|
||||
<div class='modal-body'>
|
||||
<form method='post'>
|
||||
<table class='table table-form mw-400px' style='margin: 0 auto'>
|
||||
<table class='table table-form mw-500px' style='margin: 0 auto'>
|
||||
<tr>
|
||||
<th class='c-company'><?php echo $lang->install->company;?></th>
|
||||
<td class='c-company-value'><?php echo html::input('company', '', "class='form-control'");?></td>
|
||||
@@ -61,7 +61,8 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->install->password;?></th>
|
||||
<td><?php echo html::input('password', '', "class='form-control'");?></td>
|
||||
<td><?php echo html::input('password', '', "class='form-control' oninput=\"this.value = this.value.replace(/[\u4e00-\u9fa5d]/g, '');\"");?></td>
|
||||
<td><?php echo $lang->user->placeholder->password1;?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th><td><?php echo html::checkBox('importDemoData', $lang->install->importDemoData);?></td>
|
||||
|
||||
@@ -917,6 +917,7 @@ class kanban extends control
|
||||
public function editCard($cardID)
|
||||
{
|
||||
$this->loadModel('action');
|
||||
$this->loadModel('user');
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$changes = $this->kanban->updateCard($cardID);
|
||||
@@ -934,12 +935,14 @@ class kanban extends control
|
||||
$card = $this->kanban->getCardByID($cardID);
|
||||
$kanban = $this->kanban->getById($card->kanban);
|
||||
$kanbanUsers = $card->kanban == 0 ? ',' : trim($kanban->owner) . ',' . trim($kanban->team);
|
||||
$users = $this->loadModel('user')->getPairs('noclosed|nodeleted', '', 0, $kanbanUsers);
|
||||
$kanbanUsers = $this->user->getPairs('noclosed|nodeleted', '', 0, $kanbanUsers);
|
||||
$users = $this->user->getPairs('noclosed|nodeleted');
|
||||
|
||||
$this->view->card = $card;
|
||||
$this->view->actions = $this->action->getList('kanbancard', $cardID);
|
||||
$this->view->users = $users;
|
||||
$this->view->kanban = $kanban;
|
||||
$this->view->card = $card;
|
||||
$this->view->actions = $this->action->getList('kanbancard', $cardID);
|
||||
$this->view->users = $users;
|
||||
$this->view->kanbanUsers = $kanbanUsers;
|
||||
$this->view->kanban = $kanban;
|
||||
|
||||
$this->display();
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
<table class="table table-form">
|
||||
<tr>
|
||||
<th><?php echo $lang->kanbancard->assignedTo;?></th>
|
||||
<td><?php echo html::select('assignedTo[]', $users, $card->assignedTo, "class='form-control chosen' multiple");?></td>
|
||||
<td><?php echo html::select('assignedTo[]', $kanbanUsers, $card->assignedTo, "class='form-control chosen' multiple");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->kanbancard->begin;?></th>
|
||||
|
||||
@@ -247,18 +247,13 @@ class productplanModel extends model
|
||||
->orderBy('t1.begin desc')
|
||||
->fetchAll('id');
|
||||
|
||||
$plans = $this->reorder4Children($plans);
|
||||
$planPairs = array();
|
||||
$parentTitle = array();
|
||||
$plans = $this->reorder4Children($plans);
|
||||
$planPairs = array();
|
||||
$this->app->loadLang('branch');
|
||||
foreach($plans as $plan)
|
||||
{
|
||||
if($plan->parent == '-1')
|
||||
{
|
||||
$parentTitle[$plan->id] = $plan->title;
|
||||
if($skipParent) continue;
|
||||
}
|
||||
if($plan->parent > 0 and isset($parentTitle[$plan->parent])) $plan->title = $parentTitle[$plan->parent] . ' /' . $plan->title;
|
||||
if($skipParent and $plan->parent == '-1') continue;
|
||||
if($plan->parent > 0 and isset($plans[$plan->parent])) $plan->title = $plans[$plan->parent]->title . ' /' . $plan->title;
|
||||
$planPairs[$plan->id] = $plan->title . " [{$plan->begin} ~ {$plan->end}]";
|
||||
if($plan->begin == $this->config->productplan->future and $plan->end == $this->config->productplan->future) $planPairs[$plan->id] = $plan->title . ' ' . $this->lang->productplan->future;
|
||||
if($plan->productType != 'normal') $planPairs[$plan->id] = ($plan->branchName ? $plan->branchName : $this->lang->branch->main) . ' / ' . $planPairs[$plan->id];
|
||||
@@ -351,7 +346,6 @@ class productplanModel extends model
|
||||
$plans = $this->dao->select('*')->from(TABLE_PRODUCTPLAN)
|
||||
->where('deleted')->eq(0)
|
||||
->beginIF($products)->andWhere('product')->in($products)->fi()
|
||||
->beginIF(strpos($param, 'skipparent') !== false)->andWhere('parent')->ne(-1)->fi()
|
||||
->beginIF(strpos($param, 'unexpired') !== false)->andWhere('end')->ge($date)->fi()
|
||||
->orderBy($orderBy)
|
||||
->fetchAll('id');
|
||||
@@ -366,8 +360,8 @@ class productplanModel extends model
|
||||
|
||||
if($field == 'name')
|
||||
{
|
||||
if($plan->parent == '-1') $parentTitle[$plan->id] = $plan->title;
|
||||
if($plan->parent > 0 and isset($parentTitle[$plan->parent])) $plan->title = $parentTitle[$plan->parent] . ' /' . $plan->title;
|
||||
if($plan->parent == '-1' and strpos($param, 'skipparent') !== false) continue;
|
||||
if($plan->parent > 0 and isset($plans[$plan->parent])) $plan->title = $plans[$plan->parent]->title . ' /' . $plan->title;
|
||||
$planGroup[$plan->product][$plan->branch][$plan->id] = $plan->title . " [{$plan->begin} ~ {$plan->end}]";
|
||||
if($plan->begin == $this->config->productplan->future and $plan->end == $this->config->productplan->future) $planGroup[$plan->product][$plan->branch][$plan->id] = $plan->title . ' ' . $this->lang->productplan->future;
|
||||
}
|
||||
@@ -419,17 +413,19 @@ class productplanModel extends model
|
||||
*/
|
||||
public function getBranchPlanPairs($productID, $branches = '', $skipParent = false)
|
||||
{
|
||||
$plans = $this->dao->select('branch,id,title,begin,end')->from(TABLE_PRODUCTPLAN)
|
||||
$plans = $this->dao->select('parent,branch,id,title,begin,end')->from(TABLE_PRODUCTPLAN)
|
||||
->where('product')->eq($productID)
|
||||
->andWhere('deleted')->eq(0)
|
||||
->beginIF($branches != '')->andWhere('branch')->in($branches)->fi()
|
||||
->beginIF($skipParent)->andWhere('parent')->ne(-1)->fi()
|
||||
->orderBy('begin desc')
|
||||
->fetchAll('id');
|
||||
|
||||
$planPairs = array();
|
||||
foreach($plans as $planID => $plan)
|
||||
{
|
||||
if($skipParent and $plan->parent == '-1') continue;
|
||||
|
||||
if($plan->parent > 0 and isset($plans[$plan->parent])) $plan->title = $plans[$plan->parent]->title . ' /' . $plan->title;
|
||||
$planPairs[$plan->branch][$planID] = $plan->title . ' [' . $plan->begin . '~' . $plan->end . ']';
|
||||
}
|
||||
return $planPairs;
|
||||
|
||||
@@ -1868,9 +1868,7 @@ class projectModel extends model
|
||||
$projectType = 'project';
|
||||
$accounts = array_unique($accounts);
|
||||
$oldJoin = $this->dao->select('`account`, `join`')->from(TABLE_TEAM)->where('root')->eq($projectID)->andWhere('type')->eq($projectType)->fetchPairs();
|
||||
$this->dao->delete()->from(TABLE_TEAM)->where('root')->eq($projectID)->andWhere('type')->eq($projectType)->exec();
|
||||
|
||||
$projectMember = array();
|
||||
foreach($accounts as $key => $account)
|
||||
{
|
||||
if(empty($account)) continue;
|
||||
@@ -1885,6 +1883,14 @@ class projectModel extends model
|
||||
dao::$errors['message'][] = $this->lang->project->errorHours;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$this->dao->delete()->from(TABLE_TEAM)->where('root')->eq($projectID)->andWhere('type')->eq($projectType)->exec();
|
||||
|
||||
$projectMember = array();
|
||||
foreach($accounts as $key => $account)
|
||||
{
|
||||
if(empty($account)) continue;
|
||||
|
||||
$member = new stdclass();
|
||||
$member->role = $roles[$key];
|
||||
|
||||
@@ -197,7 +197,7 @@ class release extends control
|
||||
->fetchAll('id');
|
||||
|
||||
$this->loadModel('common')->saveQueryCondition($this->dao->get(), 'story');
|
||||
$stages = $this->dao->select('*')->from(TABLE_STORYSTAGE)->where('story')->in($release->stories)->andWhere('branch')->eq($release->branch)->fetchPairs('story', 'stage');
|
||||
$stages = $this->dao->select('*')->from(TABLE_STORYSTAGE)->where('story')->in(array_keys($stories))->andWhere('branch')->eq($release->branch)->fetchPairs('story', 'stage');
|
||||
foreach($stages as $storyID => $stage)$stories[$storyID]->stage = $stage;
|
||||
|
||||
$bugPager = new pager($type == 'bug' ? $recTotal : 0, $recPerPage, $type == 'bug' ? $pageID : 1);
|
||||
|
||||
+13
-3
@@ -4133,12 +4133,22 @@ class storyModel extends model
|
||||
*/
|
||||
public function printCell($col, $story, $users, $branches, $storyStages, $modulePairs = array(), $storyTasks = array(), $storyBugs = array(), $storyCases = array(), $mode = 'datatable', $storyType = 'story', $execution = '', $isShowBranch = '')
|
||||
{
|
||||
$module = $this->app->rawModule == 'product' ? 'story' : $this->app->rawModule;
|
||||
$canView = common::hasPriv($module, 'view');
|
||||
$tab = $this->app->tab;
|
||||
$executionID = empty($execution) ? $this->session->execution : $execution->id;
|
||||
$storyLink = $tab == 'execution' ? helper::createLink('story', 'view', "storyID=$story->id&version=$story->version¶m=$executionID") : helper::createLink($module, 'view', "storyID=$story->id");
|
||||
$account = $this->app->user->account;
|
||||
$storyLink = helper::createLink('story', 'view', "storyID=$story->id");
|
||||
$canView = common::hasPriv('story', 'view');
|
||||
|
||||
if($tab == 'project')
|
||||
{
|
||||
$storyLink = helper::createLink('projectstory', 'view', "storyID=$story->id");
|
||||
$canView = common::hasPriv('projectstory', 'view');
|
||||
}
|
||||
elseif($tab == 'execution')
|
||||
{
|
||||
$storyLink = helper::createLink('execution', 'storyView', "storyID=$story->id");
|
||||
$canView = common::hasPriv('execution', 'storyView');
|
||||
}
|
||||
|
||||
/* Check the product is closed. */
|
||||
$canBeChanged = common::canBeChanged('story', $story);
|
||||
|
||||
@@ -268,7 +268,7 @@
|
||||
{
|
||||
foreach($story->planTitle as $planID => $planTitle)
|
||||
{
|
||||
if(!common::printLink('productplan', 'view', "planID=$planID", $planTitle, '', "data-app='product'")) echo $lanTitle;
|
||||
if(!common::printLink('productplan', 'view', "planID=$planID", $planTitle, '', "data-app='product'")) echo $planTitle;
|
||||
echo '<br />';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -246,7 +246,7 @@
|
||||
<?php
|
||||
if(!$task->storyTitle) echo $lang->noData;
|
||||
$class = isonlybody() ? 'showinonlybody' : 'iframe';
|
||||
if($task->storyTitle and !common::printLink('story', 'view', "storyID=$task->story", $task->storyTitle, '', "class=$class data-width='80%'", true, true)) echo $task->storyTitle;
|
||||
if($task->storyTitle and !common::printLink('execution', 'storyView', "storyID=$task->story", $task->storyTitle, '', "class=$class data-width='80%'", true, true)) echo $task->storyTitle;
|
||||
if($task->needConfirm)
|
||||
{
|
||||
echo "(<span class='warning'>{$lang->story->changed}</span> ";
|
||||
|
||||
@@ -74,7 +74,7 @@ class testsuite extends control
|
||||
$sort = common::appendOrder($orderBy);
|
||||
|
||||
$productName = isset($this->products[$productID]) ? $this->products[$productID] : '';
|
||||
$suites = $this->testsuite->getSuites($productID, $sort, $pager, 'all');
|
||||
$suites = $this->testsuite->getSuites($productID, $sort, $pager);
|
||||
if(empty($suites) and $pageID > 1)
|
||||
{
|
||||
$pager = pager::init(0, $recPerPage, 1);
|
||||
|
||||
Reference in New Issue
Block a user