- mapping_to_remove = {"project": project, "role": role}
- update_user["project_role_mappings"] = [mapping for mapping
- in update_user["project_role_mappings"]
- if mapping != mapping_to_remove]
-
- if not user["password"] and not user["set-project"] and not user["remove-project"] \
- and not user["add-project-role"] and not user["remove-project-role"]:
- raise ClientException("At least one parameter should be defined.")
+ mapping = {"project": project, "role": role}
+ update_user["remove_project_role_mappings"].append(mapping)
+
+ if not update_user["remove_project_role_mappings"]:
+ del update_user["remove_project_role_mappings"]
+ if not update_user["add_project_role_mappings"]:
+ del update_user["add_project_role_mappings"]
+ if not update_user:
+ raise ClientException("At least something should be changed.")