From 833da30af10cc0c1ffe60ca6507df9c1f75687dc Mon Sep 17 00:00:00 2001 From: David Beniamine Date: Fri, 15 Mar 2019 12:07:33 +0100 Subject: [PATCH 01/10] Use any dolibarr enabled paiement mode --- htdocs/langs/en_US/cashdesk.lang | 4 +- htdocs/langs/fr_FR/cashdesk.lang | 2 + htdocs/takepos/admin/setup.php | 47 ++++++++++--------- htdocs/takepos/invoice.php | 32 +++++++------ htdocs/takepos/pay.php | 79 ++++++++++++++++++++++++++------ htdocs/takepos/takepos.php | 12 ++++- 6 files changed, 126 insertions(+), 50 deletions(-) diff --git a/htdocs/langs/en_US/cashdesk.lang b/htdocs/langs/en_US/cashdesk.lang index 83939e94187..0d248dc593d 100644 --- a/htdocs/langs/en_US/cashdesk.lang +++ b/htdocs/langs/en_US/cashdesk.lang @@ -55,4 +55,6 @@ Numberspad=Numbers Pad BillsCoinsPad=Bills and Coins Pad DolistorePosCategory=TakePOS modules and other POS solutions for Dolibarr TakeposNeedsCategories=TakePOS needs product categories to work -OrderNotes=Order Notes \ No newline at end of file +OrderNotes=Order Notes +CashDeskBankAccountFor=Account used for payments in +NoPaimementModesDefined=No paiment mode defined in TakePOS configuration diff --git a/htdocs/langs/fr_FR/cashdesk.lang b/htdocs/langs/fr_FR/cashdesk.lang index f588b04a751..8b7926c0c56 100644 --- a/htdocs/langs/fr_FR/cashdesk.lang +++ b/htdocs/langs/fr_FR/cashdesk.lang @@ -49,3 +49,5 @@ AmountAtEndOfPeriod=Montant en fin de période (jour, mois ou année) TheoricalAmount=Montant théorique RealAmount=Montant réel CashFenceDone=Clôture de caisse faite pour la période +CashDeskBankAccountFor=Compte utilisé pour les paiements en +NoPaimementModesDefined=Pas de mode de paiement défini dans la configuration de TakePOS diff --git a/htdocs/takepos/admin/setup.php b/htdocs/takepos/admin/setup.php index c00fa060493..0de0793176b 100644 --- a/htdocs/takepos/admin/setup.php +++ b/htdocs/takepos/admin/setup.php @@ -41,19 +41,30 @@ if (!$user->admin) accessforbidden(); $langs->loadLangs(array("admin", "cashdesk")); +global $db; + +$sql="SELECT code, libelle FROM ".MAIN_DB_PREFIX."c_paiement WHERE active=1 ORDER BY libelle"; +$resql = $db->query($sql); +$paiements = array(); +if($resql){ + while ($obj = $db->fetch_object($resql)){ + array_push($paiements, $obj); + } +} + /* * Actions */ if (GETPOST('action', 'alpha') == 'set') { $db->begin(); - if (GETPOST('socid', 'int') < 0) $_POST["socid"]=''; $res = dolibarr_set_const($db, "CASHDESK_ID_THIRDPARTY", (GETPOST('socid', 'int') > 0 ? GETPOST('socid', 'int') : ''), 'chaine', 0, '', $conf->entity); - $res = dolibarr_set_const($db, "CASHDESK_ID_BANKACCOUNT_CASH", (GETPOST('CASHDESK_ID_BANKACCOUNT_CASH', 'alpha') > 0 ? GETPOST('CASHDESK_ID_BANKACCOUNT_CASH', 'alpha') : ''), 'chaine', 0, '', $conf->entity); - $res = dolibarr_set_const($db, "CASHDESK_ID_BANKACCOUNT_CHEQUE", (GETPOST('CASHDESK_ID_BANKACCOUNT_CHEQUE', 'alpha') > 0 ? GETPOST('CASHDESK_ID_BANKACCOUNT_CHEQUE', 'alpha') : ''), 'chaine', 0, '', $conf->entity); - $res = dolibarr_set_const($db, "CASHDESK_ID_BANKACCOUNT_CB", (GETPOST('CASHDESK_ID_BANKACCOUNT_CB', 'alpha') > 0 ? GETPOST('CASHDESK_ID_BANKACCOUNT_CB', 'alpha') : ''), 'chaine', 0, '', $conf->entity); + foreach($paiements as $modep){ + $name="CASHDESK_ID_BANKACCOUNT_".$modep->code; + $res = dolibarr_set_const($db, $name, (GETPOST($name, 'alpha') > 0 ? GETPOST($name, 'alpha') : ''), 'chaine', 0, '', $conf->entity); + } $res = dolibarr_set_const($db, "CASHDESK_ID_WAREHOUSE", (GETPOST('CASHDESK_ID_WAREHOUSE', 'alpha') > 0 ? GETPOST('CASHDESK_ID_WAREHOUSE', 'alpha') : ''), 'chaine', 0, '', $conf->entity); $res = dolibarr_set_const($db, "CASHDESK_NO_DECREASE_STOCK", GETPOST('CASHDESK_NO_DECREASE_STOCK', 'alpha'), 'chaine', 0, '', $conf->entity); $res = dolibarr_set_const($db, "CASHDESK_SERVICES", GETPOST('CASHDESK_SERVICES', 'alpha'), 'chaine', 0, '', $conf->entity); @@ -225,27 +236,19 @@ print "\n"; print ''.$langs->trans("CashDeskThirdPartyForSell").''; print ''; -print $form->select_company($conf->global->CASHDESK_ID_THIRDPARTY, 'socid', 's.client in (1,3) AND s.status = 1', 1, 0, 0, array(), 0); +print $form->select_company($conf->global->CASHDESK_ID_THIRDPARTY, 'socid', 's.client in (1, 3) AND s.status = 1', 1, 0, 0, array(), 0); print ''; if (! empty($conf->banque->enabled)) { - - print ''.$langs->trans("CashDeskBankAccountForSell").''; - print ''; - $form->select_comptes($conf->global->CASHDESK_ID_BANKACCOUNT_CASH, 'CASHDESK_ID_BANKACCOUNT_CASH', 0, "courant=2", 1); - print ''; - - - print ''.$langs->trans("CashDeskBankAccountForCheque").''; - print ''; - $form->select_comptes($conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE, 'CASHDESK_ID_BANKACCOUNT_CHEQUE', 0, "courant=1", 1); - print ''; - - - print ''.$langs->trans("CashDeskBankAccountForCB").''; - print ''; - $form->select_comptes($conf->global->CASHDESK_ID_BANKACCOUNT_CB, 'CASHDESK_ID_BANKACCOUNT_CB', 0, "courant=1", 1); - print ''; + + foreach($paiements as $modep){ + $name="CASHDESK_ID_BANKACCOUNT_".$modep->code; + print ''.$langs->trans("CashDeskBankAccountFor").' '.$langs->trans($modep->libelle).''; + print ''; + $cour=preg_match('/^LIQ.*/', $modep->code)?2:1; + $form->select_comptes($conf->global->$name, $name, 0, "courant=$cour", 1); + print ''; + } } if (! empty($conf->stock->enabled)) diff --git a/htdocs/takepos/invoice.php b/htdocs/takepos/invoice.php index 45a65af3f94..69c9a83cae2 100644 --- a/htdocs/takepos/invoice.php +++ b/htdocs/takepos/invoice.php @@ -16,10 +16,10 @@ * along with this program. If not, see . */ -// if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); // Not disabled cause need to load personalized language -// if (! defined('NOREQUIREDB')) define('NOREQUIREDB','1'); // Not disabled cause need to load personalized language -// if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1'); -// if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); +// if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Not disabled cause need to load personalized language +// if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Not disabled cause need to load personalized language +// if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); +// if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); if (!defined('NOCSRFCHECK')) { define('NOCSRFCHECK', '1'); } if (!defined('NOTOKENRENEWAL')) { define('NOTOKENRENEWAL', '1'); } if (!defined('NOREQUIREMENU')) { define('NOREQUIREMENU', '1'); } @@ -40,6 +40,10 @@ $number = GETPOST('number'); $idline = GETPOST('idline'); $desc = GETPOST('desc', 'alpha'); $pay = GETPOST('pay'); +$sql="SELECT rowid FROM ".MAIN_DB_PREFIX."facture where ref='(PROV-POS-".$place.")'"; +$resql = $db->query($sql); +$row = $db->fetch_array($resql); +$placeid = $row[0]; $placeid = 0; // $placeid is id of invoice @@ -48,16 +52,20 @@ $ret = $invoice->fetch('', '(PROV-POS-'.$place.')'); if ($ret > 0) $placeid = $invoice->id; +// Retrieve paiementid +$sql="SELECT id FROM ".MAIN_DB_PREFIX."c_paiement WHERE code='$pay'"; +$resql = $db->query($sql); +$codes = $db->fetch_array($resql); +$paiementid=$codes[0]; + /* * Actions */ if ($action == 'valid' && $user->rights->facture->creer) { - if ($pay == "cash") $bankaccount = $conf->global->CASHDESK_ID_BANKACCOUNT_CASH; - elseif ($pay == "card") $bankaccount = $conf->global->CASHDESK_ID_BANKACCOUNT_CB; - elseif ($pay == "cheque") $bankaccount = $conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE; - + $accountname="CASHDESK_ID_BANKACCOUNT_".$pay; + $bankaccount=$conf->global->$accountname; $now=dol_now(); $invoice = new Facture($db); @@ -72,12 +80,10 @@ if ($action == 'valid' && $user->rights->facture->creer) $payment->bank_account = $bankaccount; $payment->amounts[$invoice->id] = $invoice->total_ttc; - if ($pay=="cash") $payment->paiementid = 4; - elseif ($pay=="card") $payment->paiementid = 6; - elseif ($pay=="cheque") $payment->paiementid = 7; - $payment->num_payment = $invoice->ref; + $payment->paiementid=$paiementid; + $payment->num_paiement=$invoice->ref; - $payment->create($user); + $payment->create($user); $payment->addPaymentToBank($user, 'payment', '(CustomerInvoicePayment)', $bankaccount, '', ''); $invoice->set_paid($user); diff --git a/htdocs/takepos/pay.php b/htdocs/takepos/pay.php index 33524b80a8c..1ae6a5af7d8 100644 --- a/htdocs/takepos/pay.php +++ b/htdocs/takepos/pay.php @@ -15,10 +15,10 @@ * along with this program. If not, see . */ -//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); // Not disabled cause need to load personalized language -//if (! defined('NOREQUIREDB')) define('NOREQUIREDB','1'); // Not disabled cause need to load personalized language -//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1'); -//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Not disabled cause need to load personalized language +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1'); // Not disabled cause need to load personalized language +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU', '1'); @@ -50,6 +50,16 @@ else{ top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss); $langs->loadLangs(array("main", "bills", "cashdesk")); + +$sql="SELECT code, libelle FROM ".MAIN_DB_PREFIX."c_paiement WHERE active=1 ORDER BY libelle"; +$resql = $db->query($sql); +$paiements = array(); +if($resql){ + while ($obj = $db->fetch_object($resql)){ + $accountname="CASHDESK_ID_BANKACCOUNT_".$obj->code; + if($conf->global->$accountname) array_push($paiements, $obj); + } +} ?> @@ -105,25 +115,68 @@ $langs->loadLangs(array("main", "bills", "cashdesk"));
"reset()", + "span" => "style='font-size: 150%;'", + "text" => "C", + ), + array( + "function" => "parent.$.colorbox.close();", + "span" => "id='printtext'", + "text" => $langs->trans("GoBack"), + ), +); $numpad=$conf->global->TAKEPOS_NUMPAD; ?> - +0) : ?> + + + + - +1) : ?> + + + + + - +2) : ?> + + + + + - - + + + + +
diff --git a/htdocs/takepos/takepos.php b/htdocs/takepos/takepos.php index 36b670146f9..d8120579a7d 100644 --- a/htdocs/takepos/takepos.php +++ b/htdocs/takepos/takepos.php @@ -450,7 +450,17 @@ $( document ).ready(function() { global->CASHDESK_ID_THIRDPARTY) or empty($conf->global->CASHDESK_ID_BANKACCOUNT_CASH) or empty($conf->global->CASHDESK_ID_BANKACCOUNT_CB)) { +// TODO +$sql="SELECT code,libelle FROM ".MAIN_DB_PREFIX."c_paiement WHERE active=1 ORDER BY libelle"; +$resql = $db->query($sql); +$paiementsModes = array(); +if($resql){ + while ($obj = $db->fetch_object($resql)){ + $accountname="CASHDESK_ID_BANKACCOUNT_".$obj->code; + if($conf->global->$accountname) array_push($paiementsModes, $obj); + } +} +if (empty($paiementsModes)) { setEventMessages($langs->trans("ErrorModuleSetupNotComplete"), null, 'errors'); } if (count($maincategories)==0) { From 32303bbe4827cba26e8b57b5d17844766a1fc2c9 Mon Sep 17 00:00:00 2001 From: David Beniamine Date: Mon, 25 Mar 2019 16:49:33 +0100 Subject: [PATCH 02/10] SQL modifications for multicompany compatibility Thanks to hregis --- htdocs/takepos/admin/setup.php | 5 ++++- htdocs/takepos/invoice.php | 8 +++----- htdocs/takepos/pay.php | 5 ++++- htdocs/takepos/takepos.php | 5 ++++- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/htdocs/takepos/admin/setup.php b/htdocs/takepos/admin/setup.php index 0de0793176b..b25212ea5db 100644 --- a/htdocs/takepos/admin/setup.php +++ b/htdocs/takepos/admin/setup.php @@ -43,7 +43,10 @@ $langs->loadLangs(array("admin", "cashdesk")); global $db; -$sql="SELECT code, libelle FROM ".MAIN_DB_PREFIX."c_paiement WHERE active=1 ORDER BY libelle"; +$sql = "SELECT code, libelle FROM ".MAIN_DB_PREFIX."c_paiement"; +$sql.= " WHERE entity IN (".getEntity('c_paiement').")"; +$sql.= " AND active = 1"; +$sql.= " ORDER BY libelle"; $resql = $db->query($sql); $paiements = array(); if($resql){ diff --git a/htdocs/takepos/invoice.php b/htdocs/takepos/invoice.php index 69c9a83cae2..3e8d6327f1a 100644 --- a/htdocs/takepos/invoice.php +++ b/htdocs/takepos/invoice.php @@ -40,10 +40,6 @@ $number = GETPOST('number'); $idline = GETPOST('idline'); $desc = GETPOST('desc', 'alpha'); $pay = GETPOST('pay'); -$sql="SELECT rowid FROM ".MAIN_DB_PREFIX."facture where ref='(PROV-POS-".$place.")'"; -$resql = $db->query($sql); -$row = $db->fetch_array($resql); -$placeid = $row[0]; $placeid = 0; // $placeid is id of invoice @@ -53,7 +49,9 @@ if ($ret > 0) $placeid = $invoice->id; // Retrieve paiementid -$sql="SELECT id FROM ".MAIN_DB_PREFIX."c_paiement WHERE code='$pay'"; +$sql = "SELECT id FROM ".MAIN_DB_PREFIX."c_paiement"; +$sql.= " WHERE entity IN (".getEntity('c_paiement').")"; +$sql.= " AND code = '$pay'"; $resql = $db->query($sql); $codes = $db->fetch_array($resql); $paiementid=$codes[0]; diff --git a/htdocs/takepos/pay.php b/htdocs/takepos/pay.php index 1ae6a5af7d8..9672a97cd8d 100644 --- a/htdocs/takepos/pay.php +++ b/htdocs/takepos/pay.php @@ -51,7 +51,10 @@ top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss); $langs->loadLangs(array("main", "bills", "cashdesk")); -$sql="SELECT code, libelle FROM ".MAIN_DB_PREFIX."c_paiement WHERE active=1 ORDER BY libelle"; +$sql = "SELECT code, libelle FROM ".MAIN_DB_PREFIX."c_paiement"; +$sql.= " WHERE entity IN (".getEntity('c_paiement').")"; +$sql.= " AND active = 1"; +$sql.= " ORDER BY libelle"; $resql = $db->query($sql); $paiements = array(); if($resql){ diff --git a/htdocs/takepos/takepos.php b/htdocs/takepos/takepos.php index d8120579a7d..422db40ad0a 100644 --- a/htdocs/takepos/takepos.php +++ b/htdocs/takepos/takepos.php @@ -451,7 +451,10 @@ $( document ).ready(function() { query($sql); $paiementsModes = array(); if($resql){ From 430f2c10b42e8eb6269948965c1c18e3c04fc46e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Mar 2019 19:52:19 +0100 Subject: [PATCH 03/10] Update setup.php --- htdocs/takepos/admin/setup.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/htdocs/takepos/admin/setup.php b/htdocs/takepos/admin/setup.php index 9d13cb0e882..f47f1145451 100644 --- a/htdocs/takepos/admin/setup.php +++ b/htdocs/takepos/admin/setup.php @@ -64,7 +64,12 @@ if (GETPOST('action', 'alpha') == 'set') if (GETPOST('socid', 'int') < 0) $_POST["socid"]=''; $res = dolibarr_set_const($db, "CASHDESK_ID_THIRDPARTY", (GETPOST('socid', 'int') > 0 ? GETPOST('socid', 'int') : ''), 'chaine', 0, '', $conf->entity); - foreach($paiements as $modep){ + + $res = dolibarr_set_const($db, "CASHDESK_ID_BANKACCOUNT_CASH", (GETPOST('CASHDESK_ID_BANKACCOUNT_CASH', 'alpha') > 0 ? GETPOST('CASHDESK_ID_BANKACCOUNT_CASH', 'alpha') : ''), 'chaine', 0, '', $conf->entity); + $res = dolibarr_set_const($db, "CASHDESK_ID_BANKACCOUNT_CHEQUE", (GETPOST('CASHDESK_ID_BANKACCOUNT_CHEQUE', 'alpha') > 0 ? GETPOST('CASHDESK_ID_BANKACCOUNT_CHEQUE', 'alpha') : ''), 'chaine', 0, '', $conf->entity); + $res = dolibarr_set_const($db, "CASHDESK_ID_BANKACCOUNT_CB", (GETPOST('CASHDESK_ID_BANKACCOUNT_CB', 'alpha') > 0 ? GETPOST('CASHDESK_ID_BANKACCOUNT_CB', 'alpha') : ''), 'chaine', 0, '', $conf->entity); + foreach($paiements as $modep) { + if (in_array($modep->code, array('LIQ', 'CB', 'CHQ'))) continue; $name="CASHDESK_ID_BANKACCOUNT_".$modep->code; $res = dolibarr_set_const($db, $name, (GETPOST($name, 'alpha') > 0 ? GETPOST($name, 'alpha') : ''), 'chaine', 0, '', $conf->entity); } From 5c0f0eb5458842fc80c7710e55897cbd5d477636 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Mar 2019 19:55:05 +0100 Subject: [PATCH 04/10] Update setup.php --- htdocs/takepos/admin/setup.php | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/htdocs/takepos/admin/setup.php b/htdocs/takepos/admin/setup.php index f47f1145451..973c8cbd9cc 100644 --- a/htdocs/takepos/admin/setup.php +++ b/htdocs/takepos/admin/setup.php @@ -264,13 +264,26 @@ print $form->select_company($conf->global->CASHDESK_ID_THIRDPARTY, 'socid', 's.c print ''; if (! empty($conf->banque->enabled)) { - - foreach($paiements as $modep){ + print ''.$langs->trans("CashDeskBankAccountForSell").''; + print ''; + $form->select_comptes($conf->global->CASHDESK_ID_BANKACCOUNT_CASH, 'CASHDESK_ID_BANKACCOUNT_CASH', 0, "courant=2", 1); + print ''; + print ''.$langs->trans("CashDeskBankAccountForCheque").''; + print ''; + $form->select_comptes($conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE, 'CASHDESK_ID_BANKACCOUNT_CHEQUE', 0, "courant=1", 1); + print ''; + print ''.$langs->trans("CashDeskBankAccountForCB").''; + print ''; + $form->select_comptes($conf->global->CASHDESK_ID_BANKACCOUNT_CB, 'CASHDESK_ID_BANKACCOUNT_CB', 0, "courant=1", 1); + print ''; + + foreach($paiements as $modep) { + if (in_array($modep->code, array('LIQ', 'CB', 'CHQ'))) continue; $name="CASHDESK_ID_BANKACCOUNT_".$modep->code; print ''.$langs->trans("CashDeskBankAccountFor").' '.$langs->trans($modep->libelle).''; print ''; $cour=preg_match('/^LIQ.*/', $modep->code)?2:1; - $form->select_comptes($conf->global->$name, $name, 0, "courant=$cour", 1); + $form->select_comptes($conf->global->$name, $name, 0, "courant=".$cour, 1); print ''; } } From 573bc3187d50050a6a4ea5b2d56aa3afb2cf9332 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Mar 2019 20:01:06 +0100 Subject: [PATCH 05/10] Update invoice.php --- htdocs/takepos/invoice.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/htdocs/takepos/invoice.php b/htdocs/takepos/invoice.php index 5c5d1cd1163..8981966b802 100644 --- a/htdocs/takepos/invoice.php +++ b/htdocs/takepos/invoice.php @@ -47,18 +47,22 @@ $invoice = new Facture($db); $ret = $invoice->fetch('', '(PROV-POS-'.$place.')'); if ($ret > 0) $placeid = $invoice->id; - +$paycode = $pay; +if ($pay == 'cash') $paycode = 'LIQ'; +if ($pay == 'card') $paycode = 'CB'; +if ($pay == 'cheque') $paycode = 'CHQ'; + // Retrieve paiementid $sql = "SELECT id FROM ".MAIN_DB_PREFIX."c_paiement"; $sql.= " WHERE entity IN (".getEntity('c_paiement').")"; -$sql.= " AND code = '$pay'"; +$sql.= " AND code = '".$paycode."'"; $resql = $db->query($sql); $codes = $db->fetch_array($resql); $paiementid=$codes[0]; /* -* Actions -*/ + * Actions + */ if ($action == 'valid' && $user->rights->facture->creer) { From 337cb493741bc9832ae9aed923c1f536672e867b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Mar 2019 20:02:18 +0100 Subject: [PATCH 06/10] Update invoice.php --- htdocs/takepos/invoice.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/htdocs/takepos/invoice.php b/htdocs/takepos/invoice.php index 8981966b802..4d6299b3c0a 100644 --- a/htdocs/takepos/invoice.php +++ b/htdocs/takepos/invoice.php @@ -66,8 +66,14 @@ $paiementid=$codes[0]; if ($action == 'valid' && $user->rights->facture->creer) { - $accountname="CASHDESK_ID_BANKACCOUNT_".$pay; - $bankaccount=$conf->global->$accountname; + if ($pay == "cash") $bankaccount = $conf->global->CASHDESK_ID_BANKACCOUNT_CASH; + elseif ($pay == "card") $bankaccount = $conf->global->CASHDESK_ID_BANKACCOUNT_CB; + elseif ($pay == "cheque") $bankaccount = $conf->global->CASHDESK_ID_BANKACCOUNT_CHEQUE; + else + { + $accountname="CASHDESK_ID_BANKACCOUNT_".$pay; + $bankaccount=$conf->global->$accountname; + } $now=dol_now(); $invoice = new Facture($db); From 7ff51df8f33b49a3cc5108c8cb1099f892961fa4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Mar 2019 20:09:54 +0100 Subject: [PATCH 07/10] Update takepos.php --- htdocs/takepos/takepos.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/htdocs/takepos/takepos.php b/htdocs/takepos/takepos.php index 422db40ad0a..99e69df423a 100644 --- a/htdocs/takepos/takepos.php +++ b/htdocs/takepos/takepos.php @@ -449,17 +449,22 @@ $( document ).ready(function() { query($sql); $paiementsModes = array(); -if($resql){ +if ($resql){ while ($obj = $db->fetch_object($resql)){ - $accountname="CASHDESK_ID_BANKACCOUNT_".$obj->code; + $paycode = $obj->code; + if ($paycode == 'LIQ') $paycode = 'CASH'; + if ($paycode == 'CB') $paycode = 'CARD'; + if ($paycode == 'CHQ') $paycode = 'CHEQUE'; + + $accountname="CASHDESK_ID_BANKACCOUNT_".$paycode; if($conf->global->$accountname) array_push($paiementsModes, $obj); } } From f902f7beebeea2ff5f33207eb67fbfcb69a250dc Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Mar 2019 20:10:48 +0100 Subject: [PATCH 08/10] Update takepos.php --- htdocs/takepos/takepos.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/takepos/takepos.php b/htdocs/takepos/takepos.php index 99e69df423a..3c49a45754a 100644 --- a/htdocs/takepos/takepos.php +++ b/htdocs/takepos/takepos.php @@ -465,7 +465,7 @@ if ($resql){ if ($paycode == 'CHQ') $paycode = 'CHEQUE'; $accountname="CASHDESK_ID_BANKACCOUNT_".$paycode; - if($conf->global->$accountname) array_push($paiementsModes, $obj); + if (! empty($conf->global->$accountname) && $conf->global->$accountname > 0) array_push($paiementsModes, $obj); } } if (empty($paiementsModes)) { From 6bab56c6bbe1f250c6f190cf4677b4f1c485bd57 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Mar 2019 20:12:32 +0100 Subject: [PATCH 09/10] Update pay.php --- htdocs/takepos/pay.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/htdocs/takepos/pay.php b/htdocs/takepos/pay.php index 9672a97cd8d..1f78d5ce6d2 100644 --- a/htdocs/takepos/pay.php +++ b/htdocs/takepos/pay.php @@ -57,10 +57,15 @@ $sql.= " AND active = 1"; $sql.= " ORDER BY libelle"; $resql = $db->query($sql); $paiements = array(); -if($resql){ - while ($obj = $db->fetch_object($resql)){ - $accountname="CASHDESK_ID_BANKACCOUNT_".$obj->code; - if($conf->global->$accountname) array_push($paiements, $obj); +if ($resql) { + while ($obj = $db->fetch_object($resql)) { + $paycode = $obj->code; + if ($paycode == 'LIQ') $paycode = 'CASH'; + if ($paycode == 'CB') $paycode = 'CARD'; + if ($paycode == 'CHQ') $paycode = 'CHEQUE'; + + $accountname="CASHDESK_ID_BANKACCOUNT_".$paycode; + if ($conf->global->$accountname) array_push($paiements, $obj); } } ?> From 27ae740e829f526b5fc2f83887fa66fba248502f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Mar 2019 20:13:25 +0100 Subject: [PATCH 10/10] Update pay.php --- htdocs/takepos/pay.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/takepos/pay.php b/htdocs/takepos/pay.php index 1f78d5ce6d2..49f252f1224 100644 --- a/htdocs/takepos/pay.php +++ b/htdocs/takepos/pay.php @@ -65,7 +65,7 @@ if ($resql) { if ($paycode == 'CHQ') $paycode = 'CHEQUE'; $accountname="CASHDESK_ID_BANKACCOUNT_".$paycode; - if ($conf->global->$accountname) array_push($paiements, $obj); + if (! empty($conf->global->$accountname) && $conf->global->$accountname > 0) array_push($paiements, $obj); } } ?>