我有工作项类型模板,我想分配权限更改下拉列表
新项目的默认值为“请求”,每个人都可以查看和阅读它。
如果用户在“[TEAM FOUNDATION] \ Approvers”或“[TEAM FOUNDATION] \ Developers”组中,他们可以更改此项目。
我遇到问题,如果用户不在任何一个组中,它将失败并且空白显示禁用字段。 我如何定义这些权限?
我对字段的定义如下。
<FIELD name="Approval" refname="Approval" type="String" reportable="dimension">
<REQUIRED />
<DEFAULT from="value" value="Requested" />
<ALLOWEDVALUES>
<LISTITEM value="Approved" />
<LISTITEM value="Requested" />
<LISTITEM value="Rejected" />
</ALLOWEDVALUES>
<DEFAULT from="value" value="Requested" />
<READONLY not="[TEAM FOUNDATION]\Approvers" />
<READONLY not="[TEAM FOUNDATION]\Developers" />
<HELPTEXT>Shows whether the task has been approved by management.</HELPTEXT>
</FIELD>
答案 0 :(得分:0)
这看起来很重。你的确切意图是什么? 也许使用WHEN块或将限制分为基本限制(在字段定义中)和状态或转换级别的特殊限制将解决您的问题?
<FIELD name="Approval" refname="Approval" type="String" reportable="dimension">
<REQUIRED />
<DEFAULT from="value" value="Requested" />
<WHENNOT field="System.State" value="New">
<READONLY not="[TEAM FOUNDATION]\Developers"/>
<READONLY not="[TEAM FOUNDATION]\Approvers"/>
</WHENNOT>
<HELPTEXT>Shows whether the task has been approved by management.</HELPTEXT>
</FIELD>
或
<FIELD name="Approval" refname="Approval" type="String" reportable="dimension">
<REQUIRED />
<ALLOWEDVALUES>
<LISTITEM value="Approved" />
<LISTITEM value="Requested" />
<LISTITEM value="Rejected" />
</ALLOWEDVALUES>
<DEFAULT from="value" value="Requested" />
<HELPTEXT>Shows whether the task has been approved by management.</HELPTEXT>
</FIELD>
<TRANSITION from="" to="New">
<FIELDS>
<FIELD refname="Approval">
<READONLY not="[TEAM FOUNDATION]\Developers"/>
<READONLY not="[TEAM FOUNDATION]\Approvers"/>
</FIELD>
</TRANSITION>
顺便说一下:你应该用一个完整的“命名空间”来引用你的字段,例如: “My.Company.TfsFields.Common.Approval”或“My.Company.TfsFields.Bugs.IsRegression”