Details
Description
Lookup table used:
<?xml version="1.0" encoding="UTF-8"?> <!-- (c) 2011-2019 Evolveum, All rights reserved --> <lookupTable xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://midpoint.evolveum.com/xml/ns/public/common/common-3" xmlns:c="http://midpoint.evolveum.com/xml/ns/public/common/common-3" xmlns:t="http://prism.evolveum.com/xml/ns/public/types-3" xmlns:q="http://prism.evolveum.com/xml/ns/public/query-3" oid="3db10c46-23b1-11e8-be0c-a31e9d8ba9d8"> <name>Employee Status</name> <row> <key>A</key> <label>Active Employee</label> </row> <row> <key>I</key> <label>Inactive Employee</label> </row> <row> <key>F</key> <label>Former employee</label> </row> </lookupTable>
(The lookup table is referenced in object template for my extension attribute "extension/empStatus" aka Employee Status.)
When I try to set a value for this attribute, which is outside lookup table, it cannot be saved ("The value of 'Employee Status' is not a valid String.") - this is OK.
But when I have user with already invalid value in extension/empStatus attribute, such user cannot be saved or even the user editor does not allow to switch to other tabs because "The value of 'Employee Status' is not a valid String".
I consider this as a regression as our lookup table implementation was "tolerate existing values on load, but don't allow to save them" and there is no change to that attribute done in GUI.