diff --git a/module/bug/css/x.view.css b/module/bug/css/x.view.css index f60657557c..367ff84e6f 100644 --- a/module/bug/css/x.view.css +++ b/module/bug/css/x.view.css @@ -1,7 +1,13 @@ .main-actions {display: none;} -#main {margin-bottom: 40px;} +#main {margin-bottom: 40px; min-width: unset;} #mainMenu .pull-left>a {display: none;} #mainMenu .pull-left .divider {display: none;} #mainMenu .pull-right {display: none;} #mainContent .col-4 {display: none;} .modal-dialog {width: 90%;} +#mainMenu {position: fixed; width: 100%; z-index: 999;} +#wholeContent {margin-top: 35px; height: calc(100% - 75px); display: block; overflow-y: auto;} +html, body, #main, .container { height: 100%;} +#actionbox {display: none;} +body * {font-size: 13px !important; line-height: 1.42857143; color: rgb(51, 51, 51);} +.page-title > .label-id {min-width: 25px; line-height: 13px;} \ No newline at end of file diff --git a/module/bug/view/view.html.php b/module/bug/view/view.html.php index 09d7ef5fb1..25c59c2678 100644 --- a/module/bug/view/view.html.php +++ b/module/bug/view/view.html.php @@ -37,373 +37,375 @@ -
-
-
-
-
bug->legendSteps;?>
-
- bug->tplStep)); - $steps = str_replace('

' . $tplStep, '

' . $tplStep . '

', $bug->steps); +

+
+
+
+
+
bug->legendSteps;?>
+
+ bug->tplStep)); + $steps = str_replace('

' . $tplStep, '

' . $tplStep . '

', $bug->steps); - $tplResult = strip_tags(trim($lang->bug->tplResult)); - $steps = str_replace('

' . $tplResult, '

' . $tplResult . '

', $steps); + $tplResult = strip_tags(trim($lang->bug->tplResult)); + $steps = str_replace('

' . $tplResult, '

' . $tplResult . '

', $steps); - $tplExpect = strip_tags(trim($lang->bug->tplExpect)); - $steps = str_replace('

' . $tplExpect, '

' . $tplExpect . '

', $steps); + $tplExpect = strip_tags(trim($lang->bug->tplExpect)); + $steps = str_replace('

' . $tplExpect, '

' . $tplExpect . '

', $steps); - $steps = str_replace('

', '', $steps); - echo $steps; - ?> + $steps = str_replace('

', '', $steps); + echo $steps; + ?> +
-
- fetch('file', 'printFiles', array('files' => $bug->files, 'fieldset' => 'true', 'object' => $bug));?> - createLink('action', 'comment', "objectType=bug&objectID=$bug->id"); - ?> -
- printExtendFields($bug, 'div', "position=left&inForm=0&inCell=1");?> -
- id"; - $extraParams = "extras=bugID=$bug->id"; - if($this->app->tab == 'project') $extraParams .= ",projectID={$bug->project}"; - if($this->app->tab == 'execution') $extraParams .= ",executionID={$bug->execution}"; - $copyParams = "productID=$productID&branch=$bug->branch&$extraParams"; - $convertParams = "productID=$productID&branch=$bug->branch&moduleID=0&from=bug&bugID=$bug->id"; - ?> -
-
- - deleted):?> -
+ fetch('file', 'printFiles', array('files' => $bug->files, 'fieldset' => 'true', 'object' => $bug));?> app->tab != 'product') - { - common::printIcon('bug', 'toStory', "product=$bug->product&branch=$bug->branch&module=0&story=0&execution=0&bugID=$bug->id", $bug, 'button', $lang->icons['story'], '', '', '', "data-app='" . $this->app->tab . "'", $lang->bug->toStory); - common::printIcon('bug', 'createCase', $convertParams, $bug, 'button', 'sitemap'); - } - - echo $this->buildOperateMenu($bug, 'view'); - - echo "
"; - common::printIcon('bug', 'edit', $params, $bug); - if($this->app->tab != 'product') - { - common::printIcon('bug', 'create', $copyParams, $bug, 'button', 'copy'); - } - common::printIcon('bug', 'delete', $params, $bug, 'button', 'trash', 'hiddenwin'); + $canBeChanged = common::canBeChanged('bug', $bug); + if($canBeChanged) $actionFormLink = $this->createLink('action', 'comment', "objectType=bug&objectID=$bug->id"); ?> -
-
-
-
-
-
- -
-
- - - - - - - type != 'normal'):?> - - - - - - - - branch and isset($branches[$bugModule->branch])) - { - $moduleTitle .= $branches[$bugModule->branch] . '/'; - echo $branches[$bugModule->branch] . $lang->arrow; - } + printExtendFields($bug, 'div', "position=left&inForm=0&inCell=1");?> +
+ id"; + $extraParams = "extras=bugID=$bug->id"; + if($this->app->tab == 'project') $extraParams .= ",projectID={$bug->project}"; + if($this->app->tab == 'execution') $extraParams .= ",executionID={$bug->execution}"; + $copyParams = "productID=$productID&branch=$bug->branch&$extraParams"; + $convertParams = "productID=$productID&branch=$bug->branch&moduleID=0&from=bug&bugID=$bug->id"; + ?> +
+
+ + deleted):?> +
+ $module) - { - $moduleTitle .= $module->name; - if(!common::printLink('bug', 'browse', "productID=$bug->product&branch=$module->branch&browseType=byModule¶m=$module->id", $module->name)) echo $module->name; - if(isset($modulePath[$key + 1])) - { - $moduleTitle .= '/'; - echo $lang->arrow; - } - } - } - $printModule = ob_get_contents(); - ob_end_clean(); - ?> -
- - - - - - - - - - - bug->severityList as $severityKey => $severityValue) - { - if(!empty($severityKey) and (string)$severityKey != (string)$severityValue) - { - $hasCustomSeverity = true; - break; - } - } - ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bug->product;?>product", $product->name, '', "data-app='product'")) echo $product->name;?>
product->branch, $lang->product->branchName[$product->type]);?>product&branch=$bug->branch", $branchName)) echo $branchName;?>
bug->module;?>
bug->productplan;?>plan or !common::printLink('productplan', 'view', "planID=$bug->plan&type=bug", $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->severity);?> - - - -
bug->pri;?>pri;?>' title='bug->priList, $bug->pri);?>'>bug->priList, $bug->pri)?>
bug->status;?>processStatus('bug', $bug);?>
bug->activatedCount;?>activatedCount;?>
bug->activatedDate;?>activatedDate;?>
bug->confirmed;?>bug->confirmedList[$bug->confirmed];?>
bug->lblAssignedTo;?>assignedTo) echo zget($users, $bug->assignedTo) . $lang->at . $bug->assignedDate;?>
bug->deadline;?> - deadline) echo $bug->deadline; - if(isset($bug->delay)) printf($lang->bug->delayWarning, $bug->delay); - ?> -
bug->feedbackBy;?>feedbackBy;?>
bug->notifyEmail;?>notifyEmail;?>
bug->os;?>bug->osList[$bug->os];?>
bug->browser;?>bug->browserList[$bug->browser];?>
bug->keywords;?>keywords;?>
bug->mailto;?>mailto)); foreach($mailto as $account) echo ' ' . zget($users, $account); ?>
-
-
- - - systemMode == 'new'):?> - - - - - - - - - - - - - - - - - - -
bug->project;?>project) echo html::a($this->createLink('project', 'view', "projectID=$bug->project"), $bug->projectName);?>
bug->execution;?>execution) echo html::a($this->createLink('execution', 'browse', "executionID=$bug->execution"), $bug->executionName);?>
bug->story;?> - story) echo html::a($this->createLink('story', 'view', "storyID=$bug->story", '', true), "#$bug->story $bug->storyTitle", '', "class='iframe' data-width='80%'"); - 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", '', true), $bug->taskName, '', "class='iframe' data-width='80%'");?>
-
+ if($this->app->tab != 'product') + { + common::printIcon('bug', 'toStory', "product=$bug->product&branch=$bug->branch&module=0&story=0&execution=0&bugID=$bug->id", $bug, 'button', $lang->icons['story'], '', '', '', "data-app='" . $this->app->tab . "'", $lang->bug->toStory); + common::printIcon('bug', 'createCase', $convertParams, $bug, 'button', 'sitemap'); + } + + echo $this->buildOperateMenu($bug, 'view'); + + echo "
"; + common::printIcon('bug', 'edit', $params, $bug); + if($this->app->tab != 'product') + { + common::printIcon('bug', 'create', $copyParams, $bug, 'button', 'copy'); + } + common::printIcon('bug', 'delete', $params, $bug, 'button', 'trash', 'hiddenwin'); + ?> +
-
-
- -
-
- - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bug->openedBy;?> openedBy) . $lang->at . $bug->openedDate;?>
bug->openedBuild;?> +
+
+
+ +
+
+ + + + + + + type != 'normal'):?> + + + + + + + openedBuild) + $moduleTitle = ''; + ob_start(); + if(empty($modulePath)) { - $openedBuilds = explode(',', $bug->openedBuild); - foreach($openedBuilds as $openedBuild) - { - if(!$openedBuild) continue; - isset($builds[$openedBuild]) ? print($builds[$openedBuild] . '
') : print($openedBuild . '
'); - } + $moduleTitle .= '/'; + echo "/"; } else { - echo $bug->openedBuild; - } - ?> - - - - - - - - - - - - - - - - - - - - - - - -
bug->product;?>product", $product->name, '', "data-app='product'")) echo $product->name;?>
product->branch, $lang->product->branchName[$product->type]);?>product&branch=$bug->branch", $branchName)) echo $branchName;?>
bug->module;?>
bug->lblResolved;?>resolvedBy) echo zget($users, $bug->resolvedBy) . $lang->at . $bug->resolvedDate;?>
bug->resolvedBuild;?>resolvedBuild])) echo $builds[$bug->resolvedBuild]; else echo $bug->resolvedBuild;?>
bug->resolution;?> - bug->resolutionList[$bug->resolution]) ? $lang->bug->resolutionList[$bug->resolution] : $bug->resolution; - if(isset($bug->duplicateBugTitle)) echo " #$bug->duplicateBug:" . html::a($this->createLink('bug', 'view', "bugID=$bug->duplicateBug", '', true), $bug->duplicateBugTitle, '', "class='iframe' data-width='80%'"); - ?> -
bug->closedBy;?>closedBy) echo zget($users, $bug->closedBy) . $lang->at . $bug->closedDate;?>
bug->lblLastEdited;?>lastEditedBy) echo zget($users, $bug->lastEditedBy, $bug->lastEditedBy) . $lang->at . $bug->lastEditedDate?>
-
-
- - - - - + + + + + + + + + + + bug->severityList as $severityKey => $severityValue) + { + if(!empty($severityKey) and (string)$severityKey != (string)$severityValue) + { + $hasCustomSeverity = true; + break; } } ?> - - - case):?> - - - - - - toCases):?> - - - - - - toStory != 0):?> - - - - - - toTask != 0):?> - - - - - - -
bug->linkBug;?> - linkBugTitles)) - { - foreach($bug->linkBugTitles as $linkBugID => $linkBugTitle) + if($bugModule->branch and isset($branches[$bugModule->branch])) { - echo html::a($this->createLink('bug', 'view', "bugID=$linkBugID", '', true), "#$linkBugID $linkBugTitle", '', "class='iframe' data-width='80%'") . '
'; + $moduleTitle .= $branches[$bugModule->branch] . '/'; + echo $branches[$bugModule->branch] . $lang->arrow; + } + + foreach($modulePath as $key => $module) + { + $moduleTitle .= $module->name; + if(!common::printLink('bug', 'browse', "productID=$bug->product&branch=$module->branch&browseType=byModule¶m=$module->id", $module->name)) echo $module->name; + if(isset($modulePath[$key + 1])) + { + $moduleTitle .= '/'; + echo $lang->arrow; + } + } + } + $printModule = ob_get_contents(); + ob_end_clean(); + ?> +
bug->productplan;?>plan or !common::printLink('productplan', 'view', "planID=$bug->plan&type=bug", $bug->planName)) echo $bug->planName;?>
bug->type;?>bug->typeList[$bug->type])) echo $lang->bug->typeList[$bug->type]; else echo $bug->type;?>
bug->fromCase;?>createLink('testcase', 'view', "caseID=$bug->case&caseVersion=" . ($bug->testtask ? "&from=testtask&taskID={$bug->testtask}" : ''), '', true), "#$bug->case $bug->caseTitle", '', "class='iframe' data-width='80%'");?>
bug->toCase;?> - toCases as $caseID => $case) - { - echo '

' . html::a($this->createLink('testcase', 'view', "caseID=$caseID", '', true), $case, '', "class='iframe' data-width='80%'") . '

'; - } - ?> -
bug->toStory;?>createLink('story', 'view', "storyID=$bug->toStory", '', true), "#$bug->toStory $bug->toStoryTitle", '', "class='iframe' data-width='80%'");?>
bug->toTask;?>createLink('task', 'view', "taskID=$bug->toTask", '', true), "#$bug->toTask $bug->toTaskTitle", '', "class='iframe' data-width='80%'");?>
+
bug->severity;?> + + bug->severityList, $bug->severity, $bug->severity);?> + + + +
bug->pri;?>pri;?>' title='bug->priList, $bug->pri);?>'>bug->priList, $bug->pri)?>
bug->status;?>processStatus('bug', $bug);?>
bug->activatedCount;?>activatedCount;?>
bug->activatedDate;?>activatedDate;?>
bug->confirmed;?>bug->confirmedList[$bug->confirmed];?>
bug->lblAssignedTo;?>assignedTo) echo zget($users, $bug->assignedTo) . $lang->at . $bug->assignedDate;?>
bug->deadline;?> + deadline) echo $bug->deadline; + if(isset($bug->delay)) printf($lang->bug->delayWarning, $bug->delay); + ?> +
bug->feedbackBy;?>feedbackBy;?>
bug->notifyEmail;?>notifyEmail;?>
bug->os;?>bug->osList[$bug->os];?>
bug->browser;?>bug->browserList[$bug->browser];?>
bug->keywords;?>keywords;?>
bug->mailto;?>mailto)); foreach($mailto as $account) echo ' ' . zget($users, $account); ?>
+
+
+ + + systemMode == 'new'):?> + + + + + + + + + + + + + + + + + + +
bug->project;?>project) echo html::a($this->createLink('project', 'view', "projectID=$bug->project"), $bug->projectName);?>
bug->execution;?>execution) echo html::a($this->createLink('execution', 'browse', "executionID=$bug->execution"), $bug->executionName);?>
bug->story;?> + story) echo html::a($this->createLink('story', 'view', "storyID=$bug->story", '', true), "#$bug->story $bug->storyTitle", '', "class='iframe' data-width='80%'"); + 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", '', true), $bug->taskName, '', "class='iframe' data-width='80%'");?>
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bug->openedBy;?> openedBy) . $lang->at . $bug->openedDate;?>
bug->openedBuild;?> + openedBuild) + { + $openedBuilds = explode(',', $bug->openedBuild); + foreach($openedBuilds as $openedBuild) + { + if(!$openedBuild) continue; + isset($builds[$openedBuild]) ? print($builds[$openedBuild] . '
') : print($openedBuild . '
'); + } + } + else + { + echo $bug->openedBuild; + } + ?> +
bug->lblResolved;?>resolvedBy) echo zget($users, $bug->resolvedBy) . $lang->at . $bug->resolvedDate;?>
bug->resolvedBuild;?>resolvedBuild])) echo $builds[$bug->resolvedBuild]; else echo $bug->resolvedBuild;?>
bug->resolution;?> + bug->resolutionList[$bug->resolution]) ? $lang->bug->resolutionList[$bug->resolution] : $bug->resolution; + if(isset($bug->duplicateBugTitle)) echo " #$bug->duplicateBug:" . html::a($this->createLink('bug', 'view', "bugID=$bug->duplicateBug", '', true), $bug->duplicateBugTitle, '', "class='iframe' data-width='80%'"); + ?> +
bug->closedBy;?>closedBy) echo zget($users, $bug->closedBy) . $lang->at . $bug->closedDate;?>
bug->lblLastEdited;?>lastEditedBy) echo zget($users, $bug->lastEditedBy, $bug->lastEditedBy) . $lang->at . $bug->lastEditedDate?>
+
+
+ + + + + + + case):?> + + + + + + toCases):?> + + + + + + toStory != 0):?> + + + + + + toTask != 0):?> + + + + + + +
bug->linkBug;?> + linkBugTitles)) + { + foreach($bug->linkBugTitles as $linkBugID => $linkBugTitle) + { + echo html::a($this->createLink('bug', 'view', "bugID=$linkBugID", '', true), "#$linkBugID $linkBugTitle", '', "class='iframe' data-width='80%'") . '
'; + } + } + ?> +
bug->fromCase;?>createLink('testcase', 'view', "caseID=$bug->case&caseVersion=" . ($bug->testtask ? "&from=testtask&taskID={$bug->testtask}" : ''), '', true), "#$bug->case $bug->caseTitle", '', "class='iframe' data-width='80%'");?>
bug->toCase;?> + toCases as $caseID => $case) + { + echo '

' . html::a($this->createLink('testcase', 'view', "caseID=$caseID", '', true), $case, '', "class='iframe' data-width='80%'") . '

'; + } + ?> +
bug->toStory;?>createLink('story', 'view', "storyID=$bug->toStory", '', true), "#$bug->toStory $bug->toStoryTitle", '', "class='iframe' data-width='80%'");?>
bug->toTask;?>createLink('task', 'view', "taskID=$bug->toTask", '', true), "#$bug->toTask $bug->toTaskTitle", '', "class='iframe' data-width='80%'");?>
+
+
+
+
+ printExtendFields($bug, 'div', "position=right&inForm=0&inCell=1");?>
- printExtendFields($bug, 'div', "position=right&inForm=0&inCell=1");?>