From 34127ef5e4d56c6a35fc4a0f6ebe6047c60f4898 Mon Sep 17 00:00:00 2001 From: Skylar Ittner Date: Fri, 1 Jun 2018 15:28:28 -0600 Subject: [PATCH] Add item picker grid --- action.php | 29 +++++++++++++++++++++ lang/en_us.php | 3 ++- pages.php | 1 + pages/pos.php | 15 ++++++++++- static/css/pos.css | 4 +++ static/js/pos_customer.js | 1 + static/js/pos_gridview.js | 53 +++++++++++++++++++++++++++++++++++++++ 7 files changed, 104 insertions(+), 2 deletions(-) create mode 100644 static/js/pos_gridview.js diff --git a/action.php b/action.php index 3ca4748..6d10db7 100644 --- a/action.php +++ b/action.php @@ -278,6 +278,35 @@ END; } } + $items = (count($items) > 0 ? $items : false); + exit(json_encode(["status" => "OK", "items" => $items])); + case "getgriditems": + header("Content-Type: application/json"); + $items = $binstack->select('items', [ + 'itemid (id)', 'name', 'price', 'code1', 'code2' + ], [ + 'AND' => ['price[!]' => null, 'price[!]' => 0] + ]); + + if (!empty($VARS['customer']) && $database->has('customers', ['customerid' => $VARS['customer']])) { + for ($n = 0; $n < count($items); $n++) { + $i = $items[$n]; + if ($database->has('customer_pricing', ['AND' => ['itemid' => $i['id'], 'customerid' => $VARS['customer']]])) { + $items[$n]['price'] = $database->get('customer_pricing', 'price', ['AND' => ['itemid' => $i['id'], 'customerid' => $VARS['customer']]]); + } + } + } + + for ($n = 0; $n < count($items); $n++) { + if ($items[$n]['code1'] != "") { + $items[$n]['code'] = $items[$n]["code1"]; + } else if ($items[$n]['code1'] == "" && $items[$n]['code1'] != "") { + $items[$n]['code'] = $items[$n]["code2"]; + } else if (code == "") { + $items[$n]['code'] = "---"; + } + } + $items = (count($items) > 0 ? $items : false); exit(json_encode(["status" => "OK", "items" => $items])); case "customersearch": diff --git a/lang/en_us.php b/lang/en_us.php index 01a42e2..38bdc6f 100644 --- a/lang/en_us.php +++ b/lang/en_us.php @@ -104,5 +104,6 @@ define("STRINGS", [ "all" => "All", "date range" => "Date Range", "start" => "Start", - "end" => "End" + "end" => "End", + "grid view" => "Grid view", ]); diff --git a/pages.php b/pages.php index d15b4a4..96a2070 100644 --- a/pages.php +++ b/pages.php @@ -23,6 +23,7 @@ define("PAGES", [ "static/js/bsalert.js", "static/js/pos_items.js", "static/js/pos_customer.js", + "static/js/pos_gridview.js", "static/js/pos_payment.js", "static/js/pos_finish.js", "static/js/pos.js", diff --git a/pages/pos.php b/pages/pos.php index 47a9632..ff71667 100644 --- a/pages/pos.php +++ b/pages/pos.php @@ -13,6 +13,7 @@ if (isset($_GET['switch']) || !isset($_SESSION['register']) || !$database->has(' require_once __DIR__ . "/../lib/chooseregister.php"; } else { $register = $database->get('registers', ['registerid (id)', 'registername (name)'], ['registerid' => $_SESSION['register']]); + $griditems = $binstack->select('items', ['itemid (id)', 'name', 'price', 'code1', 'code2'], ['AND' => ['price[!]' => null, 'price[!]' => 0]]); ?>