diff --git a/htdocs/takepos/admin/terminal.php b/htdocs/takepos/admin/terminal.php index 1bbe339c852..24418654457 100644 --- a/htdocs/takepos/admin/terminal.php +++ b/htdocs/takepos/admin/terminal.php @@ -82,6 +82,8 @@ if (GETPOST('action', 'alpha') == 'set') $res = dolibarr_set_const($db, "CASHDESK_ID_WAREHOUSE".$terminaltouse, (GETPOST('CASHDESK_ID_WAREHOUSE'.$terminaltouse, 'alpha') > 0 ? GETPOST('CASHDESK_ID_WAREHOUSE'.$terminaltouse, 'alpha') : ''), 'chaine', 0, '', $conf->entity); $res = dolibarr_set_const($db, "CASHDESK_NO_DECREASE_STOCK".$terminaltouse, GETPOST('CASHDESK_NO_DECREASE_STOCK'.$terminaltouse, 'alpha'), 'chaine', 0, '', $conf->entity); $res = dolibarr_set_const($db, "TAKEPOS_PRINTER_TO_USE".$terminaltouse, GETPOST('TAKEPOS_PRINTER_TO_USE'.$terminaltouse, 'alpha'), 'chaine', 0, '', $conf->entity); + $res = dolibarr_set_const($db, "TAKEPOS_TEMPLATE_TO_USE_FOR_INVOICES".$terminaltouse, GETPOST('TAKEPOS_TEMPLATE_TO_USE_FOR_INVOICES'.$terminaltouse, 'alpha'), 'chaine', 0, '', $conf->entity); + $res = dolibarr_set_const($db, "TAKEPOS_TEMPLATE_TO_USE_FOR_ORDERS".$terminaltouse, GETPOST('TAKEPOS_TEMPLATE_TO_USE_FOR_ORDERS'.$terminaltouse, 'alpha'), 'chaine', 0, '', $conf->entity); dol_syslog("admin/cashdesk: level ".GETPOST('level', 'alpha')); @@ -201,12 +203,25 @@ if (! empty($conf->stock->enabled)) $printer->listprinters(); $printers = array(); foreach ($printer->listprinters as $key => $value) { - $printers[$key] = $value['name']; + $printers[$value['rowid']] = $value['name']; } print ''.$langs->trans("TakeposTerminalPrinterToUse").''; print ''; print $form->selectarray('TAKEPOS_PRINTER_TO_USE'.$terminal, $printers, (empty($conf->global->{'TAKEPOS_PRINTER_TO_USE'.$terminal})?'0':$conf->global->{'TAKEPOS_PRINTER_TO_USE'.$terminal}), 1); print ''; + $printer->listPrintersTemplates(); + $templates = array(); + foreach ($printer->listprinterstemplates as $key => $value) { + $templates[$value['rowid']] = $value['name']; + } + print ''.$langs->trans("TakeposTerminalTemplateToUseForInvoicesTicket").''; + print ''; + 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 ''; + print ''.$langs->trans("TakeposTerminalTemplateToUseForOrdersTicket").''; + print ''; + print $form->selectarray('TAKEPOS_TEMPLATE_TO_USE_FOR_ORDERS'.$terminal, $templates, (empty($conf->global->{'TAKEPOS_TEMPLATE_TO_USE_FOR_ORDERS'.$terminal})?'0':$conf->global->{'TAKEPOS_TEMPLATE_TO_USE_FOR_ORDERS'.$terminal}), 1); + print ''; } } diff --git a/htdocs/takepos/ajax/ajax.php b/htdocs/takepos/ajax/ajax.php index 2a27094bb90..40cf0f2f0d3 100644 --- a/htdocs/takepos/ajax/ajax.php +++ b/htdocs/takepos/ajax/ajax.php @@ -22,7 +22,7 @@ //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('NOREQUIRESOC')) define('NOREQUIRESOC', '1'); //if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK', '1'); if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); @@ -36,6 +36,7 @@ require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; $category = GETPOST('category', 'alpha'); $action = GETPOST('action', 'alpha'); $term = GETPOST('term', 'alpha'); +$id = GETPOST('id', 'int'); /* @@ -81,4 +82,24 @@ elseif ($action=="search" && $term != '') { else { echo 'Failed to search product : '.$db->lasterror(); } +} elseif ($action == "opendrawer" && $term != '') { + require_once DOL_DOCUMENT_ROOT.'/core/class/dolreceiptprinter.class.php'; + $printer = new dolReceiptPrinter($db); + // chek printer for terminal + if ($conf->global->{'TAKEPOS_PRINTER_TO_USE'.$term} > 0) { + $printer->initPrinter($conf->global->{'TAKEPOS_PRINTER_TO_USE'.$term}); + // open cashdrawer + $printer->pulse(); + $printer->close(); + } +} elseif ($action == "printinvoiceticket" && $term != '' && $id > 0) { + require_once DOL_DOCUMENT_ROOT.'/core/class/dolreceiptprinter.class.php'; + require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; + $printer = new dolReceiptPrinter($db); + // check printer for terminal + if ($conf->global->{'TAKEPOS_PRINTER_TO_USE'.$term} > 0 && $conf->global->{'TAKEPOS_TEMPLATE_TO_USE_FOR_INVOICES'.$term} > 0) { + $object = new Facture($db); + $object->fetch($id); + $ret = $printer->sendToPrinter($object, $conf->global->{'TAKEPOS_TEMPLATE_TO_USE_FOR_INVOICES'.$term}, $conf->global->{'TAKEPOS_PRINTER_TO_USE'.$term}); + } } diff --git a/htdocs/takepos/invoice.php b/htdocs/takepos/invoice.php index df2a839fb0e..fb40169fa5a 100644 --- a/htdocs/takepos/invoice.php +++ b/htdocs/takepos/invoice.php @@ -554,16 +554,11 @@ function TakeposPrinting(id){ }); } function DolibarrTakeposPrinting(id) { - console.log('Printing ticket ' + id) - var receipt; - // $.get("receipt.php?facid="+id, function(data, status) { - // receipt=data.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, ''); - // $.ajax({ - // type: "POST", - // url: 'http://global->TAKEPOS_PRINT_SERVER; ?>:8111/print', - // data: receipt - // }); - // }); + console.log('Printing invoice ticket ' + id) + $.ajax({ + type: "GET", + url: "" + id, + }); } diff --git a/htdocs/takepos/takepos.php b/htdocs/takepos/takepos.php index cf86e8eb635..8966c575f9f 100644 --- a/htdocs/takepos/takepos.php +++ b/htdocs/takepos/takepos.php @@ -539,19 +539,18 @@ function TakeposPrintingTemp(){ function OpenDrawer(){ console.log("OpenDrawer"); $.ajax({ - type: "POST", - url: 'http://global->TAKEPOS_PRINT_SERVER;?>:8111/print', - data: "opendrawer" - }); + type: "POST", + url: 'http://global->TAKEPOS_PRINT_SERVER;?>:8111/print', + data: "opendrawer" + }); } -function DolibarrOpenDrawer(){ +function DolibarrOpenDrawer() { console.log("DolibarrOpenDrawer"); - // $.ajax({ - // type: "POST", - // url: 'http://', - // data: "opendrawer" - // }); + $.ajax({ + type: "GET", + url: "", + }); } function MoreActions(totalactions){