2011-06-07 50 views
0

在团队项目中,我创建了一个名为“LimitedAccess”的组,并向其中添加了几个用户。我现在需要给这个组权限
1)添加一个bug并将其分配给默认的'assignedTo'用户,即用户不能选择分配给谁。但是,用户应该能够设置其他字段,例如优先等 2)只修改现有bug的描述。其余的字段应该是只读的。
这可能吗?看起来像是读取或写入,但没有字段级别的权限。谢谢。TFS 2010中的字段级权限

我修改了工作项类型工作流(第三个选项卡) - 双击第一个转换,即在bug变为活动状态之前,添加了我想要限制的字段('AssignedTo')。 我在'LimitedAccess'组,ALLOWEDVALUES,READONLY和DEFAULT这个字段中添加了3条规则。 保存时,该字段为只读(灰显),但没有默认值。 下面是xml。我使用转换,因为当bug已经被提出时,不同的规则将被应用。

[来自= “” 为= “活性过渡”]
[理由]
[原因值= “建立失败”/]
[DEFAULTREASON值= “新”/]
[/理由]
[田]
[领域refname = “Microsoft.VSTS.Common.ActivatedBy”]
[ALLOWEXISTINGVALUE /]
[COPY从= “当前用户”/]
[VALIDUSER /]
[REQUIRED /]
[/ FIELD]
[领域refname = “Microsoft.VSTS.Common.ActivatedDate”]
[来自= “时钟” SERVERDEFAULT /]
[/ FIELD]
[领域refname = “System.AssignedTo” ]
[READONLY用于= “[项目] \ LimitedAccess” 从= “值” 的值/]
[默认为= “[项目] \ LimitedAccess”= “QA”/]
[ALLOWEDVALUES用于=“[工程] \ LimitedAccess“expanditems =”false“]
[LISTITEM value =”[project] \ QA“/]
[LISTITEM value =”[project] \ DEV“/]
[列表项的值= “[项目] \ OTHERS”/]
[/ ALLOWEDVALUES]
[/ FIELD]
[/ FIELDS]
[/转换]

+0

你好,你发现如何做到这一点?我有完全相同的要求... – cpoDesign 2011-09-19 07:48:38

回答

1

如果打开工作项目模板使用随TFS电动工具包一起安装的工作项模板编辑器,您将看到工作项类型中使用的字段列表。

双击字段时会打开一个“字段定义”窗口,其中有一个“规则”选项卡,允许您为单个字段定义规则。对于每个规则定义,您可以定义规则是“谁”以及规则是“不是”的人。

我相信你可以使用DEFAULT和READONLY规则来构建像你上面解释的流程。

以下是有关规则的文档页面的链接。
http://msdn.microsoft.com/en-us/library/ms194953.aspx

+0

感谢您带领我朝着正确的方向前进。但是,使用DEFAULT和READONLY(以及下拉的ALLOWEDVALUES)规则会引发一个问题 - 默认值不可见。我究竟做错了什么? – Redzon 2011-06-09 13:18:48

+0

我不知道什么是错,但它有望工作。你可以在这里给这个领域的XML定义,所以我们可以看看? (包括规则) – 2011-06-10 05:58:49

+0

扩大我的问题,包括XML(阅读[作为< and ] as >)。 – Redzon 2011-06-13 14:01:31

0

我能够通过这个限制,但解决方案似乎hacky。如果其他人有更好的主意,我很感兴趣。但是,因为这个问题已经过了一年半了,所以我怀疑它。我所做的是在该领域放置了6条规则。第一个是我的管理员组在NOT组中的允许值(1值,我的默认值)。第二个是默认值(与规则1相同的值)。第三是Allowed值与我的管理员组在FOR中,这具有可能值的真实列表,而不仅仅是默认值。第四条规则与我的管理员组在NOT字段中冻结。我的第五条规则是AllowExistingValue(因为如果我的管理员组将其设置为其他值不可用的值之一,则常规用户需要使用由Admin设置的值保存该值)。最后,我的第6条规则是必需的,这是因为Frozen将允许用户将值清空但不能更改它,通过设置所需的值,我们消除了空白。请告诉我,即使此字段当前只读给当前用户,但有人还是有一个更好的方法来获取默认值以保存。