|
|
@ -225,6 +225,58 @@ switch ($VARS['action']) {
|
|
|
|
|
|
|
|
|
|
|
|
exit(GenerateReceipt::outputReceipt($receipt, $format, $width, "Tx. #" . $VARS['txid']));
|
|
|
|
exit(GenerateReceipt::outputReceipt($receipt, $format, $width, "Tx. #" . $VARS['txid']));
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case "transactionsearch":
|
|
|
|
|
|
|
|
header("Content-Type: application/json");
|
|
|
|
|
|
|
|
if (!is_empty($VARS['q'])) {
|
|
|
|
|
|
|
|
$where["AND"]["OR"] = [
|
|
|
|
|
|
|
|
"txid" => $VARS['q'],
|
|
|
|
|
|
|
|
"name[~]" => $VARS['q'],
|
|
|
|
|
|
|
|
"email[~]" => $VARS['q'],
|
|
|
|
|
|
|
|
"phone[~]" => $VARS['q']
|
|
|
|
|
|
|
|
];
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
exit(json_encode(["status" => "ERROR", "transactions" => false]));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
$where["LIMIT"] = 50;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$transactions = $database->select('transactions', [
|
|
|
|
|
|
|
|
'[>]customers' => 'customerid',
|
|
|
|
|
|
|
|
'[>]cash_drawer' => 'cashid',
|
|
|
|
|
|
|
|
'[>]registers' => ['cash_drawer.registerid' => 'registerid'],
|
|
|
|
|
|
|
|
], [
|
|
|
|
|
|
|
|
'txid',
|
|
|
|
|
|
|
|
'txdate',
|
|
|
|
|
|
|
|
'type',
|
|
|
|
|
|
|
|
'cashier (cashierid)',
|
|
|
|
|
|
|
|
'transactions.cashid',
|
|
|
|
|
|
|
|
'cash_drawer.registerid',
|
|
|
|
|
|
|
|
'registers.registername',
|
|
|
|
|
|
|
|
'cash_drawer.open',
|
|
|
|
|
|
|
|
'cash_drawer.close',
|
|
|
|
|
|
|
|
'customerid',
|
|
|
|
|
|
|
|
'customer' => [
|
|
|
|
|
|
|
|
'name',
|
|
|
|
|
|
|
|
'email',
|
|
|
|
|
|
|
|
'phone',
|
|
|
|
|
|
|
|
'address'
|
|
|
|
|
|
|
|
]], $where);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for ($i = 0; $i < count($transactions); $i++) {
|
|
|
|
|
|
|
|
if (is_null($transactions[$i]['close']) && !is_null($transactions[$i]['open'])) {
|
|
|
|
|
|
|
|
$transactions[$i]['editable'] = true;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
$transactions[$i]['editable'] = false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!is_null($transactions[$i]['cashierid'])) {
|
|
|
|
|
|
|
|
$cashier = getUserByID($transactions[$i]['cashierid']);
|
|
|
|
|
|
|
|
$transactions[$i]['cashier'] = [
|
|
|
|
|
|
|
|
"name" => $cashier['name'],
|
|
|
|
|
|
|
|
"username" => $cashier['username']
|
|
|
|
|
|
|
|
];
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
$transactions = (count($transactions) > 0 ? $transactions : false);
|
|
|
|
|
|
|
|
exit(json_encode(["status" => "OK", "transactions" => $transactions]));
|
|
|
|
case "itemsearch":
|
|
|
|
case "itemsearch":
|
|
|
|
header("Content-Type: application/json");
|
|
|
|
header("Content-Type: application/json");
|
|
|
|
if (!is_empty($VARS['q'])) {
|
|
|
|
if (!is_empty($VARS['q'])) {
|
|
|
|