Affects Version/s: 3.1 (Sinan)
Fix Version/s: 3.1.1
Scenario: I have a metarole, which is automatically assigned to roles of certain roleType. The role contains focus mapping (1) and when assigned to the user, user attribute is set to TRUE. When the role is unassigned, I want the attribute to be set to FALSE, which is done by using weak mapping in object template (because unassigning the role would set it to null).
Also this attribute is being provisioned to LDAP. So I want to assign role, which sets the attribute to TRUE and provisions to LDAP as TRUE value. When removing role, I want the attribute to be FALSE in midPoint User and also in resource (LDAP).
Setting to TRUE works, setting to FALSE does NOT work. I.e. unassigning the role will set the user attribute to FALSE (in weak mapping in object template), but the attribute will be removed from LDAP account, I suppose because the value was set to null meanwhile.
This might be some kind of ordering/dependency of mappings between role focus mapping, user template and schema handling ...
1. role has following mapping:
2. user template has the following mapping:
3. resource schema handling has simple mapping: