Better error management on API delete

This commit is contained in:
Laurent Destailleur 2022-11-26 00:22:01 +01:00
parent eb2fada50f
commit 0165c6d490
2 changed files with 4 additions and 2 deletions

View File

@ -9489,7 +9489,7 @@ abstract class CommonObject
* @param User $user User that deletes * @param User $user User that deletes
* @param bool $notrigger false=launch triggers after, true=disable triggers * @param bool $notrigger false=launch triggers after, true=disable triggers
* @param int $forcechilddeletion 0=no, 1=Force deletion of children * @param int $forcechilddeletion 0=no, 1=Force deletion of children
* @return int <=0 if KO, 0=Nothing done because object has child, >0 if OK * @return int <0 if KO, 0=Nothing done because object has child, >0 if OK
*/ */
public function deleteCommon(User $user, $notrigger = false, $forcechilddeletion = 0) public function deleteCommon(User $user, $notrigger = false, $forcechilddeletion = 0)
{ {

View File

@ -293,7 +293,9 @@ class MyModuleApi extends DolibarrApi
throw new RestException(401, 'Access to instance id='.$this->myobject->id.' of object not allowed for login '.DolibarrApiAccess::$user->login); throw new RestException(401, 'Access to instance id='.$this->myobject->id.' of object not allowed for login '.DolibarrApiAccess::$user->login);
} }
if (!$this->myobject->delete(DolibarrApiAccess::$user)) { if ($this->myobject->delete(DolibarrApiAccess::$user) == 0) {
throw new RestException(409, 'Error when deleting MyObject : '.$this->myobject->error);
} elseif ($this->myobject->delete(DolibarrApiAccess::$user) < 0) {
throw new RestException(500, 'Error when deleting MyObject : '.$this->myobject->error); throw new RestException(500, 'Error when deleting MyObject : '.$this->myobject->error);
} }