If we have a multi value complex syntax, which includes not just string, but also boolean, the MultiInput is rendered with TextBox and CheckBox. If you have, say, one actual (complex) value on the object and you want to change this one value, UMC will send two values: The actual value and an empty one. Why? Because out of convenience, we always render one more widget group per multi value attribute. And this second, empty widget group is used. Normally, we filter empty values out of the request. But the CheckBox value does not evaluate to false. Because only an empty string is considered "empty".
Workaround: Remove this second widget group before saving. But this needs to be done every time you want to edit this attribute.
univention-web.yaml 37e5a156ee64 | Bug #58129: YAML univention-web (4.0.10-3) 704eb06dbf61 | Bug #58129: Fix for MultiInput not evaluating CheckBox subwidgets to false
OK: advisory OK: 5.2-1, 5.0-10 OK: saving empty multiInput complex syntax values that contain booleans no longer causes errors (tested in the UMC user module with the oxDeputyPermissions extended attribute from ox-connector 2.3.0)
<https://errata.software-univention.de/#/?erratum=5.0x1239>