【bug反馈】扩展需求查看后,项目/执行中查看需求报Class story not found
上一篇写了个详细版的反馈帖子,结果在提交一瞬间发现被踢出登录了,再登录就全没了,破大防~
只能上个简单版的了:
环境:18.9 win zbox版
扩展:extension\custom\story\ext\control\view.php
内容:
<?php
class myStory extends story {
public function view($storyID, $version = 0, $param = 0, $storyType = 'story')
{
parent::view($storyID, $version, $param, $storyType);
}
}
复现方式:
添加插件后,在产品菜单中 点击需求列表查看需求,正常显示,查看需求的url:http://127.0.0.1/zentao/story-view-5-0--story.html#app=product
在项目中查看需求,报错,查看需求的url:http://127.0.0.1/zentao/projectstory-view-5-1.html
在执行的设计、开发等环节查看需求,报错,查看需求的url:http://127.0.0.1/zentao/e x e cution-storyView-5-3.html
查了下禅道的源码,发现后两个请求的control中通过fetch去进行跨模块的方法调用,因此怀疑是跨模块时,上下文中缺少story的定义
跟贵方技术人员沟通后也确认了,扩展的custom目录会先加载。
再次在testreport模块继续验证
添加extension\custom\testreport\ext\control\view.php,内容类似上面,只是extends testreport
无论是在项目菜单、执行菜单还是测试菜单中,从测试报告列表,点击查看测试报告,请求的url都是:http://127.0.0.1/zentao/testreport-view-1.html
也就是说符合扩展直接请求的规则,上下文不缺失。
所以,请问,需求查看的url是否能够都统一成类似于story-view-5-0--story.html这个地址进行查看,即需求列表的上级页面通过fetch进行跨模块的调用,但是列表中a标签的跳转地址保持一致。
或者,请解决扩展研发需求查看功能(story模块control中的view方法)在fetch跨模块调用时,能够保证上下文中story定义先于扩展文件加载?