浏览代码

Merge branch '7.0' of git@github.com:Dolibarr/dolibarr.git into 8.0

Laurent Destailleur 6 年之前
父节点
当前提交
a78db45178
共有 1 个文件被更改,包括 14 次插入3 次删除
  1. 14 3
      htdocs/user/class/api_users.class.php

+ 14 - 3
htdocs/user/class/api_users.class.php

@@ -212,11 +212,22 @@ class Users extends DolibarrApi
 
 		foreach ($request_data as $field => $value)
 		{
-            if ($field == 'id') continue;
-		    $this->useraccount->$field = $value;
+			if ($field == 'id') continue;
+			// The status must be updated using setstatus() because it
+			// is not handled by the update() method.
+			if ($field == 'statut') {
+				$result = $this->useraccount->setstatus($value);
+				if ($result < 0) {
+				   throw new RestException(500, 'Error when updating status of user: '.$this->useraccount->error);
+				}
+			} else {
+			   $this->useraccount->$field = $value;
+			}
 		}
 
-		if ($this->useraccount->update(DolibarrApiAccess::$user) > 0)
+		// If there is no error, update() returns the number of affected
+		// rows so if the update is a no op, the return value is zezo.
+		if ($this->useraccount->update(DolibarrApiAccess::$user) >= 0)
 		{
 			return $this->get($id);
 		}