0

有没有办法根据用户角色阻止给定的更改?

例如,我不希望任何开发人员能够将工单状态从“开发”更改为“关闭”。我希望它通过“测试”,并允许“测试”仅对具有测试角色的用户“关闭”。

4

1 回答 1

5

这是对 Trac 工作流程的非常简单的调整。下面引用了添加可选测试的文档:

通过将以下内容添加到 trac.ini 的 [ticket-workflow] 部分,您可以获得可选测试。当工单处于 new、accepted 或 needs_work 状态时,您可以选择将其提交以进行测试。当它处于测试状态时,用户可以选择拒绝它并将其发送回 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

恕我直言,只需要求门票在通过之前通过测试就足够了。任何理性的开发人员都知道,他们不应该将工单从“测试”状态转移到“通过”状态,除非它通过了您所做的任何质量控制。而且由于他们的行为有历史记录,因此他们可能会因不当将门票标记为“通过”而受到指责。限制权限可能会妨碍(分散 trac 管理员的注意力)而不是帮助。

[注意:我必须删除所有指向文档 b/c 的超链接,但我的代表太低了。叹。]

于 2009-11-06T16:22:45.807 回答