Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop

This commit is contained in:
Laurent Destailleur 2020-11-13 09:56:08 +01:00
commit 1d252c18fc
5 changed files with 90 additions and 35 deletions

View File

@ -221,7 +221,9 @@ class PrestaShopWebservice
* Load XML from string. Can throw exception
*
* @param string $response String from a CURL response
* @return SimpleXMLElement status_code, response
* @return SimpleXMLElement|boolean status_code, response
*
* @throw PrestaShopWebserviceException
*/
protected function parseXML($response)
{
@ -251,6 +253,8 @@ class PrestaShopWebservice
*
* @param array $options Options
* @return SimpleXMLElement status_code, response
*
* @throw PrestaShopWebserviceException
*/
public function add($options)
{
@ -268,10 +272,10 @@ class PrestaShopWebservice
} else {
throw new PrestaShopWebserviceException('Bad parameters given');
}
$request = self::executeRequest($url, array(CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => $xml));
$request = $this->executeRequest($url, array(CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => $xml));
self::checkStatusCode($request['status_code']);
return self::parseXML($request['response']);
$this->checkStatusCode($request['status_code']);
return $this->parseXML($request['response']);
}
/**
@ -300,7 +304,9 @@ class PrestaShopWebservice
* ?>
* </code>
* @param array $options Array representing resource to get.
* @return SimpleXMLElement status_code, response
* @return SimpleXMLElement|boolean status_code, response
*
* @throw PrestaShopWebserviceException
*/
public function get($options)
{
@ -326,9 +332,9 @@ class PrestaShopWebservice
throw new PrestaShopWebserviceException('Bad parameters given ');
}
$request = self::executeRequest($url, array(CURLOPT_CUSTOMREQUEST => 'GET'));
self::checkStatusCode($request['status_code']); // check the response validity
return self::parseXML($request['response']);
$request = $this->executeRequest($url, array(CURLOPT_CUSTOMREQUEST => 'GET'));
$this->checkStatusCode($request['status_code']); // check the response validity
return $this->parseXML($request['response']);
}
/**
@ -336,6 +342,8 @@ class PrestaShopWebservice
*
* @param array $options Array representing resource for head request.
* @return SimpleXMLElement status_code, response
*
* @throw PrestaShopWebserviceException
*/
public function head($options)
{
@ -358,8 +366,8 @@ class PrestaShopWebservice
} else {
throw new PrestaShopWebserviceException('Bad parameters given');
}
$request = self::executeRequest($url, array(CURLOPT_CUSTOMREQUEST => 'HEAD', CURLOPT_NOBODY => true));
self::checkStatusCode($request['status_code']); // check the response validity
$request = $this->executeRequest($url, array(CURLOPT_CUSTOMREQUEST => 'HEAD', CURLOPT_NOBODY => true));
$this->checkStatusCode($request['status_code']); // check the response validity
return $request['header'];
}
/**
@ -372,6 +380,8 @@ class PrestaShopWebservice
*
* @param array $options Array representing resource to edit.
* @return SimpleXMLElement status_code, response
*
* @throw PrestaShopWebserviceException
*/
public function edit($options)
{
@ -390,9 +400,9 @@ class PrestaShopWebservice
throw new PrestaShopWebserviceException('Bad parameters given');
}
$request = self::executeRequest($url, array(CURLOPT_CUSTOMREQUEST => 'PUT', CURLOPT_POSTFIELDS => $xml));
self::checkStatusCode($request['status_code']); // check the response validity
return self::parseXML($request['response']);
$request = $this->executeRequest($url, array(CURLOPT_CUSTOMREQUEST => 'PUT', CURLOPT_POSTFIELDS => $xml));
$this->checkStatusCode($request['status_code']); // check the response validity
return $this->parseXML($request['response']);
}
}

View File

@ -0,0 +1 @@

View File

@ -0,0 +1 @@

View File

