improving printing

This commit is contained in:
Flatlogic Bot 2026-02-28 13:15:53 +00:00
parent 26095df612
commit 5deb44b9f8
2 changed files with 20 additions and 5 deletions

View File

@ -359,6 +359,8 @@ try {
$pdo->commit();
// --- Post-Transaction Actions (WhatsApp) ---
// DISABLED TEMPORARILY AS PER USER REQUEST
/*
if ($customer_id && $customer_phone) {
try {
$final_points = $current_points - $points_deducted + ($loyalty_enabled ? $points_awarded : 0);
@ -421,6 +423,7 @@ You've earned *{points_earned} points* with this order.
error_log("Wablas Exception: " . $w->getMessage());
}
}
*/
echo json_encode(['success' => true, 'order_id' => $order_id]);

View File

@ -732,11 +732,23 @@ document.addEventListener('DOMContentLoaded', () => {
if (data.success) {
receiptData.orderId = data.order_id;
// Show receipt for both Quick Pay and Place Order
printThermalReceipt(receiptData);
// --- PRINTING LOGIC ---
const cashierPrinterIp = CURRENT_OUTLET.cashier_printer_ip;
const isLocalCashierIp = cashierPrinterIp && /^(127\.|10\.|192\.168\.|172\.(1[6-9]|2[0-9]|3[0-1])\.)/.test(cashierPrinterIp);
// Trigger network printing
triggerNetworkPrint(data.order_id, 'cashier');
// Show browser receipt ONLY IF:
// 1. No cashier printer is configured
// 2. OR the configured cashier printer is a local IP (which we can't reach from cloud)
// This prevents duplicate printing when a valid network printer is used.
if (!cashierPrinterIp || isLocalCashierIp) {
printThermalReceipt(receiptData);
} else {
// Only try network printing if it's NOT a local IP
// (prevents useless 1s timeout for cashier print if we already browser-printed)
triggerNetworkPrint(data.order_id, 'cashier');
}
// Kitchen is usually always a network printer, so we always try it
triggerNetworkPrint(data.order_id, 'kitchen');
showToast(`${_t('order_placed')} #${data.order_id}`, 'success');