Clean API

This commit is contained in:
Laurent Destailleur 2021-04-25 19:21:48 +02:00
parent 5d0e93344b
commit 389b71bc7e
11 changed files with 109 additions and 21 deletions

View File

@ -328,6 +328,9 @@ class Proposals extends DolibarrApi
$request_data = (object) $request_data; $request_data = (object) $request_data;
$request_data->desc = checkVal($request_data->desc, 'restricthtml');
$request_data->label = checkVal($request_data->label);
$updateRes = $this->propal->addline( $updateRes = $this->propal->addline(
$request_data->desc, $request_data->desc,
$request_data->subprice, $request_data->subprice,
@ -337,8 +340,8 @@ class Proposals extends DolibarrApi
$request_data->localtax2_tx, $request_data->localtax2_tx,
$request_data->fk_product, $request_data->fk_product,
$request_data->remise_percent, $request_data->remise_percent,
'HT', $request_data->price_base_type ? $request_data->price_base_type : 'HT',
0, $request_data->subprice,
$request_data->info_bits, $request_data->info_bits,
$request_data->product_type, $request_data->product_type,
$request_data->rang, $request_data->rang,
@ -392,6 +395,9 @@ class Proposals extends DolibarrApi
$request_data = (object) $request_data; $request_data = (object) $request_data;
$request_data->desc = checkVal($request_data->desc, 'restricthtml');
$request_data->label = checkVal($request_data->label);
$propalline = new PropaleLigne($this->db); $propalline = new PropaleLigne($this->db);
$result = $propalline->fetch($lineid); $result = $propalline->fetch($lineid);
if ($result <= 0) { if ($result <= 0) {
@ -407,7 +413,7 @@ class Proposals extends DolibarrApi
isset($request_data->localtax1_tx) ? $request_data->localtax1_tx : $propalline->localtax1_tx, isset($request_data->localtax1_tx) ? $request_data->localtax1_tx : $propalline->localtax1_tx,
isset($request_data->localtax2_tx) ? $request_data->localtax2_tx : $propalline->localtax2_tx, isset($request_data->localtax2_tx) ? $request_data->localtax2_tx : $propalline->localtax2_tx,
isset($request_data->desc) ? $request_data->desc : $propalline->desc, isset($request_data->desc) ? $request_data->desc : $propalline->desc,
'HT', isset($request_data->price_base_type) ? $request_data->price_base_type : 'HT',
isset($request_data->info_bits) ? $request_data->info_bits : $propalline->info_bits, isset($request_data->info_bits) ? $request_data->info_bits : $propalline->info_bits,
isset($request_data->special_code) ? $request_data->special_code : $propalline->special_code, isset($request_data->special_code) ? $request_data->special_code : $propalline->special_code,
isset($request_data->fk_parent_line) ? $request_data->fk_parent_line : $propalline->fk_parent_line, isset($request_data->fk_parent_line) ? $request_data->fk_parent_line : $propalline->fk_parent_line,

View File

@ -331,7 +331,12 @@ class Orders extends DolibarrApi
if (!DolibarrApi::_checkAccessToResource('commande', $this->commande->id)) { if (!DolibarrApi::_checkAccessToResource('commande', $this->commande->id)) {
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
} }
$request_data = (object) $request_data; $request_data = (object) $request_data;
$request_data->desc = checkVal($request_data->desc, 'restricthtml');
$request_data->label = checkVal($request_data->label);
$updateRes = $this->commande->addline( $updateRes = $this->commande->addline(
$request_data->desc, $request_data->desc,
$request_data->subprice, $request_data->subprice,
@ -343,8 +348,8 @@ class Orders extends DolibarrApi
$request_data->remise_percent, $request_data->remise_percent,
$request_data->info_bits, $request_data->info_bits,
$request_data->fk_remise_except, $request_data->fk_remise_except,
'HT', $request_data->price_base_type ? $request_data->price_base_type : 'HT',
0, $request_data->subprice,
$request_data->date_start, $request_data->date_start,
$request_data->date_end, $request_data->date_end,
$request_data->product_type, $request_data->product_type,
@ -394,7 +399,12 @@ class Orders extends DolibarrApi
if (!DolibarrApi::_checkAccessToResource('commande', $this->commande->id)) { if (!DolibarrApi::_checkAccessToResource('commande', $this->commande->id)) {
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
} }
$request_data = (object) $request_data; $request_data = (object) $request_data;
$request_data->desc = checkVal($request_data->desc, 'restricthtml');
$request_data->label = checkVal($request_data->label);
$updateRes = $this->commande->updateline( $updateRes = $this->commande->updateline(
$lineid, $lineid,
$request_data->desc, $request_data->desc,
@ -404,7 +414,7 @@ class Orders extends DolibarrApi
$request_data->tva_tx, $request_data->tva_tx,
$request_data->localtax1_tx, $request_data->localtax1_tx,
$request_data->localtax2_tx, $request_data->localtax2_tx,
'HT', $request_data->price_base_type ? $request_data->price_base_type : 'HT',
$request_data->info_bits, $request_data->info_bits,
$request_data->date_start, $request_data->date_start,
$request_data->date_end, $request_data->date_end,

View File

@ -2397,9 +2397,9 @@ class Commande extends CommonOrder
} }
/** /**
* Applique une remise relative * Set a percentage discount
* *
* @param User $user User qui positionne la remise * @param User $user User setting the discount
* @param float $remise Discount (percent) * @param float $remise Discount (percent)
* @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @param int $notrigger 1=Does not execute triggers, 0= execute triggers
* @return int <0 if KO, >0 if OK * @return int <0 if KO, >0 if OK
@ -2458,7 +2458,7 @@ class Commande extends CommonOrder
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
/** /**
* Applique une remise absolue * Set a fixed amount discount
* *
* @param User $user User qui positionne la remise * @param User $user User qui positionne la remise
* @param float $remise Discount * @param float $remise Discount
@ -3156,7 +3156,9 @@ class Commande extends CommonOrder
$langs->load("errors"); $langs->load("errors");
$this->error = $langs->trans('ErrorStockIsNotEnoughToAddProductOnOrder', $product->ref); $this->error = $langs->trans('ErrorStockIsNotEnoughToAddProductOnOrder', $product->ref);
$this->errors[] = $this->error; $this->errors[] = $this->error;
dol_syslog(get_class($this)."::addline error=Product ".$product->ref.": ".$this->error, LOG_ERR); dol_syslog(get_class($this)."::addline error=Product ".$product->ref.": ".$this->error, LOG_ERR);
$this->db->rollback(); $this->db->rollback();
return self::STOCK_NOT_ENOUGH_FOR_ORDER; return self::STOCK_NOT_ENOUGH_FOR_ORDER;
} }

View File

@ -481,7 +481,7 @@ class BankAccounts extends DolibarrApi
* @param string $accountancycode Accountancy code {@from body} * @param string $accountancycode Accountancy code {@from body}
* @param int $datev Payment date value (timestamp) {@from body} {@type timestamp} * @param int $datev Payment date value (timestamp) {@from body} {@type timestamp}
* @param string $num_releve Bank statement numero {@from body} * @param string $num_releve Bank statement numero {@from body}
* @return int ID of line * @return int ID of line
* *
* @url POST {id}/lines * @url POST {id}/lines
*/ */
@ -497,6 +497,14 @@ class BankAccounts extends DolibarrApi
throw new RestException(404, 'account not found'); throw new RestException(404, 'account not found');
} }
$type = checkVal($type);
$label = checkVal($label);
$cheque_number = checkVal($cheque_number);
$cheque_writer = checkVal($cheque_writer);
$cheque_bank = checkVal($cheque_bank);
$accountancycode = checkVal($accountancycode);
$num_releve = checkVal($num_releve);
$result = $account->addline( $result = $account->addline(
$date, $date,
$type, $type,
@ -548,6 +556,10 @@ class BankAccounts extends DolibarrApi
throw new RestException(404, 'account line not found'); throw new RestException(404, 'account line not found');
} }
$url = checkVal($url);
$label = checkVal($label);
$type = checkVal($type);
$result = $account->add_url_line($line_id, $url_id, $url, $label, $type); $result = $account->add_url_line($line_id, $url_id, $url, $label, $type);
if ($result < 0) { if ($result < 0) {
throw new RestException(503, 'Error when adding link to account line: '.$account->error); throw new RestException(503, 'Error when adding link to account line: '.$account->error);

View File

@ -407,7 +407,12 @@ class Invoices extends DolibarrApi
if (!DolibarrApi::_checkAccessToResource('facture', $this->invoice->id)) { if (!DolibarrApi::_checkAccessToResource('facture', $this->invoice->id)) {
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
} }
$request_data = (object) $request_data; $request_data = (object) $request_data;
$request_data->desc = checkVal($request_data->desc, 'restricthtml');
$request_data->label = checkVal($request_data->label);
$updateRes = $this->invoice->updateline( $updateRes = $this->invoice->updateline(
$lineid, $lineid,
$request_data->desc, $request_data->desc,
@ -419,7 +424,7 @@ class Invoices extends DolibarrApi
$request_data->tva_tx, $request_data->tva_tx,
$request_data->localtax1_tx, $request_data->localtax1_tx,
$request_data->localtax2_tx, $request_data->localtax2_tx,
'HT', $request_data->price_base_type ? $request_data->price_base_type : 'HT',
$request_data->info_bits, $request_data->info_bits,
$request_data->product_type, $request_data->product_type,
$request_data->fk_parent_line, $request_data->fk_parent_line,
@ -694,6 +699,9 @@ class Invoices extends DolibarrApi
$request_data = (object) $request_data; $request_data = (object) $request_data;
$request_data->desc = checkVal($request_data->desc, 'restricthtml');
$request_data->label = checkVal($request_data->label);
// Reset fk_parent_line for no child products and special product // Reset fk_parent_line for no child products and special product
if (($request_data->product_type != 9 && empty($request_data->fk_parent_line)) || $request_data->product_type == 9) { if (($request_data->product_type != 9 && empty($request_data->fk_parent_line)) || $request_data->product_type == 9) {
$request_data->fk_parent_line = 0; $request_data->fk_parent_line = 0;
@ -717,8 +725,8 @@ class Invoices extends DolibarrApi
$request_data->fk_code_ventilation, $request_data->fk_code_ventilation,
$request_data->info_bits, $request_data->info_bits,
$request_data->fk_remise_except, $request_data->fk_remise_except,
'HT', $request_data->price_base_type ? $request_data->price_base_type : 'HT',
0, $request_data->subprice,
$request_data->product_type, $request_data->product_type,
$request_data->rang, $request_data->rang,
$request_data->special_code, $request_data->special_code,

View File

@ -274,7 +274,12 @@ class Contracts extends DolibarrApi
if (!DolibarrApi::_checkAccessToResource('contrat', $this->contract->id)) { if (!DolibarrApi::_checkAccessToResource('contrat', $this->contract->id)) {
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
} }
$request_data = (object) $request_data; $request_data = (object) $request_data;
$request_data->desc = checkVal($request_data->desc, 'restricthtml');
$request_data->price_base_type = checkVal($request_data->price_base_type);
$updateRes = $this->contract->addline( $updateRes = $this->contract->addline(
$request_data->desc, $request_data->desc,
$request_data->subprice, $request_data->subprice,
@ -286,7 +291,7 @@ class Contracts extends DolibarrApi
$request_data->remise_percent, $request_data->remise_percent,
$request_data->date_start, // date_start = date planned start, date ouverture = date_start_real $request_data->date_start, // date_start = date planned start, date ouverture = date_start_real
$request_data->date_end, // date_end = date planned end, date_cloture = date_end_real $request_data->date_end, // date_end = date planned end, date_cloture = date_end_real
$request_data->HT, $request_data->price_base_type ? $request_data->price_base_type : 'HT',
$request_data->subprice_excl_tax, $request_data->subprice_excl_tax,
$request_data->info_bits, $request_data->info_bits,
$request_data->fk_fournprice, $request_data->fk_fournprice,
@ -330,6 +335,9 @@ class Contracts extends DolibarrApi
$request_data = (object) $request_data; $request_data = (object) $request_data;
$request_data->desc = checkVal($request_data->desc, 'restricthtml');
$request_data->price_base_type = checkVal($request_data->price_base_type);
$updateRes = $this->contract->updateline( $updateRes = $this->contract->updateline(
$lineid, $lineid,
$request_data->desc, $request_data->desc,
@ -343,7 +351,7 @@ class Contracts extends DolibarrApi
$request_data->localtax2_tx, $request_data->localtax2_tx,
$request_data->date_ouverture, $request_data->date_ouverture,
$request_data->date_cloture, $request_data->date_cloture,
'HT', $request_data->price_base_type ? $request_data->price_base_type : 'HT',
$request_data->info_bits, $request_data->info_bits,
$request_data->fk_fourn_price, $request_data->fk_fourn_price,
$request_data->pa_ht, $request_data->pa_ht,
@ -426,8 +434,6 @@ class Contracts extends DolibarrApi
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
} }
// $request_data = (object) $request_data;
$updateRes = $this->contract->close_line(DolibarrApiAccess::$user, $lineid, $datestart, $comment); $updateRes = $this->contract->close_line(DolibarrApiAccess::$user, $lineid, $datestart, $comment);
if ($updateRes > 0) { if ($updateRes > 0) {

View File

@ -275,7 +275,12 @@ class Shipments extends DolibarrApi
if( ! DolibarrApi::_checkAccessToResource('expedition',$this->shipment->id)) { if( ! DolibarrApi::_checkAccessToResource('expedition',$this->shipment->id)) {
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
} }
$request_data = (object) $request_data; $request_data = (object) $request_data;
$request_data->desc = checkVal($request_data->desc, 'restricthtml');
$request_data->label = checkVal($request_data->label);
$updateRes = $this->shipment->addline( $updateRes = $this->shipment->addline(
$request_data->desc, $request_data->desc,
$request_data->subprice, $request_data->subprice,
@ -338,7 +343,12 @@ class Shipments extends DolibarrApi
if( ! DolibarrApi::_checkAccessToResource('expedition',$this->shipment->id)) { if( ! DolibarrApi::_checkAccessToResource('expedition',$this->shipment->id)) {
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
} }
$request_data = (object) $request_data; $request_data = (object) $request_data;
$request_data->desc = checkVal($request_data->desc, 'restricthtml');
$request_data->label = checkVal($request_data->label);
$updateRes = $this->shipment->updateline( $updateRes = $this->shipment->updateline(
$lineid, $lineid,
$request_data->desc, $request_data->desc,
@ -403,7 +413,6 @@ class Shipments extends DolibarrApi
// TODO Check the lineid $lineid is a line of ojbect // TODO Check the lineid $lineid is a line of ojbect
$request_data = (object) $request_data;
$updateRes = $this->shipment->deleteline(DolibarrApiAccess::$user, $lineid); $updateRes = $this->shipment->deleteline(DolibarrApiAccess::$user, $lineid);
if ($updateRes > 0) { if ($updateRes > 0) {
return $this->get($id); return $this->get($id);

View File

@ -247,7 +247,12 @@ class ExpenseReports extends DolibarrApi
if( ! DolibarrApi::_checkAccessToResource('expensereport',$this->expensereport->id)) { if( ! DolibarrApi::_checkAccessToResource('expensereport',$this->expensereport->id)) {
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
} }
$request_data = (object) $request_data;
$request_data = (object) $request_data;
$request_data->desc = checkVal($request_data->desc, 'restricthtml');
$request_data->label = checkVal($request_data->label);
$updateRes = $this->expensereport->addline( $updateRes = $this->expensereport->addline(
$request_data->desc, $request_data->desc,
$request_data->subprice, $request_data->subprice,
@ -310,7 +315,12 @@ class ExpenseReports extends DolibarrApi
if( ! DolibarrApi::_checkAccessToResource('expensereport',$this->expensereport->id)) { if( ! DolibarrApi::_checkAccessToResource('expensereport',$this->expensereport->id)) {
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
} }
$request_data = (object) $request_data; $request_data = (object) $request_data;
$request_data->desc = checkVal($request_data->desc, 'restricthtml');
$request_data->label = checkVal($request_data->label);
$updateRes = $this->expensereport->updateline( $updateRes = $this->expensereport->updateline(
$lineid, $lineid,
$request_data->desc, $request_data->desc,

View File

@ -546,8 +546,12 @@ class SupplierInvoices extends DolibarrApi
if (!DolibarrApi::_checkAccessToResource('fournisseur', $this->invoice->id, 'facture_fourn', 'facture')) { if (!DolibarrApi::_checkAccessToResource('fournisseur', $this->invoice->id, 'facture_fourn', 'facture')) {
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
} }
$request_data = (object) $request_data; $request_data = (object) $request_data;
$request_data->description = checkVal($request_data->description, 'restricthtml');
$request_data->ref_supplier = checkVal($request_data->ref_supplier);
$updateRes = $this->invoice->addline( $updateRes = $this->invoice->addline(
$request_data->description, $request_data->description,
$request_data->pu_ht, $request_data->pu_ht,
@ -561,7 +565,7 @@ class SupplierInvoices extends DolibarrApi
$request_data->date_end, $request_data->date_end,
$request_data->ventil, $request_data->ventil,
$request_data->info_bits, $request_data->info_bits,
'HT', $request_data->price_base_type ? $request_data->price_base_type : 'HT',
$request_data->product_type, $request_data->product_type,
$request_data->rang, $request_data->rang,
false, false,
@ -609,7 +613,12 @@ class SupplierInvoices extends DolibarrApi
if (!DolibarrApi::_checkAccessToResource('fournisseur', $this->invoice->id, 'facture_fourn', 'facture')) { if (!DolibarrApi::_checkAccessToResource('fournisseur', $this->invoice->id, 'facture_fourn', 'facture')) {
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
} }
$request_data = (object) $request_data; $request_data = (object) $request_data;
$request_data->description = checkVal($request_data->description, 'restricthtml');
$request_data->ref_supplier = checkVal($request_data->ref_supplier);
$updateRes = $this->invoice->updateline( $updateRes = $this->invoice->updateline(
$lineid, $lineid,
$request_data->description, $request_data->description,
@ -619,7 +628,7 @@ class SupplierInvoices extends DolibarrApi
$request_data->localtax2_tx, $request_data->localtax2_tx,
$request_data->qty, $request_data->qty,
$request_data->fk_product, $request_data->fk_product,
'HT', $request_data->price_base_type ? $request_data->price_base_type : 'HT',
$request_data->info_bits, $request_data->info_bits,
$request_data->product_type, $request_data->product_type,
$request_data->remise_percent, $request_data->remise_percent,

View File

@ -330,7 +330,11 @@ class Projects extends DolibarrApi
if( ! DolibarrApi::_checkAccessToResource('project',$this->project->id)) { if( ! DolibarrApi::_checkAccessToResource('project',$this->project->id)) {
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
} }
$request_data = (object) $request_data; $request_data = (object) $request_data;
$request_data->desc = checkVal($request_data->desc, 'restricthtml');
$updateRes = $this->project->addline( $updateRes = $this->project->addline(
$request_data->desc, $request_data->desc,
$request_data->subprice, $request_data->subprice,
@ -393,7 +397,11 @@ class Projects extends DolibarrApi
if( ! DolibarrApi::_checkAccessToResource('project',$this->project->id)) { if( ! DolibarrApi::_checkAccessToResource('project',$this->project->id)) {
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
} }
$request_data = (object) $request_data; $request_data = (object) $request_data;
$request_data->desc = checkVal($request_data->desc, 'restricthtml');
$updateRes = $this->project->updateline( $updateRes = $this->project->updateline(
$lineid, $lineid,
$request_data->desc, $request_data->desc,

View File

@ -330,7 +330,11 @@ class Tasks extends DolibarrApi
if( ! DolibarrApi::_checkAccessToResource('project',$this->project->id)) { if( ! DolibarrApi::_checkAccessToResource('project',$this->project->id)) {
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
} }
$request_data = (object) $request_data; $request_data = (object) $request_data;
$request_data->desc = checkVal($request_data->desc, 'restricthtml');
$updateRes = $this->project->addline( $updateRes = $this->project->addline(
$request_data->desc, $request_data->desc,
$request_data->subprice, $request_data->subprice,
@ -393,7 +397,11 @@ class Tasks extends DolibarrApi
if( ! DolibarrApi::_checkAccessToResource('project',$this->project->id)) { if( ! DolibarrApi::_checkAccessToResource('project',$this->project->id)) {
throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
} }
$request_data = (object) $request_data; $request_data = (object) $request_data;
$request_data->desc = checkVal($request_data->desc, 'restricthtml');
$updateRes = $this->project->updateline( $updateRes = $this->project->updateline(
$lineid, $lineid,
$request_data->desc, $request_data->desc,