Для объектов с жизненным циклом внутри тега <lifecycle>
расписаны статусы и флаги полей <flags>
для каждого статуса. Этими флагами (<read_only/>
,<hidden/>
и др.) задаётся поведение соответствующего поля в нужном статусе. Таким образом вам нужно для поля priority в статусе new установить флаг <hidden/>
. Что касается влияния, то тут нужно переопределить <default_value>
внутри <field id="impact">
. Чтобы переопределить существующий элемент модели данных, используется _delta="redefine"
. Весь код класса тянуть не нужно, достаточно только переопределяемых элементов и их родителей. Ниже пример модели данных вашего модуля.
<class id="UserRequest">
<fields>
<field id="impact" xsi:type="AttributeEnum">
<values>
<value id="1">1</value>
<value id="2">2</value>
<value id="3">3</value>
</values>
<sql>impact</sql>
<default_value _delta="redefine">3</default_value>
<is_null_allowed>false</is_null_allowed>
<display_style>list</display_style>
</field>
</fields>
<lifecycle>
<states>
<state id="new">
<flags>
<attribute id="priority" _delta="redefine">
<hidden/>
</attribute>
</flags>
</state>
</states>
</lifecycle>
</class>
Но и этот пример избыточен. Содержимое тега field можно было бы сократить:
...
<field id="impact" xsi:type="AttributeEnum">
<default_value _delta="redefine">3</default_value>
</field>
...