Merge pull request #29149 from hregis/fix_17_takepos_multicompany

FIX multiple problems with multicompany
This commit is contained in:
Laurent Destailleur 2024-03-31 15:54:18 +02:00 committed by GitHub
commit 601989f924
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 11 additions and 7 deletions

View file

@ -197,8 +197,9 @@ if (empty($reshook)) {
if ($invoice->total_ttc < 0) {
$invoice->type = $invoice::TYPE_CREDIT_NOTE;
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."facture WHERE";
$sql .= " fk_soc = ".((int) $invoice->socid);
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."facture";
$sql .= " WHERE entity IN (".getEntity('invoice').")";
$sql .= " AND fk_soc = ".((int) $invoice->socid);
$sql .= " AND type <> ".Facture::TYPE_CREDIT_NOTE;
$sql .= " AND fk_statut >= ".$invoice::STATUS_VALIDATED;
$sql .= " ORDER BY rowid DESC";
@ -670,7 +671,8 @@ if (empty($reshook)) {
$varforconst = 'CASHDESK_ID_THIRDPARTY'.$_SESSION["takeposterminal"];
$sql .= " SET fk_soc = ".((int) $conf->global->$varforconst).", ";
$sql .= " datec = '".$db->idate(dol_now())."'";
$sql .= " WHERE ref = '(PROV-POS".$db->escape($_SESSION["takeposterminal"]."-".$place).")'";
$sql .= " WHERE entity IN (".getEntity('invoice').")";
$sql .= " AND ref = '(PROV-POS".$db->escape($_SESSION["takeposterminal"]."-".$place).")'";
$resql1 = $db->query($sql);
if ($resdeletelines && $resql1) {
@ -1160,14 +1162,14 @@ $( document ).ready(function() {
<?php
$sql = "SELECT rowid, datec, ref FROM ".MAIN_DB_PREFIX."facture";
$sql .= " WHERE entity IN (".getEntity('invoice').")";
if (empty($conf->global->TAKEPOS_CAN_EDIT_IF_ALREADY_VALIDATED)) {
// By default, only invoices with a ref not already defined can in list of open invoice we can edit.
$sql .= " WHERE ref LIKE '(PROV-POS".$db->escape(isset($_SESSION["takeposterminal"]) ? $_SESSION["takeposterminal"] : '')."-0%' AND entity IN (".getEntity('invoice').")";
$sql .= " AND ref LIKE '(PROV-POS".$db->escape(isset($_SESSION["takeposterminal"]) ? $_SESSION["takeposterminal"] : '')."-0%'";
} else {
// If TAKEPOS_CAN_EDIT_IF_ALREADY_VALIDATED set, we show also draft invoice that already has a reference defined
$sql .= " WHERE pos_source = '".$db->escape($_SESSION["takeposterminal"])."'";
$sql .= " AND pos_source = '".$db->escape($_SESSION["takeposterminal"])."'";
$sql .= " AND module_source = 'takepos'";
$sql .= " AND entity IN (".getEntity('invoice').")";
}
$sql .= $db->order('datec', 'ASC');

View file

@ -147,7 +147,9 @@ $invoice = new Facture($db);
if ($invoiceid > 0) {
$invoice->fetch($invoiceid);
} else {
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."facture where ref='(PROV-POS".$_SESSION["takeposterminal"]."-".$place.")'";
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."facture";
$sql .= " WHERE entity IN (".getEntity('invoice').")";
$sql .= " AND ref='(PROV-POS".$_SESSION["takeposterminal"]."-".$place.")'";
$resql = $db->query($sql);
$obj = $db->fetch_object($resql);
if ($obj) {