【发布时间】:2016-06-03 08:53:49
【问题描述】:
已经创建了几种产品,并且许多产品报告了其中的错误。
每个 bugzilla 用户都应该能够访问所有产品。 我们有来自两个不同客户的用户。我们希望限制每个客户只能看到他们自己的错误,而不是来自开发人员或其他客户的错误。
为此,我为每个客户创建了一个组,但不知道如何处理组权限。
【问题讨论】:
标签: bugzilla
已经创建了几种产品,并且许多产品报告了其中的错误。
每个 bugzilla 用户都应该能够访问所有产品。 我们有来自两个不同客户的用户。我们希望限制每个客户只能看到他们自己的错误,而不是来自开发人员或其他客户的错误。
为此,我为每个客户创建了一个组,但不知道如何处理组权限。
【问题讨论】:
标签: bugzilla
如果您想锁定每个错误,以便只有报告它的特定人员以及您的开发人员可以看到它:
为您的开发人员创建一个组,用于指定可以查看所有错误的人员。然后在每个产品上,在“MemberControl”和“OtherControl”列中将该组设置为“Mandatory”,并确保未选中“条目”复选框。这将导致该产品中的所有新错误都被放入该组,无论谁提交它们。报告者将始终能够看到他们自己的错误,任何添加到该错误的抄送列表的人都可以看到,无论该错误属于哪个组。
如果您可以运行列出现有错误的查询,则可以执行“一次更改多个错误”选项以将现有错误添加到该组。
如果您打算允许该客户组中的任何人能够查看同一客户组中其他人提交的任何错误:
我怀疑这需要编写一个扩展程序来挂钩错误提交过程,以便在提交错误时自动分配当前用户的客户组(这实际上并不难,但确实涉及一些编码)。
然后,您的开发人员需要成为所有客户组的成员,您可以通过使开发人员组继承组编辑器中的客户组来自动执行此操作,并且您需要确保您的扩展程序不会添加您的开发人员提交的错误的客户群。
扩展编写文档位于 https://www.bugzilla.org/docs/4.4/en/html/api/Bugzilla/Extension.html,您可能希望为此挂钩 bug_end_of_create_validators。
【讨论】:
我想出了如何按照此链接中的说明完成此操作: https://groups.google.com/forum/#!topic/mozilla.support.bugzilla/ZA0twAkwo3k
需要由支持、客户 X 和客户 Y 提出的错误的产品 A。 客户 X 和支持人员发现客户 X 提出的错误 客户 Y 和支持人员发现客户 Y 提出的错误 支持只看到他们的错误。
解决方案: 有两个组 CusX-Support 和 CusY-Support 并按照组名称添加用户。 CusX-Support 中的客户 X 和支持 CusY-Support 中的客户 Y 和支持
在产品 A 的编辑组控件中具有以下权限集。
CusX-支持默认/不适用 客户支持默认/NA
之后,我必须从所有组中删除已经存在的错误,并将它们仅添加到我希望它们所属的公司组中。这样,该组中的所有用户最终也能够看到旧的错误。
【讨论】: