From 97ecae2e4f65fb9b89a85bb1f4e8610675ae1e46 Mon Sep 17 00:00:00 2001 From: Catouse Date: Fri, 28 Mar 2014 17:53:45 +0800 Subject: [PATCH] * ajusted views of module 'test'. --- module/bug/js/view.js | 1 - module/bug/lang/zh-cn.php | 1 + module/bug/view/browse.html.php | 392 +++++++++++---------- module/bug/view/close.html.php | 19 +- module/bug/view/confirmbug.html.php | 30 +- module/bug/view/create.html.php | 10 +- module/bug/view/edit.html.php | 4 +- module/bug/view/m.resolve.html.php | 2 +- module/bug/view/resolve.html.php | 33 +- module/bug/view/view.html.php | 486 ++++++++++++++------------- module/common/control.php | 1 - module/common/lang/zh-cn.php | 2 + module/product/control.php | 2 +- module/testtask/view/create.html.php | 2 +- module/todo/view/create.html.php | 2 +- module/todo/view/edit.html.php | 2 +- www/theme/default/style.css | 5 +- 17 files changed, 515 insertions(+), 479 deletions(-) diff --git a/module/bug/js/view.js b/module/bug/js/view.js index 3b686103d6..8c6f398c62 100644 --- a/module/bug/js/view.js +++ b/module/bug/js/view.js @@ -1,4 +1,3 @@ function setModal4List(colorboxClass, replaceID) { - if(onlybody != 'yes') $('.iframe').colorbox({width:900, height:500, iframe:true, transition:'none', onCleanup:function(){parent.location.href=parent.location.href;}}) } diff --git a/module/bug/lang/zh-cn.php b/module/bug/lang/zh-cn.php index 2134ba601e..95f11c8f30 100644 --- a/module/bug/lang/zh-cn.php +++ b/module/bug/lang/zh-cn.php @@ -87,6 +87,7 @@ $lang->bug->activate = '激活'; $lang->bug->reportChart = '报表统计'; $lang->bug->export = '导出数据'; $lang->bug->delete = '删除'; +$lang->bug->deleted = '已删除'; $lang->bug->saveTemplate = '保存模板'; $lang->bug->deleteTemplate = '删除模板'; $lang->bug->customFields = '自定义字段'; diff --git a/module/bug/view/browse.html.php b/module/bug/view/browse.html.php index f4579f4252..86b458ded3 100644 --- a/module/bug/view/browse.html.php +++ b/module/bug/view/browse.html.php @@ -21,47 +21,49 @@ js::set('customed', $customed); ?>
-
+
icons['bug']);?>
+
+
+
+ + +
" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=all¶m=0&orderBy=$orderBy&recTotal=0&recPerPage=200"), $lang->bug->allBugs) . ""; - echo "" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=assignToMe¶m=0"), $lang->bug->assignToMe) . ""; - echo "" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=openedByMe¶m=0"), $lang->bug->openedByMe) . ""; - echo "" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=resolvedByMe¶m=0"), $lang->bug->resolvedByMe) . ""; - echo "" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=assignToNull¶m=0"), $lang->bug->assignToNull) . ""; - echo "" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=unResolved¶m=0"), $lang->bug->unResolved) . ""; - echo "" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=unclosed¶m=0"), $lang->bug->unclosed) . ""; - echo "" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=longLifeBugs¶m=0"), $lang->bug->longLifeBugs) . ""; - echo "" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=postponedBugs¶m=0"), $lang->bug->postponedBugs) . ""; - echo "" . html::a($this->createLink('bug', 'browse', "productid=$productID&browseType=needconfirm¶m=0"), $lang->bug->needConfirm) . ""; - echo " {$lang->bug->byQuery} "; - ?> -
-
- '; - echo html::a("#", " " . $lang->export, '', "id='exportAction' onclick=\"toggleSubMenu(this.id,'bottom',0)\""); - echo ''; - common::printIcon('bug', 'report', "productID=$productID&browseType=$browseType&moduleID=$moduleID"); - common::printIcon('bug', 'customFields', '', '', 'button', 'icon-wrench'); + common::printIcon('bug', 'customFields', '', '', 'button', '', '', 'iframe', true); + echo "
"; common::printIcon('bug', 'batchCreate', "productID=$productID&projectID=0&moduleID=$moduleID"); common::printIcon('bug', 'create', "productID=$productID&extra=moduleID=$moduleID"); + echo '
'; ?>
-
- -
'>
- -
 
