Browse Source

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

Laurent Destailleur 6 years ago
parent
commit
7a7fd657ed
1 changed files with 14 additions and 3 deletions
  1. 14 3
      htdocs/user/class/api_users.class.php

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

@@ -217,11 +217,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);
 		}