zentaopms
zentaopms copied to clipboard
禅道18.7开源版-文档模块中的文档动态未遵循后台权限文档可查看动态设置
系统管理员 设置 “后台” -> "人员管理" -> "权限" -> 选中某一角色设置“视野维护",取消所有”可查看动态“,包括”文档“部分,但相应角色登录后,"文档"主页中,”文档动态“仍显示相关动态信息,但其他页面其动态都已正常显示"暂无数据"。
附图1 - 文档的动态设置被关闭
附图2 - 仍显示文档动态
附图3 - 首页最新动态正常不显示数据
简单全文搜索,发现doc模块有自定义getDynamic方法实现: https://github.com/easysoft/zentaopms/blob/ed31bffa6cf58e9b0d27b067c523b23051ef2413/module/doc/model.php#L3422-L3444
而其他模块都使用了action模块提供的getDynamic方法实现,该方法实现中处理了权限中动态可视范围的处理: https://github.com/easysoft/zentaopms/blob/ed31bffa6cf58e9b0d27b067c523b23051ef2413/module/action/model.php#L1055
如首页的调用: https://github.com/easysoft/zentaopms/blob/ed31bffa6cf58e9b0d27b067c523b23051ef2413/module/my/control.php#L1616
问题修改应该要在文档动态查询中使用公共方法,或者自行处理权限控制。
内部反馈:PMS-4183