Рабочие элементы TFS: пользователь в поле «Назначено» является единственным пользователем, который может обновить этот рабочий элемент - PullRequest
1 голос
/ 19 декабря 2010

Я создаю свой собственный шаблон процесса с помощью редактора процессов в Visual Studio 2010 & TFS 2010.

Я хочу изменить определение типа рабочего элемента, чтобы выполнить одно из следующих действий:

  • Рабочий элемент может обновляться только назначенным ему пользователем (пользователем в поле «System.AssignedTo»). Другие пользователи не должны изменять рабочий элемент.
  • Поле состояния рабочего элемента "System.State" может быть изменено только этим назначенным пользователем рабочим элементом.

Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 21 февраля 2011

Кажется, что оба ваших вопроса - это один и тот же вопрос: Как ограничить возможность изменения рабочего элемента или определенных полей в рабочем элементе для всех пользователей, кроме того, которому рабочий элемент является «Назначен» ??

У меня есть решение для вас, но оно не будет работать в MTM, только в visual studio.

1) Вы создаете простой пользовательский элемент управления рабочим элементом (примеры здесь - http://witcustomcontrols.codeplex.com/) без пользовательского интерфейса.

2) В элементе управления вы переопределяете метод FlushToDatasource и код в своем условии для сохранения рабочего элемента, например, - является ли текущий пользователь таким же, как пользователь «Назначено»?

3) Если ваше состояние не установлено, выведите исключение при правильном массаже. «У вас нет разрешения на сохранение \ изменение рабочего элемента»

  • Чтобы получить текущего пользователя: _workItem.Project.Store.TeamProjectCollection.AuthorizedIdentity.DisplayName;

  • Чтобы получить назначенное пользователю: _workItem.Fields [ "System.AssignedTo"] Value.ToString ();..

Удачи! :)

0 голосов
/ 23 февраля 2011

Я постараюсь опубликовать в своем блоге в ближайшие несколько дней правильный и полный процесс создания веб-элемента управления. Я обязательно включу это в сообщение после того, как проверю.

В любом случае, если мне придется угадывать, я скажу, что это будет возможно таким же образом ИЛИ с простым «возвратом»; ИЛИ с Response.clear (); + Response.write ("alert ('No permissions')"); + Response.Flush ();

НЕ УВЕРЕН О СИНТЕКСТЕ, ЕЩЕ НЕ ПРОВЕРИТЬ.

Надеюсь, я помог, я вышлю вам полный пост через несколько дней. :)

Удачи! :)

...