Amend user-update operation to simplify options
[osm/osmclient.git] / osmclient / sol005 / user.py
index 74a7c59..296bd55 100644 (file)
@@ -84,7 +84,7 @@ class User(object):
         #            msg = resp
         #    raise ClientException("failed to create user {} - {}".format(name, msg))
 
-    def update(self, name, user, pwd_change=None):
+    def update(self, name, user, pwd_change=False):
         """Updates an existing OSM user identified by name"""
         self._logger.debug("")
         if pwd_change:
@@ -98,15 +98,12 @@ class User(object):
             "remove_project_role_mappings": [],
         }
 
-        if not user.get("change_password"):
-            # if password is defined, update the password
-            if user.get("password"):
-                update_user["password"] = user["password"]
-            if user.get("username"):
-                update_user["username"] = user["username"]
-        else:
-            update_user["old_password"] = user["change_password"]
+        if user.get("username"):
+            update_user["username"] = user["username"]
+        if user.get("new_password"):
             update_user["password"] = user["new_password"]
+        if pwd_change and user.get("current_password"):
+            update_user["old_password"] = user["current_password"]
 
         if user.get("set-project"):
             # Remove project and insert project role mapping