2


我有工作项类型模板,我想在其中分配将下拉列表更改为默认值的权限,即新项目的“已请求”,每个人都可以看到和阅读它。如果用户在组“[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>
4

1 回答 1

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”

于 2011-09-19T16:00:23.997 回答