Возможность выбора даты и времени при переводе запроса в статус Решен

Удобный виджет выбора даты и времени тут не поможет, тем более в айтопе уже и так есть аналогичный виджет (хотя и не такой красивый).

Задача делится на две:

  1. показать поле Дата решения (я так понял, его хотите заполнять руками) на форме перевода в Решенный;
  2. отключить автоматическое заполнение поля датой фактического перевода в Решен.

Для решения потребуется минимальная доработка XML-модели (разумеется, в собственном отдельном модуле, а не в исходном datamodel-файле).

Первый пункт решается переопределением (_delta="redefine") флагов для атрибута resolution_date в статусе resolved. Изначально там только read_only, нужно добавить must_prompt и mandatory. Путь до переопределяемого узла: itop_design>classes>class#UserRequest>lifecycle>states>state#resolved>flags>attribute#resolution_date.

<attribute id="resolution_date" _delta="redefine">
	<mandatory/>
	<must_prompt/>
	<read_only/>
</attribute>

Для решения второго пункта нужно удалить из списка действий перехода ev_resolve статуса assigned действие SetCurrentDate.


Но у узлов action не заданы id, поэтому удалить (_delta="delete") конкретный узел нельзя. Придется переопределять весь узел actions, оставив там только нужные action. Путь до переопределяемого узла: itop_design>classes>class#UserRequest>lifecycle>states>state#assigned>transitions>transition#ev_resolve>actions.

Поле resolution_date продолжит заполняться текущей датой при автоматическом решении тикета (ev_autoresolve), которое срабатывает для дочерних при решении родительского. Подумайте, может имеет смысл добавить отдельное поле для указания нужный даты, оставив заполнение resolution_date автоматическим.