* Refact testtask page of project.

This commit is contained in:
liugang
2018-05-07 11:54:54 +08:00
parent 83a6c78c3b
commit 70dcc23aca
12 changed files with 97 additions and 34 deletions
+3 -11
View File
@@ -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>&nbsp;添加文檔庫|doc|createLib', 'float' => 'right');
//$lang->doc->menu->createLib = array('link' => '<i class="icon icon-folder-plus"></i>&nbsp;添加檔案夾|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';
+3
View File
@@ -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);
}
+18 -2
View File
@@ -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 = "系統文檔庫無需修改。";
+9 -1
View File
@@ -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();
+1
View File
@@ -0,0 +1 @@
.table-group-btns {width: 200px;}
+14 -5
View File
@@ -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 &nbsp; <span class='text-muted'>進行中</span> %s</div><div>總預計 <strong>%s</strong></div><div><span class='text-muted'>已消耗</span> %s &nbsp; <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 = '團隊內部的簡稱';
+38 -13
View File
@@ -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):?>
+1 -1
View File
@@ -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 = '評審';
+1 -1
View File
@@ -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 = "批量關閉";
+3
View File
@@ -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';
+3
View File
@@ -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 = '测试单';
+3
View File
@@ -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 = '測試單';