@ -41,7 +41,7 @@ if (!empty($_REQUEST['CASHDESK_ID_THIRDPARTY'.$terminal.'_id']))
// Security check
if (!$user->admin) accessforbidden();
$langs->loadLangs(array("admin", "cashdesk", "printing"));
$langs->loadLangs(array("admin", "cashdesk", "printing", "receiptprinter"));
global $db;
@ -255,7 +255,7 @@ if ($conf->global->TAKEPOS_PRINT_METHOD == "receiptprinter" || $conf->global->TA
foreach ($printer->listprinterstemplates as $key => $value) {
$templates[$value['rowid']] = $value['name'];
}
print '<tr class="oddeven"><td>'.$langs->trans("MainTemplateToUse").'</td>';
print '<tr class="oddeven"><td>'.$langs->trans("MainTemplateToUse").' (<a href="'.DOL_URL_ROOT.'/admin/receiptprinter.php?mode=template">'.$langs->trans("SetupReceiptTemplate").'</a>)</td>';
print '<td>';
print $form->selectarray('TAKEPOS_TEMPLATE_TO_USE_FOR_INVOICES'.$terminal, $templates, (empty($conf->global->{'TAKEPOS_TEMPLATE_TO_USE_FOR_INVOICES'.$terminal}) ? '0' : $conf->global->{'TAKEPOS_TEMPLATE_TO_USE_FOR_INVOICES'.$terminal}), 1);
print '</td></tr>';

View File

@ -672,7 +672,7 @@ if ($action == "updatereduction")
if ($action == "order" and $placeid != 0)
{
include_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
if ($conf->global->TAKEPOS_PRINT_METHOD == "receiptprinter") {
if ($conf->global->TAKEPOS_PRINT_METHOD == "receiptprinter" || $conf->global->TAKEPOS_PRINT_METHOD == "takeposconnector") {
require_once DOL_DOCUMENT_ROOT.'/core/class/dolreceiptprinter.class.php';
$printer = new dolReceiptPrinter($db);
}
@ -703,10 +703,13 @@ if ($action == "order" and $placeid != 0)
$order_receipt_printer1 .= '</td></tr>';
}
}
if ($conf->global->TAKEPOS_PRINT_METHOD == "receiptprinter" && $linestoprint > 0) {
if (($conf->global->TAKEPOS_PRINT_METHOD == "receiptprinter" || $conf->global->TAKEPOS_PRINT_METHOD == "takeposconnector") && $linestoprint > 0) {
$invoice->fetch($placeid); //Reload object before send to printer
$printer->orderprinter = 1;
echo "<script>";
echo "var orderprinter1esc='";
$ret = $printer->sendToPrinter($invoice, $conf->global->{'TAKEPOS_TEMPLATE_TO_USE_FOR_ORDERS'.$_SESSION["takeposterminal"]}, $conf->global->{'TAKEPOS_ORDER_PRINTER1_TO_USE'.$_SESSION["takeposterminal"]}); // PRINT TO PRINTER 1
echo "';</script>";
}
$sql = "UPDATE ".MAIN_DB_PREFIX."facturedet set special_code='4' where special_code='1' and fk_facture=".$invoice->id; // Set as printed
$db->query($sql);
@ -731,10 +734,13 @@ if ($action == "order" and $placeid != 0)
$order_receipt_printer2 .= '</td></tr>';
}
}
if ($conf->global->TAKEPOS_PRINT_METHOD == "receiptprinter" && $linestoprint > 0) {
if (($conf->global->TAKEPOS_PRINT_METHOD == "receiptprinter" || $conf->global->TAKEPOS_PRINT_METHOD == "takeposconnector") && $linestoprint > 0) {
$invoice->fetch($placeid); //Reload object before send to printer
$printer->orderprinter = 2;
echo "<script>";
echo "var orderprinter2esc='";
$ret = $printer->sendToPrinter($invoice, $conf->global->{'TAKEPOS_TEMPLATE_TO_USE_FOR_ORDERS'.$_SESSION["takeposterminal"]}, $conf->global->{'TAKEPOS_ORDER_PRINTER2_TO_USE'.$_SESSION["takeposterminal"]}); // PRINT TO PRINTER 2
echo "';</script>";
}
$sql = "UPDATE ".MAIN_DB_PREFIX."facturedet set special_code='4' where special_code='2' and fk_facture=".$invoice->id; // Set as printed
$db->query($sql);
@ -759,10 +765,13 @@ if ($action == "order" and $placeid != 0)
$order_receipt_printer3 .= '</td></tr>';
}
}
if ($conf->global->TAKEPOS_PRINT_METHOD == "receiptprinter" && $linestoprint > 0) {
if (($conf->global->TAKEPOS_PRINT_METHOD == "receiptprinter" || $conf->global->TAKEPOS_PRINT_METHOD == "takeposconnector") && $linestoprint > 0) {
$invoice->fetch($placeid); //Reload object before send to printer
$printer->orderprinter = 3;
echo "<script>";
echo "var orderprinter3esc='";
$ret = $printer->sendToPrinter($invoice, $conf->global->{'TAKEPOS_TEMPLATE_TO_USE_FOR_ORDERS'.$_SESSION["takeposterminal"]}, $conf->global->{'TAKEPOS_ORDER_PRINTER3_TO_USE'.$_SESSION["takeposterminal"]}); // PRINT TO PRINTER 3
echo "';</script>";
}
$sql = "UPDATE ".MAIN_DB_PREFIX."facturedet set special_code='4' where special_code='3' and fk_facture=".$invoice->id; // Set as printed
$db->query($sql);
@ -841,25 +850,59 @@ $(document).ready(function() {
<?php
if ($action == "order" and $order_receipt_printer1 != "") {
?>
$.ajax({
type: "POST",
url: 'http://<?php print $conf->global->TAKEPOS_PRINT_SERVER; ?>:8111/print',
data: '<?php
print $headerorder.$order_receipt_printer1.$footerorder; ?>'
});
<?php
if (filter_var($conf->global->TAKEPOS_PRINT_SERVER, FILTER_VALIDATE_URL) == true){
?>
$.ajax({
type: "POST",
url: '<?php print $conf->global->TAKEPOS_PRINT_SERVER; ?>/printer/index.php',
data: 'invoice='+orderprinter1esc
});
<?php
}
else {
?>
$.ajax({
type: "POST",
url: 'http://<?php print $conf->global->TAKEPOS_PRINT_SERVER; ?>:8111/print',
data: '<?php
print $headerorder.$order_receipt_printer1.$footerorder; ?>'
});
<?php
}
}
if ($action == "order" and $order_receipt_printer2 != "") {
?>
$.ajax({
type: "POST",
url: 'http://<?php print $conf->global->TAKEPOS_PRINT_SERVER; ?>:8111/print2',
data: '<?php
print $headerorder.$order_receipt_printer2.$footerorder; ?>'
});
<?php
if (filter_var($conf->global->TAKEPOS_PRINT_SERVER, FILTER_VALIDATE_URL) == true){
?>
$.ajax({
type: "POST",
url: '<?php print $conf->global->TAKEPOS_PRINT_SERVER; ?>/printer/index.php?printer=2',
data: 'invoice='+orderprinter2esc
});
<?php
}
else {
?>
$.ajax({
type: "POST",
url: 'http://<?php print $conf->global->TAKEPOS_PRINT_SERVER; ?>:8111/print2',
data: '<?php
print $headerorder.$order_receipt_printer2.$footerorder; ?>'
});
<?php
}
}
if ($action == "order" and $order_receipt_printer3 != "") {
if (filter_var($conf->global->TAKEPOS_PRINT_SERVER, FILTER_VALIDATE_URL) == true){
?>
$.ajax({
type: "POST",
url: '<?php print $conf->global->TAKEPOS_PRINT_SERVER; ?>/printer/index.php?printer=3',
data: 'invoice='+orderprinter3esc
});
<?php
}
}
// Set focus to search field