有没有办法根据用户角色阻止给定的更改?
例如,我不希望任何开发人员能够将票证状态从“开发”更改为“已关闭”。我希望它通过'test',并允许'test'仅对具有测试角色的用户'关闭'。
答案 0 :(得分:5)
这是对Trac Workflow的非常简单的调整。 adding optional testing的文档引用如下:
将以下内容添加到您的 trac.ini的[ticket-workflow]部分 你得到可选的测试。当。。。的时候 机票是新的,接受的或 您可以选择的need_work状态 提交它进行测试。当它在 用户获得的测试状态 拒绝并将其发回的选项 to needs_work,或通过测试和 把它发送到关闭。如果他们 接受它然后自动获得 标记为已关闭且分辨率为 设置为固定。所有的旧工作 流量仍然存在,票可以跳过这个 整个部分。
testing = new,accepted,needs_work,assigned,reopened -> testing
testing.name = Submit to reporter for testing
testing.permissions = TICKET_MODIFY
reject = testing -> needs_work
reject.name = Failed testing, return to developer
pass = testing -> closed
pass.name = Passes Testing
pass.operations = set_resolution
pass.set_resolution = fixed
现在所有门票必须在“通过”状态之前经过“测试”状态。
要确保只有某些测试人员可以将故障单从“测试”更改为“通过”,请创建一个名为TICKET_PASS的新权限(trac管理员可以在Web UI中执行此操作),并将以下内容添加到工作流程部分你的trac.ini:
pass.permissions = TICKET_PASS
[注意:我必须删除除文档之外的所有超链接b / c我的代表太低了。叹息。]