Catalog UI Policy does not hide Container when there are other UI Actions which mark variables as Mandatory.
Steps to Reproduce
- Navigate to "Maintain Items"
2. Create new item under Service Catalog - for example SMVM
3. Create new Variable set " Stream "
4. Create new variable under Stream
Name - Student_Stream
Type - Select Box.
Include None - selected
Choice - CE , IT
5. Create new variable set "Student Details"
6. Create 3 variables
a. Container Start - cont_student_details. " Mark "Display title" checkbox to True.
b. Single line text - student_name
c. Single line text - student_roll_no
d. Container end
7. Create Catalog UI Policy "Show Student details when Stream is Mechanic"
Conditions - Student_Stream is CE
UI Policy Actions
a. cont_student_details - Visible - True
b. student_name - Visible - True - Mandatory - True
c. student_roll_no - Visible - True - Mandatory - True
8. Go to service portal - Search for item - SMVM
expected - Container title should not be displayed.
actual- Container title is displayed even if Stream is None.
If you untick "Display title" checkbox on Container, Container title wont be displayed on loading Items page. but when you select any stream it does not display as well.
This is working as expected.
This priority order is also applicable for variable sets and containers. If a variable set or container has a mandatory variable without any value, then the container or variable set cannot be hidden.
Workaround is to use client script and mark variables as non mandatory and mark container hidden. This behaves correctly and hiding container when condition is not true.
Related Problem: PRB1298622