Пример скрипта: запрещаем закрывать задачу, если...
Posted: Tue Nov 06, 2007 5:44 pm
Этот Add message / BEFORE триггер запрещает закрывать задачу, если на нее ссылаются (через кастом-поле типа Task) незакрытые задачи.
Пример условия: нельзя закрывать задачи, соответствующие исправлениям по багу, пока сам баг не закрыт:
Пример условия: нельзя закрывать задачи, соответствующие исправлениям по багу, пока сам баг не закрыт:
- Code: Select all
SecuredStatusBean ssb = AdapterManager.getInstance().getSecuredStepAdapterManager().getNextStatus(message.getSecure(),message.getTaskId(), message.getMstatusId());
if(ssb != null && ssb.isFinish()) {
Map refs = AdapterManager.getInstance().getSecuredIndexAdapterManager().getReferencedTasksForTask(sc, message.getTaskId());
for (Iterator it = refs.keySet().iterator(); it.hasNext(); ) {
SecuredUDFValueBean udf = (SecuredUDFValueBean)it.next();
HashSet hs = (HashSet)refs.get(udf);
for (Iterator internal = hs.iterator(); internal.hasNext();){
SecuredTaskBean bean = (SecuredTaskBean)internal.next();
if (bean.canView() && !bean.getId().equals(message.getTaskId()) && !bean.getStatus().isFinish()){
throw new UserMessageException("You can close feedback/bug/training only if all the related tasks are finished!");
}
}
}
}
return message;