Список участников для задачи
Данный скрипт вычисляет значение дополнительного поля типа User и выводит список пользователей, оставивших к задаче комментарии (или выполнивших любые операции над ней). Скрипт возвращает значение типа ArrayList<String>. Это значение можно использовать в фильтрах по задачам (например, выводить фильтром только те задачи, участником в которых является текущий пользователь.
Значение поля для разных пользователей может быть разным. Оно зависит от настроек видимости различных операций. Значение поля можно (и нужно) кешировать.
Ниже приложен исходный код скрипта и его скомпилированная версия.
package scripts.task_custom_field_value;
import com.trackstudio.exception.GranException;
import com.trackstudio.external.TaskUDFValueScript;
import com.trackstudio.secured.SecuredMessageBean;
import com.trackstudio.secured.SecuredTaskBean;
import java.util.ArrayList;
public class Participants implements TaskUDFValueScript {
public Object calculate(SecuredTaskBean securedTaskBean) throws GranException {
ArrayList<String> userIds = new ArrayList<String>();
ArrayList<SecuredMessageBean> messages = securedTaskBean.getMessages();
for (SecuredMessageBean m: messages){
if (!userIds.contains(m.getSubmitter().getLogin())) userIds.add(m.getSubmitter().getLogin());
}
return userIds;
}
}
| Attachment | Size |
|---|---|
| Participants.class | 1.61 KB |