* Refact testtask page of project.
This commit is contained in:
@@ -252,12 +252,7 @@ $lang->project->dividerMenu = ',story,doc,';
|
||||
$lang->task = new stdclass();
|
||||
$lang->build = new stdclass();
|
||||
$lang->task->menu = $lang->project->menu;
|
||||
$lang->task->subMenu = $lang->project->subMenu;
|
||||
$lang->build->menu = $lang->project->menu;
|
||||
$lang->build->subMenu = $lang->project->subMenu;
|
||||
|
||||
$lang->task->dividerMenu = $lang->project->dividerMenu;
|
||||
$lang->build->dividerMenu = $lang->project->dividerMenu;
|
||||
|
||||
/* QA視圖菜單設置。*/
|
||||
$lang->qa = new stdclass();
|
||||
@@ -309,10 +304,7 @@ $lang->caselib->menu->caselib = array('link' => '用例庫|testsuite|library',
|
||||
/* 文檔視圖菜單設置。*/
|
||||
$lang->doc = new stdclass();
|
||||
$lang->doc->menu = new stdclass();
|
||||
|
||||
$lang->doc->menu->list = array('link' => '%s', 'fixed' => true);
|
||||
$lang->doc->menu->crumb = array('link' => '%s', 'fixed' => true);
|
||||
$lang->doc->menu->create = array('link' => '<i class="icon-plus"></i> 添加文檔庫|doc|createLib', 'float' => 'right');
|
||||
//$lang->doc->menu->createLib = array('link' => '<i class="icon icon-folder-plus"></i> 添加檔案夾|doc|createLib', 'float' => 'right');
|
||||
|
||||
/* 統計視圖菜單設置。*/
|
||||
$lang->report = new stdclass();
|
||||
@@ -550,9 +542,9 @@ $lang->icons['edit'] = 'edit';
|
||||
$lang->icons['delete'] = 'trash';
|
||||
$lang->icons['copy'] = 'copy';
|
||||
$lang->icons['report'] = 'bar-chart';
|
||||
$lang->icons['export'] = 'download-alt';
|
||||
$lang->icons['export'] = 'export';
|
||||
$lang->icons['report-file'] = 'file-powerpoint';
|
||||
$lang->icons['import'] = 'upload-alt';
|
||||
$lang->icons['import'] = 'import';
|
||||
$lang->icons['finish'] = 'checked';
|
||||
$lang->icons['resolve'] = 'ok-sign';
|
||||
$lang->icons['start'] = 'play';
|
||||
|
||||
@@ -1580,6 +1580,7 @@ EOD;
|
||||
}
|
||||
|
||||
$response = curl_exec($curl);
|
||||
$errors = curl_error($curl);
|
||||
curl_close($curl);
|
||||
|
||||
$logFile = $app->getLogRoot() . 'saas.'. date('Ymd') . '.log.php';
|
||||
@@ -1590,7 +1591,9 @@ EOD;
|
||||
{
|
||||
fwrite($fh, date('Ymd H:i:s') . ": " . $app->getURI() . "\n");
|
||||
fwrite($fh, "url: " . $url . "\n");
|
||||
if(!empty($data)) fwrite($fh, "data: " . print_r($data, true) . "\n");
|
||||
fwrite($fh, "results:" . print_r($response, true) . "\n");
|
||||
if(!empty($errors)) fwrite($fh, "errors: " . $errors . "\n");
|
||||
fclose($fh);
|
||||
}
|
||||
|
||||
|
||||
@@ -46,13 +46,19 @@ $lang->doc->users = '用戶';
|
||||
|
||||
$lang->doc->moduleDoc = '按模組瀏覽';
|
||||
$lang->doc->searchDoc = '搜索';
|
||||
$lang->doc->fast = '快速訪問';
|
||||
$lang->doc->allDoc = '所有文檔';
|
||||
$lang->doc->openedByMe = '由我創建';
|
||||
$lang->doc->orderByOpen = '最近添加';
|
||||
$lang->doc->orderByEdit = '最近修改';
|
||||
$lang->doc->orderByEdit = '最近更新';
|
||||
$lang->doc->orderByVisit = '最近訪問';
|
||||
$lang->doc->todayEdited = '今日更新';
|
||||
$lang->doc->pastEdited = '往日更新';
|
||||
$lang->doc->myDoc = '我的文檔';
|
||||
$lang->doc->myCollection = '我的收藏';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->doc->index = '首頁';
|
||||
$lang->doc->index = '文檔主頁';
|
||||
$lang->doc->create = '創建文檔';
|
||||
$lang->doc->edit = '編輯文檔';
|
||||
$lang->doc->delete = '刪除文檔';
|
||||
@@ -113,6 +119,16 @@ $lang->doc->browseTypeList['menu'] = '目錄';
|
||||
$lang->doc->browseTypeList['tree'] = '樹狀圖';
|
||||
$lang->doc->browseTypeList['card'] = '卡片';
|
||||
|
||||
$lang->doc->fastMenuList['byediteddate'] = '最近更新';
|
||||
$lang->doc->fastMenuList['visiteddate'] = '最近訪問';
|
||||
$lang->doc->fastMenuList['openedbyme'] = '我的文檔';
|
||||
$lang->doc->fastMenuList['collectedbyme'] = '我的收藏';
|
||||
|
||||
$lang->doc->fastMenuIconList['byediteddate'] = 'icon-folder-upload';
|
||||
$lang->doc->fastMenuIconList['visiteddate'] = 'icon-folder-move';
|
||||
$lang->doc->fastMenuIconList['openedbyme'] = 'icon-folder-account';
|
||||
$lang->doc->fastMenuIconList['collectedbyme'] = 'icon-folder-star';
|
||||
|
||||
$lang->doc->confirmDelete = "您確定刪除該文檔嗎?";
|
||||
$lang->doc->confirmDeleteLib = "您確定刪除該文檔庫嗎?";
|
||||
$lang->doc->errorEditSystemDoc = "系統文檔庫無需修改。";
|
||||
|
||||
@@ -803,6 +803,14 @@ class project extends control
|
||||
$this->app->loadClass('pager', $static = true);
|
||||
$pager = pager::init($recTotal, $recPerPage, $pageID);
|
||||
|
||||
$tasks = $this->testtask->getProjectTasks($projectID, $orderBy, $pager);
|
||||
foreach($tasks as $key => $task)
|
||||
{
|
||||
$tasks[$task->product][] = $task;
|
||||
|
||||
unset($tasks[$key]);
|
||||
}
|
||||
|
||||
$this->view->title = $this->projects[$projectID] . $this->lang->colon . $this->lang->testtask->common;
|
||||
$this->view->position[] = html::a($this->createLink('project', 'testtask', "projectID=$projectID"), $this->projects[$projectID]);
|
||||
$this->view->position[] = $this->lang->testtask->common;
|
||||
@@ -810,7 +818,7 @@ class project extends control
|
||||
$this->view->projectName = $this->projects[$projectID];
|
||||
$this->view->pager = $pager;
|
||||
$this->view->orderBy = $orderBy;
|
||||
$this->view->tasks = $this->testtask->getProjectTasks($projectID, $orderBy, $pager);
|
||||
$this->view->tasks = $tasks;
|
||||
$this->view->users = $this->loadModel('user')->getPairs('noclosed|noletter');
|
||||
$this->view->products = $this->loadModel('product')->getPairs();
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
.table-group-btns {width: 200px;}
|
||||
@@ -23,6 +23,7 @@ $lang->project->days = '可用工作日';
|
||||
$lang->project->day = '天';
|
||||
$lang->project->workHour = '工時';
|
||||
$lang->project->totalHours = '可用工時';
|
||||
$lang->project->totalDays = '可用工日';
|
||||
$lang->project->status = $lang->projectCommon . '狀態';
|
||||
$lang->project->desc = $lang->projectCommon . '描述';
|
||||
$lang->project->owner = '負責人';
|
||||
@@ -57,6 +58,8 @@ $lang->project->delayed = '已延期';
|
||||
$lang->project->product = $lang->project->products;
|
||||
$lang->project->readjustTime = '調整項目起止時間';
|
||||
$lang->project->readjustTask = '順延任務的起止時間';
|
||||
$lang->project->effort = '日誌';
|
||||
$lang->project->relatedMember = '相關成員';
|
||||
|
||||
$lang->project->start = '開始';
|
||||
$lang->project->activate = '激活';
|
||||
@@ -119,6 +122,7 @@ $lang->project->burnData = '燃盡圖數據';
|
||||
$lang->project->fixFirst = '修改首天工時';
|
||||
$lang->project->team = '團隊成員';
|
||||
$lang->project->doc = '文檔列表';
|
||||
$lang->project->doclib = '文檔庫列表';
|
||||
$lang->project->manageProducts = '關聯' . $lang->productCommon;
|
||||
$lang->project->linkStory = '關聯需求';
|
||||
$lang->project->linkStoryByPlan = '按照計劃關聯';
|
||||
@@ -188,17 +192,20 @@ $lang->project->aboveAllProject = "以上所有{$lang->projectCommon}";
|
||||
/* 頁面提示。*/
|
||||
$lang->project->selectProject = "請選擇{$lang->projectCommon}";
|
||||
$lang->project->beginAndEnd = '起止時間';
|
||||
$lang->project->begin = '開始日期';
|
||||
$lang->project->end = '截止日期';
|
||||
$lang->project->lblStats = '工時統計';
|
||||
$lang->project->stats = '可用工時 <strong>%s</strong> 工時,總共預計 <strong>%s</strong> 工時,已經消耗 <strong>%s</strong> 工時,預計剩餘 <strong>%s</strong> 工時';
|
||||
$lang->project->taskSummary = "本頁共 <strong>%s</strong> 個任務,未開始 <strong>%s</strong>,進行中 <strong>%s</strong>,總預計 <strong>%s</strong> 工時,已消耗 <strong>%s</strong> 工時,剩餘 <strong>%s</strong> 工時。";
|
||||
$lang->project->checkedSummary = "選中 <strong>%total%</strong> 個任務,未開始 <strong>%wait%</strong>,進行中 <strong>%doing%</strong>,總預計 <strong>%estimate%</strong> 工時,已消耗 <strong>%consumed%</strong> 工時,剩餘 <strong>%left%</strong> 工時。";
|
||||
$lang->project->memberHours = "%s共有 <strong>%s</strong> 個可用工時,";
|
||||
$lang->project->groupSummary = "本組共 <strong>%s</strong> 個任務,未開始 <strong>%s</strong>,進行中 <strong>%s</strong>,總預計 <strong>%s</strong> 工時,已消耗 <strong>%s</strong> 工時,剩餘 <strong>%s</strong> 工時。";
|
||||
$lang->project->groupSummaryAB = "總任務 <strong>%s</strong>,未開始 <strong>%s</strong>,進行中 <strong>%s</strong>。<br />總預計 <strong>%s</strong>,已消耗 <strong>%s</strong>,剩餘 <strong>%s</strong>。";
|
||||
$lang->project->noTimeSummary = "本組共 <strong>%s</strong> 個任務,未開始 <strong>%s</strong>,進行中 <strong>%s</strong>";
|
||||
$lang->project->memberHoursAB = "<div>%s有 <strong>%s</strong> 工時</div>";
|
||||
$lang->project->memberHours = '<div class="table-col"><div class="clearfix segments"><div class="segment"><div class="segment-title">%s可用工時</div><div class="segment-value">%s</div></div></div></div>';
|
||||
$lang->project->countSummary = '<div class="table-col"><div class="clearfix segments"><div class="segment"><div class="segment-title">總任務</div><div class="segment-value">%s</div></div><div class="segment"><div class="segment-title">進行中</div><div class="segment-value"><span class="label label-dot label-primary"></span> %s</div></div><div class="segment"><div class="segment-title">未開始</div><div class="segment-value"><span class="label label-dot label-primary muted"></span> %s</div></div></div></div>';
|
||||
$lang->project->timeSummary = '<div class="table-col"><div class="clearfix segments"><div class="segment"><div class="segment-title">總消耗</div><div class="segment-value">%s</div></div><div class="segment"><div class="segment-title">已消耗</div><div class="segment-value text-red">%s</div></div><div class="segment"><div class="segment-title">剩餘</div><div class="segment-value">%s</div></div></div></div>';
|
||||
$lang->project->groupSummaryAB = "<div>總任務 <strong>%s</strong></div><div><span class='text-muted'>未開始</span> %s <span class='text-muted'>進行中</span> %s</div><div>總預計 <strong>%s</strong></div><div><span class='text-muted'>已消耗</span> %s <span class='text-muted'>剩餘</span> %s</div>";
|
||||
$lang->project->wbs = "分解任務";
|
||||
$lang->project->batchWBS = "批量分解";
|
||||
$lang->project->howToUpdateBurn = "<a href='http://api.zentao.net/goto.php?item=burndown&lang=zh-tw' target='_blank' title='如何更新燃盡圖?' class='btn btn-sm'>幫助</a>";
|
||||
$lang->project->howToUpdateBurn = "<a href='http://api.zentao.net/goto.php?item=burndown&lang=zh-tw' target='_blank' title='如何更新燃盡圖?' class='btn btn-link'>幫助 <i class='icon icon-help'></i></a>";
|
||||
$lang->project->whyNoStories = "看起來沒有需求可以關聯。請檢查下{$lang->projectCommon}關聯的{$lang->productCommon}中有沒有需求,而且要確保它們已經審核通過。";
|
||||
$lang->project->productStories = "{$lang->projectCommon}關聯的需求是{$lang->productCommon}需求的子集,並且只有評審通過的需求才能關聯。請<a href='%s'>關聯需求</a>。";
|
||||
$lang->project->doneProjects = '已結束';
|
||||
@@ -246,6 +253,8 @@ $lang->project->charts->burn->graph->formatNumber = 0;
|
||||
$lang->project->charts->burn->graph->animation = 0;
|
||||
$lang->project->charts->burn->graph->rotateNames = 1;
|
||||
$lang->project->charts->burn->graph->showValues = 0;
|
||||
$lang->project->charts->burn->graph->reference = '參考';
|
||||
$lang->project->charts->burn->graph->actuality = '實際';
|
||||
|
||||
$lang->project->placeholder = new stdclass();
|
||||
$lang->project->placeholder->code = '團隊內部的簡稱';
|
||||
|
||||
@@ -14,22 +14,30 @@
|
||||
<?php js::set('confirmDelete', $lang->testtask->confirmDelete)?>
|
||||
<div id="mainMenu" class="clearfix">
|
||||
<div class="btn-toolbar pull-left">
|
||||
<span class='btn btn-link btn-active-text'><span class='text'><?php echo $lang->testtask->browse;?></span></span>
|
||||
<div class="pull-left table-group-btns">
|
||||
<button type="button" class="btn btn-link group-collapse-all"><?php echo $lang->testtask->collapseAll;?> <i class="icon-fold-all"></i></button>
|
||||
<button type="button" class="btn btn-link group-expand-all"><?php echo $lang->testtask->expandAll;?> <i class="icon-unfold-all"></i></button>
|
||||
</div>
|
||||
<?php $total = 0;?>
|
||||
<?php foreach($tasks as $productTasks) $total += count($productTasks);?>
|
||||
<a href='' class='btn btn-link btn-active-text'>
|
||||
<span class='text'><?php echo $lang->testtask->browse;?></span>
|
||||
<span class="label label-light label-badge"><?php echo $total;?></span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="btn-toolbar pull-right">
|
||||
<?php
|
||||
common::printIcon('testreport', 'browse', "objectID=$projectID&objectType=project", '', 'button','flag');
|
||||
common::printLink('testtask', 'create', "product=0&project=$projectID", "<i class='icon icon-plus'> </i>" . $lang->testtask->create, '', "class='btn btn-primary'");
|
||||
?>
|
||||
<?php common::printIcon('testreport', 'browse', "objectID=$projectID&objectType=project", '', 'button','flag');?>
|
||||
<?php common::printLink('testtask', 'create', "product=0&project=$projectID", "<i class='icon icon-plus'> </i>" . $lang->testtask->create, '', "class='btn btn-primary'");?>
|
||||
</div>
|
||||
</div>
|
||||
<div id="mainContent">
|
||||
<form class="main-table table-testtask" data-ride="table" method="post" target='hiddenwin' id='testtaskForm'>
|
||||
<table class="table has-sort-head" id='taskList'>
|
||||
<form class="main-table table-testtask" data-ride="table" data-group="true" method="post" target='hiddenwin' id='testtaskForm'>
|
||||
<table class="table table-grouped has-sort-head" id='taskList'>
|
||||
<thead>
|
||||
<?php $vars = "projectID=$projectID&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}";?>
|
||||
<?php $canTestReport = common::hasPriv('testreport', 'browse');?>
|
||||
<tr>
|
||||
<tr class='divider'>
|
||||
<th class='c-side text-center'><?php common::printOrderLink('product', $orderBy, $vars, $lang->testtask->product);?></th>
|
||||
<th class="c-id">
|
||||
<?php if($canTestReport):?>
|
||||
<div class="checkbox-primary check-all" title="<?php echo $lang->selectAll?>">
|
||||
@@ -38,19 +46,26 @@
|
||||
<?php endif;?>
|
||||
<?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?>
|
||||
</th>
|
||||
<th class='w-150px'><?php common::printOrderLink('id', $orderBy, $vars, $lang->testtask->product);?></th>
|
||||
<th><?php common::printOrderLink('name', $orderBy, $vars, $lang->testtask->name);?></th>
|
||||
<th><?php common::printOrderLink('build', $orderBy, $vars, $lang->testtask->build);?></th>
|
||||
<th class='w-user'><?php common::printOrderLink('owner', $orderBy, $vars, $lang->testtask->owner);?></th>
|
||||
<th class='w-100px'><?php common::printOrderLink('begin', $orderBy, $vars, $lang->testtask->begin);?></th>
|
||||
<th class='w-100px'><?php common::printOrderLink('end', $orderBy, $vars, $lang->testtask->end);?></th>
|
||||
<th class='w-80px'><?php common::printOrderLink('status', $orderBy, $vars, $lang->statusAB);?></th>
|
||||
<th class='c-actions-3'><?php echo $lang->actions;?></th>
|
||||
<th class='c-actions-3 text-center'><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach($tasks as $task):?>
|
||||
<tr>
|
||||
<?php foreach($tasks as $product => $productTasks):?>
|
||||
<?php $productName = zget($products, $product, '');?>
|
||||
<?php foreach($productTasks as $task):?>
|
||||
<tr data-id='<?php echo $product;?>' <?php if($task == reset($productTasks)) echo "class='divider-top'";?>>
|
||||
<?php if($task == reset($productTasks)):?>
|
||||
<td rowspan='<?php echo count($productTasks);?>' class='c-side text-left group-toggle'>
|
||||
<a class='text-primary' title='<?php echo $productName;?>'><i class='icon icon-caret-down'></i> <?php echo $productName;?></a>
|
||||
<div class='small'><span class='text-muted'><?php echo $lang->testtask->allTasks;?></span> <?php echo count($productTasks);?></div>
|
||||
</td>
|
||||
<?php endif;?>
|
||||
<td class="cell-id">
|
||||
<?php if($canTestReport):?>
|
||||
<?php echo html::checkbox('taskIdList', array($task->id => sprintf('%03d', $task->id)));?>
|
||||
@@ -58,7 +73,6 @@
|
||||
<?php printf('%03d', $task->id);?>
|
||||
<?php endif;?>
|
||||
</td>
|
||||
<td title="<?php echo zget($products, $task->product, '')?>"><?php echo zget($products, $task->product, '');?></td>
|
||||
<td class='text-left' title="<?php echo $task->name?>"><?php echo html::a($this->createLink('testtask', 'view', "taskID=$task->id"), $task->name);?></td>
|
||||
<td title="<?php echo $task->buildName?>"><?php echo ($task->build == 'trunk' || empty($task->buildName)) ? $lang->trunk : html::a($this->createLink('build', 'view', "buildID=$task->build"), $task->buildName);?></td>
|
||||
<td><?php echo $users[$task->owner];?></td>
|
||||
@@ -84,6 +98,17 @@
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
<tr data-id='<?php echo $product;?>' class='group-toggle group-summary divider hidden'>
|
||||
<td class='c-side text-left'>
|
||||
<a title='<?php echo $productName;?>'><i class='icon-caret-right text-muted'></i> <?php echo $productName;?></a>
|
||||
</td>
|
||||
<td colspan='8' class='text-left'>
|
||||
<div class='small with-padding'>
|
||||
<span class='text-muted'><?php echo $lang->testtask->allTasks;?></span> <?php echo count($productTasks);?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php if($tasks):?>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->story->create = "提需求";
|
||||
$lang->story->batchCreate = "批量提需求";
|
||||
$lang->story->batchCreate = "批量創建";
|
||||
$lang->story->change = "變更";
|
||||
$lang->story->changed = '需求變更';
|
||||
$lang->story->review = '評審';
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
*/
|
||||
$lang->task->index = "任務一覽";
|
||||
$lang->task->create = "建任務";
|
||||
$lang->task->batchCreate = "批量建任務";
|
||||
$lang->task->batchCreate = "批量創建";
|
||||
$lang->task->batchEdit = "批量編輯";
|
||||
$lang->task->batchChangeModule = "批量修改模組";
|
||||
$lang->task->batchClose = "批量關閉";
|
||||
|
||||
@@ -40,6 +40,9 @@ $lang->testtask->blocked = "Blocked";
|
||||
$lang->testtask->done = "Tested";
|
||||
$lang->testtask->totalStatus = "All";
|
||||
$lang->testtask->all = "All " . $lang->productCommon;
|
||||
$lang->testtask->allTasks = 'All';
|
||||
$lang->testtask->collapseAll = 'Collapse';
|
||||
$lang->testtask->expandAll = 'Expand';
|
||||
|
||||
$lang->testtask->id = 'ID';
|
||||
$lang->testtask->common = 'Test Task';
|
||||
|
||||
@@ -40,6 +40,9 @@ $lang->testtask->blocked = "被阻塞版本";
|
||||
$lang->testtask->done = "已测版本";
|
||||
$lang->testtask->totalStatus = "全部";
|
||||
$lang->testtask->all = "全部" . $lang->productCommon;
|
||||
$lang->testtask->allTasks = '所有测试';
|
||||
$lang->testtask->collapseAll = '全部折叠';
|
||||
$lang->testtask->expandAll = '全部展开';
|
||||
|
||||
$lang->testtask->id = '编号';
|
||||
$lang->testtask->common = '测试单';
|
||||
|
||||
@@ -40,6 +40,9 @@ $lang->testtask->blocked = "被阻塞版本";
|
||||
$lang->testtask->done = "已測版本";
|
||||
$lang->testtask->totalStatus = "全部";
|
||||
$lang->testtask->all = "全部" . $lang->productCommon;
|
||||
$lang->testtask->allTasks = '所有測試';
|
||||
$lang->testtask->collapseAll = '全部摺疊';
|
||||
$lang->testtask->expandAll = '全部展開';
|
||||
|
||||
$lang->testtask->id = '編號';
|
||||
$lang->testtask->common = '測試單';
|
||||
|
||||
Reference in New Issue
Block a user