2009-11-06 4 views
0

Есть ли способ заблокировать данное изменение на основе роли пользователя?Блокировка рабочего процесса Trac

Например, я не хочу, чтобы какой-либо разработчик мог изменять статус билета из 'development' в 'closed'. Я хочу, чтобы он прошел «тест» и разрешил «тестировать» «закрыто» только пользователям с тестовой ролью.

ответ

5

Это довольно простая настройка для рабочего процесса Trac. Документация adding optional testing указана ниже:

Добавив следующие строки в [билет документооборота] раздел из trac.ini вы получите дополнительное тестирование. Когда билет находится в новом, принятом или need_work статусе, вы можете выбрать представить его для тестирования. Когда он находится в состоянии тестирования, пользователь получает опцию , чтобы отклонить ее и отправить ее обратно в need_work или пройти тестирование, а отправить его до закрытия. Если они принять это, он автоматически автоматически отмечены как закрытые и разрешение установлено на фиксированное. Поскольку все старые работы остается, билет может пропустить этот раздел .

testing = new,accepted,needs_work,assigned,reopened -> testing 
testing.name = Submit to reporter for testing 
testing.permissions = TICKET_MODIFY 

reject = testing -> needs_work 
reject.name = Failed testing, return to developer 

pass = testing -> closed 
pass.name = Passes Testing 
pass.operations = set_resolution 
pass.set_resolution = fixed 

Теперь все билеты должны пройти через «тестирование» состояние до «PASS» состояние.

Чтобы гарантировать, что только тестеров могут изменить билет с «тестирования» на «проход», создайте новое разрешение, называемое TICKET_PASS (администратор trac может сделать это в веб-интерфейсе), и добавьте следующее к вашему рабочему процессу раздел вашего trac.ini:

pass.permissions = TICKET_PASS

ИМХО, это достаточно просто требуют, чтобы билеты пройти тестирование, прежде чем они проходят. Любой разумный разработчик знает, что они не должны переводить билет из состояния «тестирования» в «передающее» состояние, если оно не передано каким-либо контролем качества. И поскольку есть история их действий, их можно обвинить в ненадлежащей маркировке билетов как «проход». Ограничение привилегий, вероятно, будет мешать (отвлекая администратора trac) больше, чем помогает.

[NB: Мне пришлось удалить все, кроме одного из гиперссылок, в документацию b/c, моя репутация слишком низкая. Sigh.]

+0

Именно то, что я хотел! Спасибо –

+0

Что касается вашего комментария «... создайте новое разрешение TICKET_PASS (администратор trac может сделать это в веб-интерфейсе) ...» Я не нашел способ создания пользовательского разрешения через web ui. Вы уверены, что это можно сделать? Если да, можете ли вы предоставить ссылку? trac.edgewall.org/wiki/TracPermissions – RjOllos

Смежные вопросы