禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用

给禅道缺陷增加自定义字段供不同的缺陷操作页面使用

by:授客 QQ1033553122

实践环境

禅道项目管理软件9.2.1 、8.0开源Linux版

需求描述

在禅道创建、修改、查看、关闭缺陷页面添加一个自定义字段---一个单选下拉选框,并针对不同的页面做是否必填校验。

 

给数据库表zt_bug新增自定义字段

ALTER TABLE `zt_bug` ADD COLUMN source VARCHAR(100) AFTER severity

 

修改zentaopms/module/bug/lang/zh-cn.php

如下图,新增图示选框Bug字段,即在合适的位置插入以下代码

$lang->bug->source = 'Bug根源';

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第1张图片

 

 

 

如下图,在合适的位置插入以下代码

$lang->bug->sourceList['codeerror'] = '产品设计缺陷';

$lang->bug->sourceList['bug']           = '程序编码错误';

 

说明:这里定义的'产品设计缺陷'和'程序编码错误'用于存放对应字段select下拉选框中的数据,上述'bug','productDesign',创建Bug/编辑Bug并保存后,会被存储到数据库中。

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第2张图片

 

 

 

 

注意:笔者使用的禅道,语言设置的是中文,所以仅修改zh-cn.php,不修改英文en.php和tw.php

修改zentaopms/module/bug/view/create.html.php

如下图,在合适的位置插入以下代码

    bug->source;?>

   

        bug->sourceList, $source, "class='form-control'");?>

   

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第3张图片

 

 

 

     

修改效果

  

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第4张图片

 

 

 

修改zentaopms/module/bug/view/edit.html.php

如下图,在合适的位置插入以下代码

js::set('source'                 , $bug->source);

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第5张图片

 

 

 

 

如下图,在合适的位置插入以下代码

    bug->source;?>

    bug->sourceList, $bug->source, "class='form-control'");?>

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第6张图片

 

 

 

修改效果

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第7张图片

当然,如果希望在编辑页面左侧展示添加的字段,如下图,也可以在合适的位置插入以下代码

    bug->source;?>

   

        bug->sourceList, $bug->source, "class='form-control'");?>

   

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第8张图片

 

 

 

修改效果

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第9张图片

 

 

 

修改zentaopms/module/bug/view/view.html.php

如下图,在合适的位置插入以下代码

    bug->source;?>

    bug->sourceList, $bug->source, $bug->source);?>

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第10张图片

 

 

 

 

 

修改效果

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第11张图片

 

 

 

当然,我们如果希望把新增字段放左侧页面展示,如下图,也可以在合适的位置插入以下代码

    bug->source;?>

   

        bug->sourceList, $bug->source, $bug->source);?>

   

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第12张图片

 

 

 

修改效果

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第13张图片

 

 

 

修改zentaopms/module/bug/view/resolve.html.php

如下图,在合适的位置插入以下代码

 

      bug->source;?>

     bug->sourceList,'', "class='form-control' ");?>

      请认真选择Bug根源分类

 

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第14张图片

 

 

 

 

修改效果

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第15张图片

 

 

 

修改zentaopms/module/bug/view/close.html.php

如下图,在合适的位置插入以下代码

js::set('source'                 , $bug->source);

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第16张图片

 

 

如下图,在合适的位置插入以下代码

bug->source;?>

    bug->sourceList, $bug->source, "class='form-control'");?>请确认Bug根源分类是否正确

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第17张图片

 

 

修改效果

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第18张图片

 

 

 

备注:提示语 “请确认Bug根源分类是否符正确”,改成 “请确认Bug根源分类是否符合实际” 会比较恰当

修改zentaopms/module/bug/config.php

如下图,可以选择创建,编辑,解决Bug时分别定义新增字段是否必填。本例中设置解决Bug时新增source字段必填

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第19张图片

 

 

 

修改效果

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第20张图片

 

 

 

 

需要注意的地方

本人实践时,想在关闭页面,把自定义字段也设置为必填,于是参考上面,在合适位置插入下图图示框选部分的代码,结果发现,自定义字段select选框右侧有红色的 * (见下图),但是提交关闭Bug请求时,并没有不为空限制

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第21张图片

 

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第22张图片

 

 

 

 

 

 

解决方法,如下,给select选框增加reuqired='true'

 

bug->source;?>

    bug->sourceList, $bug->source, "class='form-control' required='true'");?>请确认Bug根源分类是否正确

 

修改效果如下:

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第23张图片

 

 

 

如下,找到$config->bug->list->exportFields变量,增加新增的自定义字段名称,解决缺陷导出报表中没有新增字段的问题,如下

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第24张图片

 

 

 

如下,找到global $lang,在其下方合适的位置新增搜索字段,即我们自定义的字段,并给字段设置可选搜索项,解决缺陷搜索中没有新增字段问题。

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第25张图片

 

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第26张图片

 

 

修改效果

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第27张图片

 

 

 

 

修改zentaopms/module/bug/control.php

修改public function export($productID, $orderBy)函数代码,如下,在合适位置增加以下代码,解决导出报表,新增字段列的值不为设置的枚举选项值,而是为索引值问题。

  

if(isset($bugLang->sourceList[$bug->source]))         $bug->source     = $bugLang->sourceList[$bug->source];

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第28张图片

 

 

 

 

修改效果

 禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用_第29张图片

 

你可能感兴趣的:(禅道 给禅道缺陷增加自定义字段供不同的缺陷操作页面使用)