2
0
forked from Wavyzz/dolibarr

fix: use CONST of TYPE of CommonInvoice rather than hard coded value

This commit is contained in:
Florian HENRY
2023-06-01 11:49:56 +02:00
parent 7be8ea782d
commit 9861b50ede

View File

@@ -366,13 +366,14 @@ class DiscountAbsolute
$sql .= " AND fk_invoice_supplier IS NULL)"; // Not used as credit note and not used as deposit
dol_syslog(get_class($this)."::delete Delete discount", LOG_DEBUG);
require_once DOL_DOCUMENT_ROOT. '/core/class/commoninvoice.class.php';
$result = $this->db->query($sql);
if ($result) {
// If source of discount was a credit note or deposit, we change source statut.
if ($this->fk_facture_source) {
$sql = "UPDATE ".$this->db->prefix()."facture";
$sql .= " set paye=0, fk_statut=1";
$sql .= " WHERE (type = 2 or type = 3) AND rowid = ".((int) $this->fk_facture_source);
$sql .= " WHERE (type IN (".$this->db->sanitize(CommonInvoice::TYPE_CREDIT_NOTE.", ".CommonInvoice::TYPE_DEPOSIT).") AND rowid = ".((int) $this->fk_facture_source);
dol_syslog(get_class($this)."::delete Update credit note or deposit invoice statut", LOG_DEBUG);
$result = $this->db->query($sql);
@@ -387,7 +388,7 @@ class DiscountAbsolute
} elseif ($this->fk_invoice_supplier_source) {
$sql = "UPDATE ".$this->db->prefix()."facture_fourn";
$sql .= " set paye=0, fk_statut=1";
$sql .= " WHERE (type = 2 or type = 3) AND rowid = ".((int) $this->fk_invoice_supplier_source);
$sql .= " WHERE (type IN (".$this->db->sanitize(CommonInvoice::TYPE_CREDIT_NOTE.", ".CommonInvoice::TYPE_DEPOSIT).") AND rowid = ".((int) $this->fk_invoice_supplier_source);
dol_syslog(get_class($this)."::delete Update credit note or deposit invoice statut", LOG_DEBUG);
$result = $this->db->query($sql);
@@ -573,12 +574,12 @@ class DiscountAbsolute
$sql = "SELECT sum(rc.amount_ttc) as amount, sum(rc.multicurrency_amount_ttc) as multicurrency_amount";
$sql .= " FROM ".$this->db->prefix()."societe_remise_except as rc, ".$this->db->prefix()."facture as f";
$sql .= " WHERE rc.fk_facture_source=f.rowid AND rc.fk_facture = ".((int) $invoice->id);
$sql .= " AND f.type = 3";
$sql .= " AND f.type = ". (int) $invoice::TYPE_DEPOSIT;
} elseif ($invoice->element == 'invoice_supplier') {
$sql = "SELECT sum(rc.amount_ttc) as amount, sum(rc.multicurrency_amount_ttc) as multicurrency_amount";
$sql .= " FROM ".$this->db->prefix()."societe_remise_except as rc, ".$this->db->prefix()."facture_fourn as f";
$sql .= " WHERE rc.fk_invoice_supplier_source=f.rowid AND rc.fk_invoice_supplier = ".((int) $invoice->id);
$sql .= " AND f.type = 3";
$sql .= " AND f.type = ". (int) $invoice::TYPE_DEPOSIT;
} else {
$this->error = get_class($this)."::getSumDepositsUsed was called with a bad object as a first parameter";
dol_print_error($this->error);