Тип рабочего элемента TFS - доступ к полю на основе прав - PullRequest
2 голосов
/ 16 сентября 2011


У меня есть шаблон типа рабочего элемента, в котором я хочу назначить право изменить раскрывающийся список на значение по умолчанию как «Запрошенный» для нового элемента, и каждый может его увидеть и прочитать.Если пользователь входит в группу «[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>

1 Ответ

0 голосов
/ 19 сентября 2011

Это кажется тяжелым. Каково ваше точное намерение? Может быть, использование блока 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»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...