Fix several fixes in APIs
This commit is contained in:
parent
7ee64fc0d4
commit
93d16bf4d7
@ -280,14 +280,14 @@ class Proposals extends DolibarrApi
|
|||||||
$request_data->date_end,
|
$request_data->date_end,
|
||||||
$request_data->array_options,
|
$request_data->array_options,
|
||||||
$request_data->fk_unit,
|
$request_data->fk_unit,
|
||||||
$this->element,
|
$request_data->origin,
|
||||||
$request_data->id,
|
$request_data->origin_id,
|
||||||
$request_data->multicurrency_subprice,
|
$request_data->multicurrency_subprice,
|
||||||
$request_data->fk_remise_except
|
$request_data->fk_remise_except
|
||||||
);
|
);
|
||||||
|
|
||||||
if ($updateRes > 0) {
|
if ($updateRes > 0) {
|
||||||
return $this->get($id)->line->rowid;
|
return $updateRes;
|
||||||
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@ -590,6 +590,11 @@ class Propal extends CommonObject
|
|||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dol_syslog(get_class($this)."::addline status of order must be Draft to allow use of ->addline()", LOG_ERR);
|
||||||
|
return -3;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -52,9 +52,9 @@ class Orders extends DolibarrApi
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get properties of a commande object
|
* Get properties of an order object
|
||||||
*
|
*
|
||||||
* Return an array with commande informations
|
* Return an array with order informations
|
||||||
*
|
*
|
||||||
* @param int $id ID of order
|
* @param int $id ID of order
|
||||||
* @return array|mixed data without useless information
|
* @return array|mixed data without useless information
|
||||||
@ -176,7 +176,7 @@ class Orders extends DolibarrApi
|
|||||||
* Create order object
|
* Create order object
|
||||||
*
|
*
|
||||||
* @param array $request_data Request data
|
* @param array $request_data Request data
|
||||||
* @return int ID of commande
|
* @return int ID of order
|
||||||
*/
|
*/
|
||||||
function post($request_data = NULL)
|
function post($request_data = NULL)
|
||||||
{
|
{
|
||||||
@ -236,8 +236,8 @@ class Orders extends DolibarrApi
|
|||||||
/**
|
/**
|
||||||
* Add a line to given order
|
* Add a line to given order
|
||||||
*
|
*
|
||||||
* @param int $id Id of commande to update
|
* @param int $id Id of order to update
|
||||||
* @param array $request_data Orderline data
|
* @param array $request_data OrderLine data
|
||||||
*
|
*
|
||||||
* @url POST {id}/lines
|
* @url POST {id}/lines
|
||||||
*
|
*
|
||||||
@ -281,12 +281,13 @@ class Orders extends DolibarrApi
|
|||||||
$request_data->label,
|
$request_data->label,
|
||||||
$request_data->array_options,
|
$request_data->array_options,
|
||||||
$request_data->fk_unit,
|
$request_data->fk_unit,
|
||||||
$this->element,
|
$request_data->origin,
|
||||||
$request_data->id
|
$request_data->origin_id,
|
||||||
|
$request_data->multicurrency_subprice
|
||||||
);
|
);
|
||||||
|
|
||||||
if ($updateRes > 0) {
|
if ($updateRes > 0) {
|
||||||
return $this->get($id)->line->rowid;
|
return $updateRes;
|
||||||
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@ -295,9 +296,9 @@ class Orders extends DolibarrApi
|
|||||||
/**
|
/**
|
||||||
* Update a line to given order
|
* Update a line to given order
|
||||||
*
|
*
|
||||||
* @param int $id Id of commande to update
|
* @param int $id Id of order to update
|
||||||
* @param int $lineid Id of line to update
|
* @param int $lineid Id of line to update
|
||||||
* @param array $request_data Orderline data
|
* @param array $request_data OrderLine data
|
||||||
*
|
*
|
||||||
* @url PUT {id}/lines/{lineid}
|
* @url PUT {id}/lines/{lineid}
|
||||||
*
|
*
|
||||||
@ -310,7 +311,7 @@ class Orders extends DolibarrApi
|
|||||||
|
|
||||||
$result = $this->commande->fetch($id);
|
$result = $this->commande->fetch($id);
|
||||||
if( ! $result ) {
|
if( ! $result ) {
|
||||||
throw new RestException(404, 'Commande not found');
|
throw new RestException(404, 'Order not found');
|
||||||
}
|
}
|
||||||
|
|
||||||
if( ! DolibarrApi::_checkAccessToResource('commande',$this->commande->id)) {
|
if( ! DolibarrApi::_checkAccessToResource('commande',$this->commande->id)) {
|
||||||
@ -338,7 +339,8 @@ class Orders extends DolibarrApi
|
|||||||
$request_data->label,
|
$request_data->label,
|
||||||
$request_data->special_code,
|
$request_data->special_code,
|
||||||
$request_data->array_options,
|
$request_data->array_options,
|
||||||
$request_data->fk_unit
|
$request_data->fk_unit,
|
||||||
|
$request_data->multicurrency_subprice
|
||||||
);
|
);
|
||||||
|
|
||||||
if ($updateRes > 0) {
|
if ($updateRes > 0) {
|
||||||
@ -353,7 +355,7 @@ class Orders extends DolibarrApi
|
|||||||
* Delete a line to given order
|
* Delete a line to given order
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* @param int $id Id of commande to update
|
* @param int $id Id of order to update
|
||||||
* @param int $lineid Id of line to delete
|
* @param int $lineid Id of line to delete
|
||||||
*
|
*
|
||||||
* @url DELETE {id}/lines/{lineid}
|
* @url DELETE {id}/lines/{lineid}
|
||||||
|
|||||||
@ -1431,10 +1431,10 @@ class Commande extends CommonOrder
|
|||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dol_syslog(get_class($this)."::addline status of order must be Draft to allow use of ->addline()", LOG_ERR);
|
dol_syslog(get_class($this)."::addline status of order must be Draft to allow use of ->addline()", LOG_ERR);
|
||||||
return -3;
|
return -3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -210,6 +210,190 @@ class Invoices extends DolibarrApi
|
|||||||
return $this->invoice->id;
|
return $this->invoice->id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get lines of an invoice
|
||||||
|
*
|
||||||
|
* @param int $id Id of invoice
|
||||||
|
*
|
||||||
|
* @url GET {id}/lines
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
function getLines($id) {
|
||||||
|
if(! DolibarrApiAccess::$user->rights->facture->lire) {
|
||||||
|
throw new RestException(401);
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = $this->invoice->fetch($id);
|
||||||
|
if( ! $result ) {
|
||||||
|
throw new RestException(404, 'Invoice not found');
|
||||||
|
}
|
||||||
|
|
||||||
|
if( ! DolibarrApi::_checkAccessToResource('facture',$this->invoice->id)) {
|
||||||
|
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
|
||||||
|
}
|
||||||
|
$this->invoice->getLinesArray();
|
||||||
|
$result = array();
|
||||||
|
foreach ($this->invoice->lines as $line) {
|
||||||
|
array_push($result,$this->_cleanObjectDatas($line));
|
||||||
|
}
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a line to given order
|
||||||
|
*
|
||||||
|
* @param int $id Id of invoice to update
|
||||||
|
* @param array $request_data Orderline data
|
||||||
|
*
|
||||||
|
* @url POST {id}/lines
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
function postLine($id, $request_data = NULL) {
|
||||||
|
if(! DolibarrApiAccess::$user->rights->facture->creer) {
|
||||||
|
throw new RestException(401);
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = $this->invoice->fetch($id);
|
||||||
|
if( ! $result ) {
|
||||||
|
throw new RestException(404, 'Invoice not found');
|
||||||
|
}
|
||||||
|
|
||||||
|
if( ! DolibarrApi::_checkAccessToResource('facture',$this->invoice->id)) {
|
||||||
|
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
|
||||||
|
}
|
||||||
|
$request_data = (object) $request_data;
|
||||||
|
$updateRes = $this->invoice->addline(
|
||||||
|
$request_data->desc,
|
||||||
|
$request_data->subprice,
|
||||||
|
$request_data->qty,
|
||||||
|
$request_data->tva_tx,
|
||||||
|
$request_data->localtax1_tx,
|
||||||
|
$request_data->localtax2_tx,
|
||||||
|
$request_data->fk_product,
|
||||||
|
$request_data->remise_percent,
|
||||||
|
$request_data->date_start,
|
||||||
|
$request_data->date_end,
|
||||||
|
0,
|
||||||
|
$request_data->info_bits,
|
||||||
|
$request_data->fk_remise_except,
|
||||||
|
'HT',
|
||||||
|
0,
|
||||||
|
$request_data->product_type,
|
||||||
|
$request_data->rang,
|
||||||
|
$request_data->special_code,
|
||||||
|
$request_data->origin,
|
||||||
|
$request_data->origin_id,
|
||||||
|
$fk_parent_line,
|
||||||
|
$request_data->fk_fournprice,
|
||||||
|
$request_data->pa_ht,
|
||||||
|
$request_data->label,
|
||||||
|
$request_data->array_options,
|
||||||
|
$request_data->situation_percent,
|
||||||
|
$request_data->prev_id,
|
||||||
|
$request_data->fk_unit,
|
||||||
|
$request_data->multicurrency_subprice
|
||||||
|
);
|
||||||
|
|
||||||
|
if ($updateRes > 0) {
|
||||||
|
return $updateRes;
|
||||||
|
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update a line to given order
|
||||||
|
*
|
||||||
|
* @param int $id Id of invoice to update
|
||||||
|
* @param int $lineid Id of line to update
|
||||||
|
* @param array $request_data InvoiceLine data
|
||||||
|
*
|
||||||
|
* @url PUT {id}/lines/{lineid}
|
||||||
|
*
|
||||||
|
* @return object
|
||||||
|
*/
|
||||||
|
function putLine($id, $lineid, $request_data = NULL) {
|
||||||
|
if(! DolibarrApiAccess::$user->rights->facture->creer) {
|
||||||
|
throw new RestException(401);
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = $this->invoice->fetch($id);
|
||||||
|
if( ! $result ) {
|
||||||
|
throw new RestException(404, 'Invoice not found');
|
||||||
|
}
|
||||||
|
|
||||||
|
if( ! DolibarrApi::_checkAccessToResource('facture',$this->invoice->id)) {
|
||||||
|
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
|
||||||
|
}
|
||||||
|
$request_data = (object) $request_data;
|
||||||
|
$updateRes = $this->invoice->updateline(
|
||||||
|
$lineid,
|
||||||
|
$request_data->desc,
|
||||||
|
$request_data->subprice,
|
||||||
|
$request_data->qty,
|
||||||
|
$request_data->remise_percent,
|
||||||
|
$request_data->date_start,
|
||||||
|
$request_data->date_end,
|
||||||
|
$request_data->tva_tx,
|
||||||
|
$request_data->localtax1_tx,
|
||||||
|
$request_data->localtax2_tx,
|
||||||
|
'HT',
|
||||||
|
$request_data->info_bits,
|
||||||
|
$request_data->product_type,
|
||||||
|
$request_data->fk_parent_line,
|
||||||
|
0,
|
||||||
|
$request_data->fk_fournprice,
|
||||||
|
$request_data->pa_ht,
|
||||||
|
$request_data->label,
|
||||||
|
$request_data->special_code,
|
||||||
|
$request_data->array_options,
|
||||||
|
$request_data->situation_percent,
|
||||||
|
$request_data->fk_unit,
|
||||||
|
$request_data->multicurrency_subprice
|
||||||
|
);
|
||||||
|
|
||||||
|
if ($updateRes > 0) {
|
||||||
|
$result = $this->get($id);
|
||||||
|
unset($result->line);
|
||||||
|
return $this->_cleanObjectDatas($result);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete a line to given order
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @param int $id Id of invoice to update
|
||||||
|
* @param int $lineid Id of line to delete
|
||||||
|
*
|
||||||
|
* @url DELETE {id}/lines/{lineid}
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
function delLine($id, $lineid) {
|
||||||
|
if(! DolibarrApiAccess::$user->rights->facture->creer) {
|
||||||
|
throw new RestException(401);
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = $this->invoice->fetch($id);
|
||||||
|
if( ! $result ) {
|
||||||
|
throw new RestException(404, 'Invoice not found');
|
||||||
|
}
|
||||||
|
|
||||||
|
if( ! DolibarrApi::_checkAccessToResource('facture',$this->invoice->id)) {
|
||||||
|
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
|
||||||
|
}
|
||||||
|
$request_data = (object) $request_data;
|
||||||
|
$updateRes = $this->invoice->deleteline($lineid);
|
||||||
|
if ($updateRes > 0) {
|
||||||
|
return $this->get($id);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update invoice
|
* Update invoice
|
||||||
*
|
*
|
||||||
|
|||||||
@ -2638,6 +2638,11 @@ class Facture extends CommonInvoice
|
|||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dol_syslog(get_class($this)."::addline status of order must be Draft to allow use of ->addline()", LOG_ERR);
|
||||||
|
return -3;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user