Merge pull request #7582 from Oeris/develop-api

NEW Delete a line of invoice using the REST API
This commit is contained in:
Laurent Destailleur 2017-10-07 13:29:04 +02:00 committed by GitHub
commit 04d110220c

View File

@ -305,6 +305,56 @@ class Invoices extends DolibarrApi
}
return $result;
}
/**
* Deletes a line of a given invoice
*
* @param int $id Id of invoice
* @param int $lineid Id of the line to delete
*
* @url DELETE {id}/deleteline/{lineid}
*
* @return array
* @throws 304
* @throws 400
* @throws 401
* @throws 404
*/
function deleteLine($id, $lineid) {
if(! DolibarrApiAccess::$user->rights->facture->creer) {
throw new RestException(401);
}
if(empty($lineid)) {
throw new RestException(400, 'Line ID is mandatory');
}
if( ! DolibarrApi::_checkAccessToResource('facture',$id)) {
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
}
$result = $this->invoice->fetch($id);
if( ! $result ) {
throw new RestException(404, 'Invoice not found');
}
$result = $this->invoice->deleteline($lineid);
if( $result < 0) {
throw new RestException(304);
}
$result = $this->invoice->fetch($id);
$this->invoice->getLinesArray();
$result = array();
foreach ($this->invoice->lines as $line) {
array_push($result,$this->_cleanObjectDatas($line));
}
return $result;
}
/**
* Add a line to a given invoice
@ -314,7 +364,7 @@ class Invoices extends DolibarrApi
* @param int $id Id of invoice
* @param array $request_data Invoiceline data
*
* @url POST {id}/lines
* @url POST {id}/addline
*
* @return int
*/