improving printing
This commit is contained in:
parent
26095df612
commit
5deb44b9f8
@ -359,6 +359,8 @@ try {
|
|||||||
$pdo->commit();
|
$pdo->commit();
|
||||||
|
|
||||||
// --- Post-Transaction Actions (WhatsApp) ---
|
// --- Post-Transaction Actions (WhatsApp) ---
|
||||||
|
// DISABLED TEMPORARILY AS PER USER REQUEST
|
||||||
|
/*
|
||||||
if ($customer_id && $customer_phone) {
|
if ($customer_id && $customer_phone) {
|
||||||
try {
|
try {
|
||||||
$final_points = $current_points - $points_deducted + ($loyalty_enabled ? $points_awarded : 0);
|
$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());
|
error_log("Wablas Exception: " . $w->getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
echo json_encode(['success' => true, 'order_id' => $order_id]);
|
echo json_encode(['success' => true, 'order_id' => $order_id]);
|
||||||
|
|
||||||
@ -428,4 +431,4 @@ You've earned *{points_earned} points* with this order.
|
|||||||
if ($pdo->inTransaction()) $pdo->rollBack();
|
if ($pdo->inTransaction()) $pdo->rollBack();
|
||||||
error_log("Order Error: " . $e->getMessage());
|
error_log("Order Error: " . $e->getMessage());
|
||||||
echo json_encode(['success' => false, 'error' => $e->getMessage()]);
|
echo json_encode(['success' => false, 'error' => $e->getMessage()]);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -732,11 +732,23 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
if (data.success) {
|
if (data.success) {
|
||||||
receiptData.orderId = data.order_id;
|
receiptData.orderId = data.order_id;
|
||||||
|
|
||||||
// Show receipt for both Quick Pay and Place Order
|
// --- PRINTING LOGIC ---
|
||||||
printThermalReceipt(receiptData);
|
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);
|
||||||
|
|
||||||
|
// 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');
|
||||||
|
}
|
||||||
|
|
||||||
// Trigger network printing
|
// Kitchen is usually always a network printer, so we always try it
|
||||||
triggerNetworkPrint(data.order_id, 'cashier');
|
|
||||||
triggerNetworkPrint(data.order_id, 'kitchen');
|
triggerNetworkPrint(data.order_id, 'kitchen');
|
||||||
|
|
||||||
showToast(`${_t('order_placed')} #${data.order_id}`, 'success');
|
showToast(`${_t('order_placed')} #${data.order_id}`, 'success');
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user