Описание подкатегории услуги при создании тикета на новом портале


#1

Коллеги, добрый день!
Подскажите, что подпилить, чтобы при создании тикета, при выборе подкатегории услуги, под ней (ну или где-то на глазах) выводилось описание этой самой подкатегории?
Заранее спасибо.


#2

Добрый день, @Veter111!
Нужно добавить в тикет новое поле servicesubcategory_description типа AttributeExternalField, которое будет выбирать значение атрибута description из подкатегории по servicesubcategory_id.


#3

Блин, не заметил, что речь о портале.


#4

Затем нужно переопределить форму создания тикета. Исходная форма лежит в datamodel.itop-tickets.xml в module_design#itop-portal > forms > form#ticket-create > twig. Нужно как обычно “отпочковать” изменяемый кусок в свой модуль и сделать _redefine, добавив в нужное место вывод своего нового поля;
<div class="form_field" data-field-id="servicesubcategory_description" data-field-flags="read_only">.
Как-то так.


#5

Владимир, добрый день!
Не получилось.
Собственно добавил новое поле:

<field id="servicesubcategory_description" xsi:type="AttributeExternalField">
<extkey_attcode>servicesubcategory_id</extkey_attcode>
<target_attcode>description</target_attcode>
</field>

После этого toolkit начал ругаться:

An error occured while processing the PHP files of the data model:
Unknown attribute servicesubcategory_id from class Ticket
Check the PHP files describing the data model before running the toolkit again !

Может я чего не того накрутил?


#6

Посмотрел повнимательнее - для начала надо создать AttributeExternalKey, а уж потом AttributeExternalField.
Поковыряюсь еще на эту тему ))


#7

AttributeExternalKey уже есть, это поле servicesubcategory_id. AttributeExternalField нужно добавлять в той же модели, где объявлен AttributeExternalKey. В вашем случае это скорее всего UserRequest.


#8

Владимир, добрый день!
Добавил в класс UserRequest - все скомпилилось и выводится.
Только в выводе появляются непонятно откуда <div></div> в виде текста и остаются и после вывода описания, описание заключено в них, но это детали ))
Думаю, где побороть этот я найду.
Спасибо огромное!


#9

:+1:

Да, есть такой баг. Обязательно отпишитесь о решении!


#10

Добрый день!
В дебри кода не полез, но решение нашел:
в файле - ./sources/renderer/bootstrap/fieldrenderer/bssimplefieldrenderer.class.inc.php строка 208
меняем true на false
Лишние текстовые div пропадают ))