-
- - - - - - -
-
-
- -
- tree->manage);?> - tree->fix, 'hiddenwin');?> -
-
-
- - recTotal}&recPerPage={$pager->recPerPage}"; ?> - - - - - +
+ +
icons['product']);?>
+
+ +
+ tree->manage);?> + tree->fix, 'hiddenwin');?> +
+
+
+
+ +
idAB);?> bug->severityAB);?> priAB);?>
+ recTotal}&recPerPage={$pager->recPerPage}"; ?> + + + + + - + - cookie->windowWidth >= $this->config->wideSize):?> - - + cookie->windowWidth >= $this->config->wideSize):?> + + - - - - - + + + + + - cookie->windowWidth >= $this->config->wideSize):?> - - + cookie->windowWidth >= $this->config->wideSize):?> + + - - - + + + - cookie->windowWidth >= $this->config->wideSize):?> - - + cookie->windowWidth >= $this->config->wideSize):?> + + - - - - - - - id");?> - - - - + + + + + + + id");?> + + + + - confirmed;?> - + confirmed;?> + - cookie->windowWidth >= $this->config->wideSize):?> - - + cookie->windowWidth >= $this->config->wideSize):?> + + - - - - - + + + + + - cookie->windowWidth >= $this->config->wideSize):?> - - + cookie->windowWidth >= $this->config->wideSize):?> + + - - - + + + - cookie->windowWidth >= $this->config->wideSize):?> - - + cookie->windowWidth >= $this->config->wideSize):?> + + - - - - - - - - cookie->windowWidth >= $this->config->wideSize ? 12 : 9; - if($browseType == 'needconfirm') $columns = $this->cookie->windowWidth >= $this->config->wideSize ? 7 : 6; - ?> - + + + + + + + cookie->windowWidth >= $this->config->wideSize ? 12 : 9; + if($browseType == 'needconfirm') $columns = $this->cookie->windowWidth >= $this->config->wideSize ? 7 : 6; + ?> + - - -
idAB);?> bug->severityAB);?> priAB);?> bug->title);?> bug->title);?>bug->statusAB);?>bug->statusAB);?>bug->story);?>actions;?>openedByAB);?>bug->story);?>actions;?>openedByAB);?>bug->openedDateAB);?>bug->openedDateAB);?>assignedToAB);?>bug->resolvedByAB);?>bug->resolutionAB);?>assignedToAB);?>bug->resolvedByAB);?>bug->resolutionAB);?>bug->resolvedDateAB);?>bug->resolvedDateAB);?>actions;?>
- - id));?> - severity;?>'>severity;?>bug->priList[$bug->pri];?>'>bug->priList[$bug->pri];?>actions;?>
+ + id));?> + severity;?>'>severity;?>bug->priList[$bug->pri];?>'>bug->priList[$bug->pri];?>[{$lang->bug->confirmedList[$bug->confirmed]}] " . html::a($bugLink, $bug->title);?>[{$lang->bug->confirmedList[$bug->confirmed]}] " . html::a($bugLink, $bug->title);?>bug->statusList[$bug->status];?>bug->statusList[$bug->status];?>createLink('story', 'view', "stoyID=$bug->story"), $bug->storyTitle, '_blank');?>bug->confirmStoryChange = $lang->confirm; common::printIcon('bug', 'confirmStoryChange', "bugID=$bug->id", '', 'list', '', 'hiddenwin')?>openedBy, $bug->openedBy);?>createLink('story', 'view', "stoyID=$bug->story"), $bug->storyTitle, '_blank');?>bug->confirmStoryChange = $lang->confirm; common::printIcon('bug', 'confirmStoryChange', "bugID=$bug->id", '', 'list', '', 'hiddenwin')?>openedBy, $bug->openedBy);?>openedDate, 5, 11)?>openedDate, 5, 11)?>assignedTo == $this->app->user->account) echo 'class="red"';?>>assignedTo, $bug->assignedTo);?>resolvedBy, $bug->resolvedBy)?>bug->resolutionList[$bug->resolution];?>assignedTo == $this->app->user->account) echo 'class="red"';?>>assignedTo, $bug->assignedTo);?>resolvedBy, $bug->resolvedBy)?>bug->resolutionList[$bug->resolution];?>resolvedDate, 5, 11)?>resolvedDate, 5, 11)?> - id"; - common::printIcon('bug', 'confirmBug', $params, $bug, 'list', '', '', 'iframe', true); - common::printIcon('bug', 'assignTo', $params, '', 'list', '', '', 'iframe', true); - common::printIcon('bug', 'resolve', $params, $bug, 'list', '', '', 'iframe', true); - common::printIcon('bug', 'close', $params, $bug, 'list', '', '', 'iframe', true); - common::printIcon('bug', 'edit', $params, $bug, 'list'); - common::printIcon('bug', 'create', "product=$bug->product&extra=bugID=$bug->id", $bug, 'list', 'copy'); - ?> -
- -
+
+ id"; + common::printIcon('bug', 'confirmBug', $params, $bug, 'list', 'search', '', 'iframe', true); + common::printIcon('bug', 'assignTo', $params, '', 'list', '', '', 'iframe', true); + common::printIcon('bug', 'resolve', $params, $bug, 'list', '', '', 'iframe', true); + common::printIcon('bug', 'close', $params, $bug, 'list', '', '', 'iframe text-danger', true); + common::printIcon('bug', 'edit', $params, $bug, 'list'); + common::printIcon('bug', 'create', "product=$bug->product&extra=bugID=$bug->id", $bug, 'list', 'copy'); + ?> +
+ +
+
+ +
+
+ createLink('bug', 'batchEdit', "productID=$productID"); + $misc = common::hasPriv('bug', 'batchEdit') ? "onclick=\"setFormAction('$actionLink')\"" : "disabled='disabled'"; + echo html::commonButton($lang->edit, $misc); + ?> + +
"; + $class = "class='disabled'"; - $actionLink = $this->createLink('bug', 'batchEdit', "productID=$productID"); - $misc = common::hasPriv('bug', 'batchEdit') ? "onclick=\"setFormAction('$actionLink')\"" : "disabled='disabled'"; - echo "
"; - echo html::commonButton($lang->edit, $misc); - echo ""; - echo "
"; - ?> -
- -
show();?>
-
-
-
+ $actionLink = $this->createLink('bug', 'batchConfirm'); + $misc = common::hasPriv('bug', 'batchConfirm') ? "onclick=\"setFormAction('$actionLink','hiddenwin')\"" : "class='disabled'"; + echo "
  • " . html::a('#', $lang->bug->confirmBug, '', $misc) . "
  • "; - - - - - +
    + +
    show();?>
    + + + + + diff --git a/module/bug/view/close.html.php b/module/bug/view/close.html.php index 601f5ed721..cbae8b87db 100644 --- a/module/bug/view/close.html.php +++ b/module/bug/view/close.html.php @@ -12,17 +12,28 @@ ?> +
    +
    + icons['bug']) . ' #' . $bug->id;;?> + createLink('bug', 'view', 'bug=' . $bug->id), $bug->title, '_blank');?> + bug->close;?> icons['close']);?> +
    +
    +
    - - + + + - +
    title;?>
    comment;?>comment;?>
    goback, $this->session->bugList);?>goback, $this->session->bugList);?>
    -
    +
    + +
    diff --git a/module/bug/view/confirmbug.html.php b/module/bug/view/confirmbug.html.php index 010d394174..871c6ecee3 100755 --- a/module/bug/view/confirmbug.html.php +++ b/module/bug/view/confirmbug.html.php @@ -17,29 +17,39 @@ include '../../common/view/chosen.html.php'; js::set('holders', $lang->bug->placeholder); js::set('page', 'confirmbug'); ?> +
    +
    + icons['bug']) . ' #' . $bug->id;;?> + createLink('bug', 'view', 'bug=' . $bug->id), $bug->title, '_blank');?> + bug->confirmBug;?> icons['confirm']);?> +
    +
    +
    - - - + + + - + - + + - + + - +
    title;?>
    bug->assignedTo;?>assignedTo, "class='select-2 chosen'");?>bug->assignedTo;?>assignedTo, "class='select-2 chosen'");?>
    bug->pri;?>bug->priList, $bug->pri, 'class=select-2');?>bug->priList, $bug->pri, 'class=form-control');?>
    bug->mailto;?> - mailto), 'class="w-p98" multiple');?>bug->mailto;?>mailto), 'class="form-control chosen" multiple');?>
    comment;?> - comment;?>
    goback, $this->server->http_referer);?>goback, $this->server->http_referer);?>
    -
    +
    + +
    diff --git a/module/bug/view/create.html.php b/module/bug/view/create.html.php index b9193399d7..28b6f3831d 100644 --- a/module/bug/view/create.html.php +++ b/module/bug/view/create.html.php @@ -44,7 +44,7 @@ js::set('refresh', $lang->refresh); bug->project;?> - + bug->openedBuild;?> @@ -84,15 +84,15 @@ js::set('refresh', $lang->refresh); bug->lblTypeAndSeverity;?> - bug->typeList, $type, 'class=select-2');?> - bug->severityList, $severity, 'class=select-2');?> + bug->typeList, $type, 'class=form-control');?> + bug->severityList, $severity, 'class=form-control');?> bug->lblSystemBrowserAndHardware;?> - bug->osList, $os, 'class=select-2');?> - bug->browserList, $browser, 'class=select-2');?> + bug->osList, $os, 'class=form-control');?> + bug->browserList, $browser, 'class=form-control');?> diff --git a/module/bug/view/edit.html.php b/module/bug/view/edit.html.php index 501f358d2c..9482da67f9 100644 --- a/module/bug/view/edit.html.php +++ b/module/bug/view/edit.html.php @@ -134,7 +134,7 @@ js::set('oldResolvedBuild' , $bug->resolvedBuild); - + @@ -173,7 +173,7 @@ js::set('oldResolvedBuild' , $bug->resolvedBuild); - + resolution != 'duplicate') echo "style='display:none'";?>> diff --git a/module/bug/view/m.resolve.html.php b/module/bug/view/m.resolve.html.php index 5affaac55d..6834c71544 100755 --- a/module/bug/view/m.resolve.html.php +++ b/module/bug/view/m.resolve.html.php @@ -5,7 +5,7 @@
    bug->project;?>project, 'class=select-3 onchange=loadProjectRelated(this.value)');?>project, 'class=form-control onchange=loadProjectRelated(this.value)');?>
    bug->story;?>
    bug->resolution;?>bug->resolutionList, $bug->resolution, 'class=select-3 onchange=setDuplicate(this.value)');?>bug->resolutionList, $bug->resolution, 'class=form-control onchange=setDuplicate(this.value)');?>
    bug->duplicateBug;?>
    - diff --git a/module/bug/view/resolve.html.php b/module/bug/view/resolve.html.php index 3d816a61a3..8e0bb3920a 100644 --- a/module/bug/view/resolve.html.php +++ b/module/bug/view/resolve.html.php @@ -12,37 +12,48 @@ ?> + +
    +
    + icons['bug']) . ' #' . $bug->id;;?> + createLink('bug', 'view', 'bug=' . $bug->id), $bug->title, '_blank');?> + bug->resolve;?> icons['resolve']);?> +
    +
    +
    bug->resolutionList['tostory']); echo $lang->bug->resolution ;?>bug->resolutionList, '', 'class=select-3 onchange=setDuplicate(this.value)');?> + bug->resolutionList, '', 'class=form-control onchange=setDuplicate(this.value)');?>
    - - + + - - - + + - - + + - +
    title;?>
    bug->resolution;?> - bug->resolutionList['tostory']); echo html::select('resolution', $lang->bug->resolutionList, '', 'class=select-3 onchange=setDuplicate(this.value)');?>bug->resolution;?>bug->resolutionList['tostory']); echo html::select('resolution', $lang->bug->resolutionList, '', 'class=form-control onchange=setDuplicate(this.value)');?>
    bug->resolvedBuild;?> + bug->resolvedBuild;?>
    bug->resolvedDate;?> - bug->resolvedDate;?>
    bug->assignedTo;?> + bug->assignedTo;?> openedBy, "class='form-control chosen'");?>
    comment;?> - comment;?>
    goback, $this->session->bugList);?>goback, $this->session->bugList);?>
    +
    + +
    diff --git a/module/bug/view/view.html.php b/module/bug/view/view.html.php index 39b93b93ab..3397dafac3 100644 --- a/module/bug/view/view.html.php +++ b/module/bug/view/view.html.php @@ -13,8 +13,14 @@
    -
    deleted) echo "class='deleted'";?>>BUG #id . ' ' . $bug->title;?>
    -
    +
    + icons['bug']) . ' #' . $bug->id;?> + title;?> + deleted):?> + bug->deleted;?> + +
    +
    session->bugList != false ? $app->session->bugList : inlink('browse', "productID=$bug->product"); $params = "bugID=$bug->id"; @@ -23,23 +29,27 @@ if(!$bug->deleted) { ob_start(); - common::printIcon('bug', 'confirmBug', $params, $bug, 'button', '', '', 'iframe', true); + echo "
    "; + common::printIcon('bug', 'confirmBug', $params, $bug, 'button', 'search', '', 'iframe', true); common::printIcon('bug', 'assignTo', $params, '', 'button', '', '', 'iframe', true); common::printIcon('bug', 'resolve', $params, $bug, 'button', '', '', 'iframe showinonlybody', true); - common::printIcon('bug', 'close', $params, $bug, 'button', '', '', 'iframe', true); - common::printIcon('bug', 'activate', $params, $bug, 'button', '', '', 'iframe', true); + common::printIcon('bug', 'close', $params, $bug, 'button', '', '', 'text-danger iframe', true); + common::printIcon('bug', 'activate', $params, $bug, 'button', '', '', 'text-success iframe', true); - common::printIcon('bug', 'toStory', "product=$bug->product&module=0&story=0&project=0&bugID=$bug->id", $bug, 'button', 'toStory'); - common::printIcon('bug', 'createCase', $convertParams, '', 'button', 'createCase'); + common::printIcon('bug', 'toStory', "product=$bug->product&module=0&story=0&project=0&bugID=$bug->id", $bug, 'button', $lang->icons['story']); + common::printIcon('bug', 'createCase', $convertParams, '', 'button', 'usecase'); + echo '
    '; - common::printDivider(); + echo "
    "; common::printIcon('bug', 'edit', $params); common::printCommentIcon('bug'); common::printIcon('bug', 'create', $copyParams, '', 'button', 'copy'); common::printIcon('bug', 'delete', $params, '', 'button', '', 'hiddenwin'); + echo '
    '; - common::printDivider(); + echo "
    "; common::printRPN($browseLink, $preAndNext); + echo '
    '; $actionLinks = ob_get_contents(); ob_end_clean(); @@ -53,239 +63,247 @@
    - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    bug->legendSteps;?>
    [', '

    [', $bug->steps);?>

    fetch('file', 'printFiles', array('files' => $bug->files, 'fieldset' => 'true'));?> - - -
    -
    - bug->legendBasicInfo;?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    bug->product;?>product", $productName)) echo $productName;?> -
    bug->module;?> - $module) - { - if(!common::printLink('bug', 'browse', "productID=$bug->product&browseType=byModule¶m=$module->id", $module->name)) echo $module->name; - if(isset($modulePath[$key + 1])) echo $lang->arrow; - } - } - ?> -
    bug->productplan;?>plan or !common::printLink('productplan', 'linkBug', "planID=$bug->plan", $bug->planName)) echo $bug->planName;?> -
    bug->type;?>bug->typeList[$bug->type])) echo $lang->bug->typeList[$bug->type]; else echo $bug->type;?>
    bug->severity;?>bug->severityList[$bug->severity];?>
    bug->pri;?>bug->priList[$bug->pri];?>
    bug->status;?>bug->statusList[$bug->status];?>
    bug->activatedCount;?>activatedCount;?>
    bug->confirmed;?>bug->confirmedList[$bug->confirmed];?>
    bug->lblAssignedTo;?>assignedTo) echo $users[$bug->assignedTo] . $lang->at . $bug->assignedDate;?>
    bug->os;?>bug->osList[$bug->os];?>
    bug->browser;?>bug->browserList[$bug->browser];?>
    bug->keywords;?>keywords;?>
    +
    deleted) echo $actionLinks;?>
    + - -
    - bug->case;?> - - - - - - - - - -
    bug->fromCase;?>case) echo html::a($this->createLink('testcase', 'view', "caseID=$bug->case"), $bug->caseTitle);?>
    bug->toCase;?> - toCases as $caseID => $case) - { - echo '

    ' . html::a($this->createLink('testcase', 'view', "caseID=$caseID"), $case) . '

    '; - } - ?> -
    -
    - -
    - bug->legendLife;?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    bug->openedBy;?> openedBy] . $lang->at . $bug->openedDate;?>
    bug->openedBuild;?> - openedBuild) - { - $openedBuilds = explode(',', $bug->openedBuild); - foreach($openedBuilds as $openedBuild) isset($builds[$openedBuild]) ? print($builds[$openedBuild] . '
    ') : print($openedBuild . '
    '); - } - else - { - echo $bug->openedBuild; - } - ?> -
    bug->lblResolved;?>resolvedBy) echo $users[$bug->resolvedBy] . $lang->at . $bug->resolvedDate;?> -
    bug->resolvedBuild;?>resolvedBuild])) echo $builds[$bug->resolvedBuild]; else echo $bug->resolvedBuild;?>
    bug->resolution;?> - bug->resolutionList[$bug->resolution]; - if(isset($bug->duplicateBugTitle)) echo " #$bug->duplicateBug:" . html::a($this->createLink('bug', 'view', "bugID=$bug->duplicateBug"), $bug->duplicateBugTitle); - ?> -
    bug->closedBy;?>closedBy) echo $users[$bug->closedBy] . $lang->at . $bug->closedDate;?>
    bug->lblLastEdited;?>lastEditedBy) echo $users[$bug->lastEditedBy] . $lang->at . $bug->lastEditedDate?>
    -
    - -
    - bug->legendPrjStoryTask;?> - - - - - - - - - - - - - -
    bug->project;?>project) echo html::a($this->createLink('project', 'browse', "projectid=$bug->project"), $bug->projectName);?>
    bug->story;?> - story) echo html::a($this->createLink('story', 'view', "storyID=$bug->story"), "#$bug->story $bug->storyTitle"); - if($bug->storyStatus == 'active' and $bug->latestStoryVersion > $bug->storyVersion) - { - echo "({$lang->story->changed} "; - echo html::a($this->createLink('bug', 'confirmStoryChange', "bugID=$bug->id"), $lang->confirm, 'hiddenwin'); - echo ")"; - } - ?> -
    bug->task;?>task) echo html::a($this->createLink('task', 'view', "taskID=$bug->task"), $bug->taskName);?>
    -
    -
    - bug->legendMisc;?> - - - - - - - - - -
    bug->mailto;?>mailto)); foreach($mailto as $account) echo ' ' . $users[$account]; ?>
    bug->linkBug;?> - linkBugTitles)) - { - foreach($bug->linkBugTitles as $linkBugID => $linkBugTitle) + + +
    +
    +
    + +
    +
    + + + + + + + + - - - - - - - - - - - - - -
    bug->product;?>product", $productName)) echo $productName;?>
    bug->module;?> + createLink('bug', 'view', "bugID=$linkBugID"), "#$linkBugID $linkBugTitle", '_blank') . '
    '; + echo "/"; } - } - ?> -
    bug->case;?>caseTitle)) echo html::a($this->createLink('testcase', 'view', "caseID=$bug->case"), "#$bug->case $bug->caseTitle", '_blank');?>
    bug->toStory;?>toStory != 0) echo html::a($this->createLink('story', 'view', "storyID=$bug->toStory"), "#$bug->toStory $bug->toStoryTitle", '_blank');?>
    bug->toTask;?>toTask != 0) echo html::a($this->createLink('task', 'view', "taskID=$bug->toTask"), "#$bug->toTask $bug->toTaskTitle", '_blank');?>
    - -
    + else + { + foreach($modulePath as $key => $module) + { + if(!common::printLink('bug', 'browse', "productID=$bug->product&browseType=byModule¶m=$module->id", $module->name)) echo $module->name; + if(isset($modulePath[$key + 1])) echo $lang->arrow; + } + } + ?> +
    bug->productplan;?>plan or !common::printLink('productplan', 'linkBug', "planID=$bug->plan", $bug->planName)) echo $bug->planName;?>
    bug->type;?>bug->typeList[$bug->type])) echo $lang->bug->typeList[$bug->type]; else echo $bug->type;?>
    bug->severity;?>bug->severityList[$bug->severity];?>
    bug->pri;?>bug->priList[$bug->pri];?>
    bug->status;?>bug->statusList[$bug->status];?>
    bug->activatedCount;?>activatedCount;?>
    bug->confirmed;?>bug->confirmedList[$bug->confirmed];?>
    bug->lblAssignedTo;?>assignedTo) echo $users[$bug->assignedTo] . $lang->at . $bug->assignedDate;?>
    bug->os;?>bug->osList[$bug->os];?>
    bug->browser;?>bug->browserList[$bug->browser];?>
    bug->keywords;?>keywords;?>
    +
    +
    + + + + + + + + + + + + + +
    bug->project;?>project) echo html::a($this->createLink('project', 'browse', "projectid=$bug->project"), $bug->projectName);?>
    bug->story;?> + story) echo html::a($this->createLink('story', 'view', "storyID=$bug->story"), "#$bug->story $bug->storyTitle"); + if($bug->storyStatus == 'active' and $bug->latestStoryVersion > $bug->storyVersion) + { + echo "({$lang->story->changed} "; + echo html::a($this->createLink('bug', 'confirmStoryChange', "bugID=$bug->id"), $lang->confirm, 'hiddenwin'); + echo ")"; + } + ?> +
    bug->task;?>task) echo html::a($this->createLink('task', 'view', "taskID=$bug->task"), $bug->taskName);?>
    +
    + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    bug->openedBy;?> openedBy] . $lang->at . $bug->openedDate;?>
    bug->openedBuild;?> + openedBuild) + { + $openedBuilds = explode(',', $bug->openedBuild); + foreach($openedBuilds as $openedBuild) isset($builds[$openedBuild]) ? print($builds[$openedBuild] . '
    ') : print($openedBuild . '
    '); + } + else + { + echo $bug->openedBuild; + } + ?> +
    bug->lblResolved;?>resolvedBy) echo $users[$bug->resolvedBy] . $lang->at . $bug->resolvedDate;?>
    bug->resolvedBuild;?>resolvedBuild])) echo $builds[$bug->resolvedBuild]; else echo $bug->resolvedBuild;?>
    bug->resolution;?> + bug->resolutionList[$bug->resolution]; + if(isset($bug->duplicateBugTitle)) echo " #$bug->duplicateBug:" . html::a($this->createLink('bug', 'view', "bugID=$bug->duplicateBug"), $bug->duplicateBugTitle); + ?> +
    bug->closedBy;?>closedBy) echo $users[$bug->closedBy] . $lang->at . $bug->closedDate;?>
    bug->lblLastEdited;?>lastEditedBy) echo $users[$bug->lastEditedBy] . $lang->at . $bug->lastEditedDate?>
    +
    +
    + + + + + + + + + +
    bug->fromCase;?>case) echo html::a($this->createLink('testcase', 'view', "caseID=$bug->case"), $bug->caseTitle);?>
    bug->toCase;?> + toCases as $caseID => $case) + { + echo '

    ' . html::a($this->createLink('testcase', 'view', "caseID=$caseID"), $case) . '

    '; + } + ?> +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    bug->mailto;?>mailto)); foreach($mailto as $account) echo ' ' . $users[$account]; ?>
    bug->linkBug;?> + linkBugTitles)) + { + foreach($bug->linkBugTitles as $linkBugID => $linkBugTitle) + { + echo html::a($this->createLink('bug', 'view', "bugID=$linkBugID"), "#$linkBugID $linkBugTitle", '_blank') . '
    '; + } + } + ?> +
    bug->case;?>caseTitle)) echo html::a($this->createLink('testcase', 'view', "caseID=$bug->case"), "#$bug->case $bug->caseTitle", '_blank');?>
    bug->toStory;?>toStory != 0) echo html::a($this->createLink('story', 'view', "storyID=$bug->toStory"), "#$bug->toStory $bug->toStoryTitle", '_blank');?>
    bug->toTask;?>toTask != 0) echo html::a($this->createLink('task', 'view', "taskID=$bug->toTask"), "#$bug->toTask $bug->toTaskTitle", '_blank');?>
    +
    +
    +
    + + + diff --git a/module/common/control.php b/module/common/control.php index 16423845ae..3bb97106e5 100644 --- a/module/common/control.php +++ b/module/common/control.php @@ -299,7 +299,6 @@ class common extends control $icon = $lang->icons[$method] ? $lang->icons[$method] : $method; } if(strpos(',edit,copy,report,export,delete,', ",$method,") !== false) $module = 'common'; - $extraClass = strpos(',export,customFields,', ",$method,") !== false ? $method : $extraClass; $class = "icon-$module-$method"; if(!$clickable) $class .= ' disabled'; if($icon) $class .= ' icon-' . $icon; diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index d61c4ca147..ba66eee559 100644 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -439,9 +439,11 @@ $lang->icons['link'] = 'link'; $lang->icons['close'] = 'off'; $lang->icons['activate'] = 'off'; $lang->icons['review'] = 'search'; +$lang->icons['confirm'] = 'search'; $lang->icons['putoff'] = 'calendar'; $lang->icons['suspend'] = 'pause'; $lang->icons['cancel'] = 'ban-circle'; $lang->icons['recordEstimate'] = 'time'; +$lang->icons['customFields'] = 'cogs'; include (dirname(__FILE__) . '/menuOrder.php'); diff --git a/module/product/control.php b/module/product/control.php index a737be41aa..0bca90f3b2 100644 --- a/module/product/control.php +++ b/module/product/control.php @@ -460,7 +460,7 @@ class product extends control public function ajaxGetProjects($productID, $projectID = 0) { $projects = $this->product->getProjectPairs($productID, $params = 'nodeleted'); - die(html::select('project', $projects, $projectID, 'class=select-3 onchange=loadProjectRelated(this.value)')); + die(html::select('project', $projects, $projectID, 'class=form-control onchange=loadProjectRelated(this.value)')); } /** diff --git a/module/testtask/view/create.html.php b/module/testtask/view/create.html.php index 56aa9805e1..b14d57ac94 100644 --- a/module/testtask/view/create.html.php +++ b/module/testtask/view/create.html.php @@ -29,7 +29,7 @@ testtask->project;?> - + testtask->build;?> diff --git a/module/todo/view/create.html.php b/module/todo/view/create.html.php index 7ef425324f..baec6491d6 100644 --- a/module/todo/view/create.html.php +++ b/module/todo/view/create.html.php @@ -47,7 +47,7 @@ todo->beginAndEnd;?> - + todo->lblDisableDate;?> diff --git a/module/todo/view/edit.html.php b/module/todo/view/edit.html.php index 5949a57d08..ff97d09de3 100644 --- a/module/todo/view/edit.html.php +++ b/module/todo/view/edit.html.php @@ -50,7 +50,7 @@ todo->beginAndEnd;?> - begin, 'onchange=selectNext(); class=select-2') . html::select('end', $times, $todo->end, 'class=select-2');?> + begin, 'onchange=selectNext(); class=select-2') . html::select('end', $times, $todo->end, 'class=form-control');?> begin == 2400) echo 'checked';?> >todo->lblDisableDate;?> diff --git a/www/theme/default/style.css b/www/theme/default/style.css index 34f2ee67bf..15b0cb1f6c 100644 --- a/www/theme/default/style.css +++ b/www/theme/default/style.css @@ -286,6 +286,9 @@ div.form-control[contenteditable='true'] {height: auto; text-align: left; outlin .fileBox .form-control[type='text'] {height: 30px;} .fileBox .input-control {display: table-cell; border: 1px solid #ccc; padding: 0 10px; border-radius: 2px 0 0 2px} +/* Bug status */ +.bug-closed, .bug-closed a {color: #808080; text-decoration: line-through;} + /* === Layout === */ /* Background */ body {font-size: 12px; color:#141414;padding-bottom: 40px;} @@ -405,7 +408,7 @@ body {font-size: 12px; color:#141414;padding-bottom: 40px;} .outer .table tr > th:last-child, .outer .table tr > td:last-child {padding-right: 15px} .outer .table.table-form tr > th:last-child, .outer .table.table-form tr > td:last-child {padding-right: 5px} .outer .table.table-form.table-fixed tr > th:last-child, .outer .table.table-form.table-fixed tr > td:last-child {padding-right: 15px} -.outer .table tbody > tr:last-child td {border-bottom: 1px solid #e5e5e5; padding-top: 8px} +.outer .table tbody > tr:last-child td {border-bottom: 1px solid #e5e5e5;} .outer .table-form .table tr > th:first-child, .outer .table-form .table tr > td:first-child {padding-left: 5px} .outer .table-form .table tr > th:last-child, .outer .table-form .table tr > td:last-child {padding-right: 5px} .outer .table-form .table tbody > tr:last-child td {border-bottom: 1px solid #e5e5e5; padding-top: 5px}