Эскалация заявок при обновлении журнала


#1

Добрый день!

Делаем свой iTop до этого момента вроде все получалось где то своими силами, где то с помощью форума, но сейчас уперся в проблему.

Нужно сделать так чтобы когда Исполнитель заявки отвечал на запрос т.е. обновлял public_log в портале юзера эта заявка подсвечивалась цветом и поднималась в списке заявок, а после прочтения юзером флаг снимался и подсветка гасла.

Начал реализовывать.

Добавил новое поле в таблицу UserRequest “public_log_flag” дал ему 2 значения " yes" и “no”.
Далее добавил тригер на обновление журнал и дописал туда, при обновлении журнала public_log_flag = yes. Это работает.

Теперь пытаюсь найти обратную связь.
Нужно чтобы при открытии подсвеченной заявки подсветка убиралась примерно так, как это реализовано “вконтакте”. Но ни как не могу найти функцию которая отвечает за вызов формы просмотра тикета при нажатии на ссылку типа: “R-00000”, что бы добавить обратный сигнал public_log_flag = no. Перекопал гору кода, но все в пустую


#2

Сам спросил, сам нашел решение, но теперь другой вопрос, можно ли скопировать модуль datamodels/portal-base в extantions и сделать так чтобы скопированный модуль заменял стандартный. Нужно для того чтобы в дальнейшем была возможность менять css, возможно править что-то в коде и т.д.


#3

По пробую еще раз) может в этот раз у кого то найдется ответ). В исходниках нашел класс ObjectController, в котором есть функция EditAction, как я понял это она отвечает за вызов формы редактирования тикета через портал пользователя и если вставить туда код на снятие флага то все работает, но я не хочу править исходный код.

а, но не нашел как обратиться к порталу пользователя через модуль, чтобы не затрагивать исходники


#4

По пробую еще раз) может в этот раз у кого то найдется ответ).

Предыстория все та же. Пытаюсь реализовать выделение цветом заявок в которых был обновлен журнал. Для удобства пользователя. Чтобы в списке заявок можно было легко идентифицировать тикеты с ответом.

Добавил поле Public_log_flag сделал его логическим да - нет. Сделал условие поднятие флага в положение “да”. Реализовал условия выделения тикетов цветом если есть флаг “да”. Последним шагом осталось опустить флаг в положение “нет” в тот момент когда юзер с портала пользователя открывает данный тикет. Вот тут и зарыта собака, не могу разобраться, как сделать это правильно, не затрагивая исходный код.

Прочесывая исходники нашел класс ObjectController, в котором есть функция EditAction, как я понял это она отвечает за вызов формы редактирования тикета. Казалось бы, то что нужно, но не знаю, как обратиться к этой функции через модуль. Потом появилась идея сделать тригер, который отслеживал бы обращение к форме через портал пользователя. Но не знаю, как задать условие срабатывания тригера т.к ни в одном из интерфейсов не нашел подходящую функцию.

Помогите найти свет в конце этого кода )