禅道 给禅道缺陷增加是否遗留及来源渠道自定义字段
给禅道缺陷增加是否遗留及来源渠道自定义字段
by:授客 QQ:1033553122
实践环境
禅道项目管理软件9.2.1 、8.0开源Linux版
给数据库表zt_bug新增自定义字段
ALTER TABLE `zt_bug` ADD COLUMN isHistory VARCHAR(10) AFTER severity;
ALTER TABLE `zt_bug` ADD COLUMN channel VARCHAR(50) AFTER severity;
修改zentaopms/module/bug/lang/zh-cn.php
如下图,新增图示选框Bug字段,即在合适的位置插入以下代码
$lang->bug->source = 'Bug根源';
如下图,在合适的位置插入以下代码
$lang->bug->sourceList['codeerror'] = '产品设计缺陷';
$lang->bug->sourceList['bug'] = '程序编码错误';
说明:这里定义的'产品设计缺陷'和'程序编码错误'用于存放对应字段select下拉选框中的数据,上述'bug','productDesign',创建Bug/编辑Bug并保存后,会被存储到数据库中。
注意:笔者使用的禅道,语言设置的是中文,所以仅修改zh-cn.php,不修改英文en.php和tw.php
修改zentaopms/module/bug/view/create.html.php
如下图,把以下代码
<tr>
<th><?php echo $lang->bug->type;?></th>
<td>
<div class='input-group' id='bugTypeInputGroup'>
<?php
/* Remove the unused types. */
unset($lang->bug->typeList['designchange']);
unset($lang->bug->typeList['newfeature']);
unset($lang->bug->typeList['trackthings']);
echo html::select('type', $lang->bug->typeList, $type, "class='form-control'");
?>
<?php if($showOS):?>
<span class='input-group-addon fix-border'><?php echo $lang->bug->os?></span>
<?php echo html::select('os', $lang->bug->osList, $os, "class='form-control'");?>
<?php endif;?>
<?php if($showBrowser):?>
<span class='input-group-addon fix-border'><?php echo $lang->bug->browser?></span>
<?php echo html::select('browser', $lang->bug->browserList, $browser, "class='form-control'");?>
<?php endif;?>
</div>
</td>
</tr>
<?php endif;?>
修改为以下代码
<tr>
<th><?php echo $lang->bug->isHistory;?></th>
<td>
<div class='input-group'>
<?php echo html::select('isHistory', $lang->bug->isHistoryList, $isHistory, "class='form-control'");?>
<span class='input-group-addon fix-border'><?php echo $lang->bug->channel;?></span>
<div class='w-150px'><?php echo html::select('channel', $lang->bug->channelList, $channel, "class='form-control'");?></div>
<span class='input-group-addon fix-border'><?php echo $lang->bug->type;?></span>
<?php
/* Remove the unused types. */
unset($lang->bug->typeList['designchange']);
unset($lang->bug->typeList['newfeature']);
unset($lang->bug->typeList['trackthings']);
echo html::select('type', $lang->bug->typeList, $type, "class='form-control'");
?>
<?php if($showOS):?>
<span class='input-group-addon fix-border'><?php echo $lang->bug->os?></span>
<?php echo html::select('os', $lang->bug->osList, $os, "class='form-control'");?>
<?php endif;?>
<?php if($showBrowser):?>
<span class='input-group-addon fix-border'><?php echo $lang->bug->browser?></span>
<?php echo html::select('browser', $lang->bug->browserList, $browser, "class='form-control'");?>
<?php endif;?>
</div>
</td>
</tr>
修改效果
如上,以下带背景色部分导致“所有用户”这个按钮跑到右侧去了,我们希望它保持原样,挨着 当前指派 下拉选框,咋办?
<div class='w-150px'><?php echo html::select('channel', $lang->bug->channelList, $channel, "class='form-control'");?></div>
解决方法如下:去掉带背景色部分的内容,即可
<td>
<div class='input-group'>
<span id='assignedToBox'><?php echo html::select('assignedTo', $projectMembers, $assignedTo, "class='form-control chosen'");?></span>
<span class='input-group-btn'><?php echo html::commonButton($lang->bug->allUsers, "class='btn btn-default' onclick='loadAllUsers()' data-toggle='tooltip'");?></span>
</div>
</td>
效果
注意:后面发现按上面的方式更改create.html.php页面后,发现页面缩放后,会出现样式错乱的问题,解决方法:
1、 还原上述代码的更改
2、 在合适位置插入背景色部分的内容
<tr>
<th><nobr><?php echo $lang->bug->lblAssignedTo;?></nobr></th>
<td>
<div class='input-group'>
<span id='assignedToBox'><?php echo html::select('assignedTo', $projectMembers, $assignedTo, "class='form-control chosen'");?></span>
<span class='input-group-btn'><?php echo html::commonButton($lang->bug->allUsers, "class='btn btn-default' onclick='loadAllUsers()' data-toggle='tooltip'");?></span>
</div>
</td>
<?php $showDeadline = strpos(",$showFields,", ',deadline,') !== false;?>
<?php if($showDeadline):?>
<td>
<div class='input-group'>
<span class='input-group-addon'><?php echo $lang->bug->deadline?></span>
<span><?php echo html::input('deadline', $deadline, "class='form-control form-date'");?></span>
</div>
</td>
<?php endif;?>
</tr>
<tr>
<th><?php echo $lang->bug->isHistory;?></th>
<td>
<div class='input-group' id='bugTypeInputGroup'>
<?php echo html::select('isHistory', $lang->bug->isHistoryList, $isHistory, "class='form-control'");?>
<span class='input-group-addon fix-border'><?php echo $lang->bug->channel;?></span>
<?php echo html::select('channel', $lang->bug->channelList, $channel, "class='form-control'");?>
</div>
</td>
</tr>
<?php if($this->config->global->flow != 'onlyTest'):?>
<?php $showOS = strpos(",$showFields,", ',os,') !== false;?>
<?php $showBrowser = strpos(",$showFields,", ',browser,') !== false;?>
<tr>
<th><?php echo $lang->bug->type;?></th>
<td>
<div class='input-group' id='bugTypeInputGroup'>
<?php
/* Remove the unused types. */
unset($lang->bug->typeList['designchange']);
unset($lang->bug->typeList['newfeature']);
unset($lang->bug->typeList['trackthings']);
echo html::select('type', $lang->bug->typeList, $type, "class='form-control'");
?>
<?php if($showOS):?>
<span class='input-group-addon fix-border'><?php echo $lang->bug->os?></span>
<?php echo html::select('os', $lang->bug->osList, $os, "class='form-control'");?>
<?php endif;?>
<?php if($showBrowser):?>
<span class='input-group-addon fix-border'><?php echo $lang->bug->browser?></span>
<?php echo html::select('browser', $lang->bug->browserList, $browser, "class='form-control'");?>
<?php endif;?>
</div>
</td>
</tr>
<?php endif;?>
修改效果
当然,也可以这么改,如下
修改
<?php if($this->config->global->flow != 'onlyTest'):?>
<?php $showOS = strpos(",$showFields,", ',os,') !== false;?>
<?php $showBrowser = strpos(",$showFields,", ',browser,') !== false;?>
<tr>
<th><?php echo $lang->bug->type;?></th>
<td>
<div class='input-group' id='bugTypeInputGroup'>
<?php
/* Remove the unused types. */
unset($lang->bug->typeList['designchange']);
unset($lang->bug->typeList['newfeature']);
unset($lang->bug->typeList['trackthings']);
echo html::select('type', $lang->bug->typeList, $type, "class='form-control'");
?>
<?php if($showOS):?>
<span class='input-group-addon fix-border'><?php echo $lang->bug->os?></span>
<?php echo html::select('os', $lang->bug->osList, $os, "class='form-control'");?>
<?php endif;?>
<?php if($showBrowser):?>
<span class='input-group-addon fix-border'><?php echo $lang->bug->browser?></span>
<?php echo html::select('browser', $lang->bug->browserList, $browser, "class='form-control'");?>
<?php endif;?>
</div>
</td>
</tr>
<?php endif;?>
为
<?php if($this->config->global->flow != 'onlyTest'):?>
<?php $showOS = strpos(",$showFields,", ',os,') !== false;?>
<?php $showBrowser = strpos(",$showFields,", ',browser,') !== false;?>
<tr>
<th><?php echo $lang->bug->isHistory;?></th>
<td>
<div class='input-group' >
<?php echo html::select('isHistory', $lang->bug->isHistoryList, $isHistory, "class='form-control'");?>
<span class='input-group-addon fix-border'><?php echo $lang->bug->channel;?></span>
<?php echo html::select('channel', $lang->bug->channelList, $channel, "class='form-control'");?>
</div>
</td>
<td>
<div class='input-group' id='bugTypeInputGroup'>
<span class='input-group-addon'><?php echo $lang->bug->type;?></span>
<?php
/* Remove the unused types. */
unset($lang->bug->typeList['designchange']);
unset($lang->bug->typeList['newfeature']);
unset($lang->bug->typeList['trackthings']);
echo html::select('type', $lang->bug->typeList, $type, "class='form-control'");
?>
<?php if($showOS):?>
<span class='input-group-addon fix-border'><?php echo $lang->bug->os?></span>
<?php echo html::select('os', $lang->bug->osList, $os, "class='form-control'");?>
<?php endif;?>
<?php if($showBrowser):?>
<span class='input-group-addon fix-border'><?php echo $lang->bug->browser?></span>
<?php echo html::select('browser', $lang->bug->browserList, $browser, "class='form-control'");?>
<?php endif;?>
</div>
</td>
</tr>
<?php endif;?>
修改效果
修改zentaopms/module/bug/view/edit.html.php
如下图,在合适的位置插入以下代码
js::set('isHistory' , $bug->isHistory);
js::set('channel' , $bug->channel);
如下图,在合适的位置插入以下代码
<tr>
<th><?php echo $lang->bug->isHistory;?></th>
<td><?php echo html::select('isHistory', $lang->bug->isHistoryList, $bug->isHistory, "class='form-control'");?></td>
</tr>
<tr>
<th><?php echo $lang->bug->channel;?></th>
<td><?php echo html::select('channel', $lang->bug->channelList, $bug->channel, "class='form-control'");?></td>
</tr>
修改效果
修改zentaopms/module/bug/view/resolve.html.php
如下图,在合适的位置插入以下代码
<tr>
<th class='w-80px'><?php echo $lang->bug->isHistory;?></th>
<td class='w-p35-f'><?php echo html::select('isHistory', $lang->bug->isHistoryList, $bug->isHistory, "class='form-control' ");?></td>
</tr>
修改效果
修改zentaopms/module/bug/view/view.html.php
在合适位置插入以下代码
<tr>
<th><?php echo '历史遗留?'?></th>
<td><span class='<?php echo 'isHistory' . zget($lang->bug->isHistoryList, $bug->isHistory);?>'><?php echo zget($lang->bug->isHistoryList, $bug->isHistory)?></span></td>
</tr>
<tr>
<th><?php echo $lang->bug->channel;?></th>
<td><span class='<?php echo 'channel' . zget($lang->bug->channelList, $bug->channel);?>'><?php echo zget($lang->bug->channelList, $bug->channel)?></span></td>
</tr>
修改效果
作者:授客
微信/QQ:1033553122
全国软件测试QQ交流群:7156436
Git地址:https://gitee.com/ishouke
友情提示:限于时间仓促,文中可能存在错误,欢迎指正、评论!
作者五行缺钱,如果觉得文章对您有帮助,请扫描下边的二维码打赏作者,金额随意,您的支持将是我继续创作的源动力,打赏后如有任何疑问,请联系我!!!
微信打赏
支付宝打赏 全国软件测试交流QQ群
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· [翻译] 为什么 Tracebit 用 C# 开发
· 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
· RFID实践——.NET IoT程序读取高频RFID卡/标签