忘修正开源版中的一些bug
在禅道的使用过程中,发现好几个bug,影响了好几个版本,至今未修正,特此指出,望修改之。
由于本人非php程序员,解决方案可能不是很地道,望斟酌并指出。
1. 查看需求时,关联的测试用例,若测试用例已删除,加删除线
1) zentao\module\story\control.php
line 363,修改
$cases = $this->dao->select('id,title,deleted')
2) zentao\module\story\view\view.html.php
line 216,修改
foreach($cases as $case){
if($case->deleted){
echo '<span class="deleted">';
}else{
echo '<span class="nobr">';
}
echo html::a($this->createLink('testcase', 'view',"caseID=$case->id"), "#$case->id $case->title") . '</span><br />';
}
2. 编辑版本时,关联的bug和需求勾选上有bug,不应该使用strops函数
1) zentao\module\build\control.php
line192,添加方法
public function isIdIn($idString, $id){
$ids = explode(',', $idString);
foreach ($ids as $tempId){
if($id == $tempId){
return true;
}
}
return false;
}
2) zentao\module\build\view\edit.html.php
line 70、104修改
if(strops
为
if($this->isIdIn
3. 版本编辑时,checkbox的功能异常,只能选第一个,jqery的选择器有问题
1) zentao\module\build\view\edit.html.php(creat页面做相应改动)
line 55 修改
story
为
stories
line 90 修改
bug
为
bugs
2) \zentao\lib\front\front.class.php
line 249 修改
$('#' + scope + ' input').each(function()
为
$('input[name^=' + scope + ']').each(function()
@flyingfish235,再次谢谢反馈。对于你反应的三个问题:
1、代码改为:$this->dao->select('id,title')->from(TABLE_CASE)->where('story')->eq($storyID)->andWhere('deleted')->eq(0)->fetchAll();
理由:设计如此,已经删除的用例/bug在需求的查看页面不予显示。
2、代码改为:<?php if(strpos(',' . $build->stories . ',', ',' . $story->id . ',') !== false) echo 'checked';?>
理由:对于判断id是否在字符串,id1,id2,id3,中,禅道的判断方式一般将id改为,id,再调用strpos进行匹配判断。
3、对于build编辑页面不能全选需求和bug的问题:我这边不能重现,请@flyingfish235重现一下该bug出现的具体环境,再次谢谢。
如果@flyingfish235有意,禅道邀请您加禅道合作qq1492153927,相互学习,一起把禅道做的更好!
1.没问题
2.在build里面stroies和bugs字段中,存的最后一个id,后面是没有逗号的,是否有考虑
3.我这两个版本都有这个问题,等最新版出来,我再试试看吧
2.<?php if(strpos(',' . $build->stories . ',', ',' . $story->id . ',') !== false) echo 'checked';?>这句话已经将逗号考虑进来了。
3.什么版本?

石洋洋


精品资料包
1V1产品演示
免费试用增强功能
专属顾问答疑支持


