OrderSprinter 1.2.7

This commit is contained in:
Geno 2020-11-19 23:00:14 +01:00
parent 80221f90c7
commit 19372fbca8
25 changed files with 332 additions and 63 deletions

Binary file not shown.

View File

@ -5,7 +5,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.6">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.7">
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

View File

@ -5,7 +5,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.6">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.7">
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

View File

@ -1 +1 @@
html{overflow-y:scroll}.ospage{display:-webkit-flex;display:flex;-webkit-flex-flow:row wrap;flex-flow:row wrap;text-align:center;color:white}.ospage>*{padding:10px;flex:100%}.main{text-align:left;background:cornflowerblue;-webkit-flex:5;flex:5;-webkit-flex-flow:nowrap;flex-flow:nowrap}.header{background:black}.footer{display:-webkit-flex;display:flex;-webkit-justify-content:center;justify-content:center;-webkit-flex-wrap:row nowrap;flex-flow:row nowrap;background:black;-webkit-align-items:stretch;align-items:stretch}#loggedinuser{text-align:left;width:50%}#versioninfo{text-align:right;color:white;width:50%}.aside1{background:moccasin;color:black;width:0;-webkit-flex:2;flex:2}.aside2{background:violet;-webkit-flex:1;flex:1}@media all and (min-width:400px){.aside1{order:1}.main{order:2}.aside2{order:3}.ordereditem-sentcontainer{order:4}.footer{order:5}}.input100{width:100%;height:50px}.input50{width:49%;height:50px}.inputwhite[type="text"]{background-color:white}.inputwhite[type="submit"]{background-color:white}.inputgreen[type="text"]{background-color:#0f0}.inputgreen[type="submit"]{background-color:#0f0}.infoarea{width:49%;background-color:#afa;color:black;font-weight:bold;font-size:20px;display:-webkit-flex;display:flex;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;align-items:center;border:2px solid red}.mainmenuchoice{list-style-type:none;padding:0;border:1px solid #ddd}.mainmenuitem{padding:8px 16px;border-bottom:1px solid #ddd;background-color:#fff6b5;height:40px;font-size:16px;font-weight:bold}.mainmenuitem:hover{background-color:#eed33f}.extraitem:last-child{border-bottom:0}#loggedinuser{color:black}.buttonarea{box-shadow:10px 10px 5px #888}
html{overflow-y:scroll}.ospage{display:-webkit-flex;display:flex;-webkit-flex-flow:row wrap;flex-flow:row wrap;text-align:center;color:white}.ospage>*{padding:10px;flex:100%}.main{text-align:left;background:cornflowerblue;-webkit-flex:5;flex:5;-webkit-flex-flow:nowrap;flex-flow:nowrap}.header{background:black}.footer{display:-webkit-flex;display:flex;-webkit-justify-content:center;justify-content:center;-webkit-flex-wrap:row nowrap;flex-flow:row nowrap;background:black;-webkit-align-items:stretch;align-items:stretch}#loggedinuser{text-align:left;width:50%}#versioninfo{text-align:right;color:white;width:50%}.aside1{background:moccasin;color:black;width:0;-webkit-flex:2;flex:2}.aside2{background:violet;-webkit-flex:1;flex:1}@media all and (min-width:400px){.aside1{order:1}.main{order:2}.aside2{order:3}.ordereditem-sentcontainer{order:4}.footer{order:5}}.input100{width:100%;height:50px}.input50{width:49%;height:50px}.inputwhite[type="text"]{background-color:white}.inputwhite[type="submit"]{background-color:white}.inputgreen[type="text"]{background-color:#0f0}.inputgreen[type="submit"]{background-color:#0f0}.inputblue[type="text"]{background-color:#8ee5ee}.inputblue[type="submit"]{background-color:#8ee5ee}.infoarea{width:49%;background-color:#afa;color:black;font-weight:bold;font-size:20px;display:-webkit-flex;display:flex;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;align-items:center;border:2px solid red}.mainmenuchoice{list-style-type:none;padding:0;border:1px solid #ddd}.mainmenuitem{padding:8px 16px;border-bottom:1px solid #ddd;background-color:#fff6b5;height:40px;font-size:16px;font-weight:bold}.mainmenuitem:hover{background-color:#eed33f}.extraitem:last-child{border-bottom:0}#loggedinuser{color:black}.buttonarea{box-shadow:10px 10px 5px #888}

View File

@ -1 +1 @@
.productspanel{display:-webkit-flex;display:flex;-webkit-justify-content:left;justify-content:left;-webkit-flex-wrap:row wrap;flex-flow:row wrap;background-color:lightgrey}.productitem{background-color:#ff0;width:100px;height:100px;margin:10px;border-radius:25px;border:2px solid #73ad21;padding:20px;color:black;font-weight:bold;text-align:center;box-shadow:10px 10px 5px #888;word-wrap:break-word}
.productspanel{display:-webkit-flex;display:flex;-webkit-justify-content:left;justify-content:left;-webkit-flex-wrap:row wrap;flex-flow:row wrap;background-color:lightgrey}.productitem{background-color:#ff0;width:100px;height:100px;margin:10px;border-radius:25px;border:2px solid #73ad21;padding:20px;color:black;font-weight:bold;text-align:center;box-shadow:10px 10px 5px #888;word-wrap:break-word}.prodToMoveEl{padding:8px 16px;border-bottom:1px solid #ddd;height:40px;font-size:16px;font-weight:bold}.proditemselected{background-color:#0f0}.proditemunselected{background-color:#eee}

View File

@ -1 +1 @@
.roompanel{display:-webkit-flex;display:flex;-webkit-justify-content:center;justify-content:center;-webkit-flex-wrap:row nowrap;flex-flow:row nowrap;background-color:lightgrey;width:100%;-webkit-align-items:stretch;align-items:stretch}.roomitem{background-color:#fff6b5;height:60px;padding:10px;color:black;font-weight:bold;text-align:center;border:2px solid #aaa;-webkit-flex:1;flex:10;box-shadow:10px 10px 5px #888;word-wrap:break-word}.roomitemselected{background-color:#eee6b5;height:65px;padding:10px;color:black;font-weight:bold;text-align:center;border:2px solid red;-webkit-flex:1;flex:15;box-shadow:10px 10px 5px #888}.roomtogo{display:-webkit-flex;display:flex;-webkit-justify-content:center;justify-content:center;-webkit-flex-wrap:row wrap;flex-flow:row wrap}.roomname{width:100%}.roomtogoaccounted{background:white;color:black;-webkit-flex:1;flex:1;order:2;font-weight:normal}
.roompanel{display:-webkit-flex;display:flex;-webkit-justify-content:center;justify-content:center;-webkit-flex-wrap:row nowrap;flex-flow:row nowrap;background-color:lightgrey;width:100%;-webkit-align-items:stretch;align-items:stretch}.roomitem{background-color:#fff6b5;height:60px;padding:10px;color:black;font-weight:bold;text-align:center;border:2px solid #aaa;-webkit-flex:1;flex:10;box-shadow:10px 10px 5px #888;word-wrap:break-word}.roomitemselected{background-color:#eee6b5;height:65px;padding:10px;color:black;font-weight:bold;text-align:center;border:2px solid red;-webkit-flex:1;flex:15;box-shadow:10px 10px 5px #888}.roomtogo{display:-webkit-flex;display:flex;-webkit-justify-content:center;justify-content:center;-webkit-flex-wrap:row wrap;flex-flow:row wrap}.roomname{width:100%}.roomtogoaccounted{background:white;color:black;-webkit-flex:1;flex:1;order:2;font-weight:normal}.roomchangeitem{padding:8px 16px;border-bottom:1px solid #ddd;background-color:#dd0;height:40px;font-size:16px;font-weight:bold}

View File

@ -1 +1 @@
.tablepanel{display:-webkit-flex;display:flex;-webkit-flex-flow:row wrap;flex-flow:row wrap;text-align:center;color:white}.tablepanel>*{padding:10px;-webkit-flex-wrap:wrap;flex-flow:wrap}.tablepanelcontent{display:-webkit-flex;display:flex;-webkit-flex-flow:row wrap;flex-flow:row wrap;text-align:center;color:white;-webkit-justify-content:center;justify-content:center}.tablepanelheader{background:black;flex:100%}.tableelement{display:-webkit-flex;display:flex;-webkit-flex-flow:row wrap;flex-flow:row wrap;font-weight:bold;text-align:center;width:100px;height:40px;padding:5px;box-shadow:10px 10px 5px #888}.tableelement>*{flex:1 100%}.tableitem{background-color:LightGreen;color:black;margin:5px;border-radius:15px;border:2px solid #73ad21;font-weight:bold;text-align:center}.tableitemselected{background-color:LightGreen;color:black;border-radius:15px;border:4px solid red;font-weight:bold;text-align:center}.tablename{order:1;padding:0;width:100%}.tableopen{background:white;color:black;-webkit-flex:1;flex:1;order:2;font-weight:normal}.tableready{background:white;color:black;-webkit-flex:1;flex:1;order:3}
.tablepanel{display:-webkit-flex;display:flex;-webkit-flex-flow:row wrap;flex-flow:row wrap;text-align:center;color:white}.tablepanel>*{padding:10px;-webkit-flex-wrap:wrap;flex-flow:wrap}.tablepanelcontent{display:-webkit-flex;display:flex;-webkit-flex-flow:row wrap;flex-flow:row wrap;text-align:center;color:white;-webkit-justify-content:center;justify-content:center}.tablepanelheader{background:black;flex:100%}.tableelement{display:-webkit-flex;display:flex;-webkit-flex-flow:row wrap;flex-flow:row wrap;font-weight:bold;text-align:center;width:100px;height:40px;padding:5px;box-shadow:10px 10px 5px #888}.tableelement>*{flex:1 100%}.tableitem{background-color:LightGreen;color:black;margin:5px;border-radius:15px;border:2px solid #73ad21;font-weight:bold;text-align:center}.tableitemselected{background-color:LightGreen;color:black;border-radius:15px;border:4px solid red;font-weight:bold;text-align:center}.tablename{order:1;padding:0;width:100%}.tableopen{background:white;color:black;-webkit-flex:1;flex:1;order:2;font-weight:normal}.tableready{background:white;color:black;-webkit-flex:1;flex:1;order:3}.tablechangeitem{padding:8px 16px;border-bottom:1px solid #ddd;background-color:#ff0;height:40px;font-size:16px;font-weight:bold}

View File

@ -4,7 +4,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.6">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.7">
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

View File

@ -6,8 +6,8 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.6">
<link rel="stylesheet" type="text/css" href="css/numfield.css?v=1.2.6">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.7">
<link rel="stylesheet" type="text/css" href="css/numfield.css?v=1.2.7">
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

View File

@ -679,7 +679,7 @@ $(document).ready(function() {
<tr id=updateline>
<td>&nbsp;</td>
<td align=center>
<button id="updatebtn">Update -> 1.2.6</button>
<button id="updatebtn">Update -> 1.2.7</button>
</td>
<td>&nbsp;</td>
</tr>

View File

@ -1360,7 +1360,6 @@ return false;
DbUtils::overrulePrefix($prefix);
$this->updateVersion($pdo, '1.2.6');
return true;
} catch (PDOException $e) {
@ -1368,6 +1367,25 @@ return false;
}
}
function updateUserTable1206_1207($prefix, $version, $dbname) {
$pdo = $this->pdo;
try {
if ($version != "1.2.6") {
$ret = $this->updateUserTable1205_1206($prefix, $version, $dbname);
if (!$ret) {
return false;
}
}
DbUtils::overrulePrefix($prefix);
$this->updateVersion($pdo, '1.2.7');
return true;
} catch (PDOException $e) {
return false;
}
}
function setVersion($prefix,$theVersion) {
$pdo = $this->pdo;
try {
@ -1480,7 +1498,7 @@ $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VAL
$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'billlanguage', $billlanguage)");
$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'currency', '$currency')");
$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'receiptfontsize', '12')");
$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'version', '1.2.6')");
$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'version', '1.2.7')");
$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'paymentconfig', '0')");
$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'remoteaccesscode', null)");
$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'decpoint', '$decpoint')");
@ -1849,7 +1867,7 @@ $zones[] = $timezone_identifiers[$i];
echo json_encode($zones);
} else if ($command == 'update') {
$installerVersion = "1.2.6";
$installerVersion = "1.2.7";
$admin = new InstallAdmin();
$pdo = $admin->openDbAndReturnPdo($_POST['host'],$_POST['db'],$_POST['user'],$_POST['password']);
@ -1879,7 +1897,7 @@ $supportedVersions = array("1.0.22","1.0.23","1.0.24","1.0.25","1.0.26","1.0.27"
"1.0.40","1.0.41","1.0.42","1.0.43",
"1.1.0","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5","1.1.6","1.1.7","1.1.8", "1.1.9","1.1.10","1.1.11","1.1.12","1.1.13","1.1.14","1.1.15","1.1.16","1.1.17",
"1.1.18","1.1.19","1.1.20","1.1.21","1.1.22","1.1.23","1.1.24","1.1.25","1.1.26","1.1.27","1.1.28","1.1.29","1.1.30",
"1.2.0","1.2.1","1.2.2", "1.2.3", "1.2.4","1.2.5"
"1.2.0","1.2.1","1.2.2", "1.2.3", "1.2.4","1.2.5","1.2.6"
);
if (!in_array($version, $supportedVersions)) {
@ -1887,7 +1905,7 @@ echo json_encode("Quellversion nicht unterstützt");
return;
}
$ret = $admin->updateUserTable1205_1206($_POST['prefix'], $version, $_POST['db']);
$ret = $admin->updateUserTable1206_1207($_POST['prefix'], $version, $_POST['db']);
if(session_id() == '') {
session_start();

View File

@ -5,7 +5,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.6">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.7">
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

View File

@ -5,7 +5,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.6">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.7">
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

View File

@ -5,7 +5,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.6">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.7">
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

View File

@ -1069,7 +1069,7 @@ class Admin {
$view = "preferences.html";
}
echo json_encode($view . "?v=1.2.6");
echo json_encode($view . "?v=1.2.7");
}
}
@ -1286,24 +1286,24 @@ class Admin {
if (!self::isOnlyRatingUser($rights, $right_rating, true)) {
if ($_SESSION['modus'] == 0) {
if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waitertxt[$lang], "link" => "waiter.html?v=1.2.6"); };
if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waitertxt[$lang], "link" => "waiter.html?v=1.2.7"); };
} else {
if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waiterdesktxt[$lang], "link" => "waiterdesktop.php?v=1.2.6"); };
if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waiterdesktxt[$lang], "link" => "waiterdesktop.php?v=1.2.7"); };
}
if ($_SESSION['right_kitchen']) { $mainMenu[] = array("name" => $kitchentxt[$lang], "link" => "kitchen.html?v=1.2.6"); };
if ($_SESSION['right_bar']) { $mainMenu[] = array("name" => "Bar", "link" => "bar.html?v=1.2.6"); };
if ($_SESSION['right_supply']) { $mainMenu[] = array("name" => $supplytxt[$lang], "link" => "supplydesk.html?v=1.2.6"); };
if ($_SESSION['right_kitchen']) { $mainMenu[] = array("name" => $kitchentxt[$lang], "link" => "kitchen.html?v=1.2.7"); };
if ($_SESSION['right_bar']) { $mainMenu[] = array("name" => "Bar", "link" => "bar.html?v=1.2.7"); };
if ($_SESSION['right_supply']) { $mainMenu[] = array("name" => $supplytxt[$lang], "link" => "supplydesk.html?v=1.2.7"); };
if ($_SESSION['modus'] == 0) {
if ($_SESSION['right_paydesk']) { $mainMenu[] = array("name" => $paydesktxt[$lang], "link" => "paydesk.html?v=1.2.6"); };
if ($_SESSION['right_paydesk']) { $mainMenu[] = array("name" => $paydesktxt[$lang], "link" => "paydesk.html?v=1.2.7"); };
}
if ($_SESSION['right_statistics']) { $mainMenu[] = array("name" => $stattxt[$lang], "link" => "reports.html?v=1.2.6"); };
if ($_SESSION['right_bill']) { $mainMenu[] = array("name" => $bontxt[$lang], "link" => "bill.html?v=1.2.6"); };
if ($_SESSION['right_products']) { $mainMenu[] = array("name" => $prodtxt[$lang], "link" => "products.html?v=1.2.6"); };
if ($_SESSION['right_reservation']) { $mainMenu[] = array("name" => $restxt[$lang], "link" => "reservation.html?v=1.2.6"); };
if ($_SESSION['right_rating']) { $mainMenu[] = array("name" => $ratingtxt[$lang], "link" => "rating.html?v=1.2.6"); };
if ($_SESSION['right_manager'] || $_SESSION['is_admin'] || $_SESSION['right_closing']) { $mainMenu[] = array("name" => $admintxt[$lang], "link" => "manager.html?v=1.2.6"); };
$mainMenu[] = array("name" => $settingtxt[$lang], "link" => "preferences.html?v=1.2.6");
$mainMenu[] = array("name" => "Feedback", "link" => "feedback.html?v=1.2.6");
if ($_SESSION['right_statistics']) { $mainMenu[] = array("name" => $stattxt[$lang], "link" => "reports.html?v=1.2.7"); };
if ($_SESSION['right_bill']) { $mainMenu[] = array("name" => $bontxt[$lang], "link" => "bill.html?v=1.2.7"); };
if ($_SESSION['right_products']) { $mainMenu[] = array("name" => $prodtxt[$lang], "link" => "products.html?v=1.2.7"); };
if ($_SESSION['right_reservation']) { $mainMenu[] = array("name" => $restxt[$lang], "link" => "reservation.html?v=1.2.7"); };
if ($_SESSION['right_rating']) { $mainMenu[] = array("name" => $ratingtxt[$lang], "link" => "rating.html?v=1.2.7"); };
if ($_SESSION['right_manager'] || $_SESSION['is_admin'] || $_SESSION['right_closing']) { $mainMenu[] = array("name" => $admintxt[$lang], "link" => "manager.html?v=1.2.7"); };
$mainMenu[] = array("name" => $settingtxt[$lang], "link" => "preferences.html?v=1.2.7");
$mainMenu[] = array("name" => "Feedback", "link" => "feedback.html?v=1.2.7");
}
$mainMenu[] = array("name" => $logout[$lang], "link" => "logout.php");
@ -1312,7 +1312,7 @@ class Admin {
$waiterMessage = $this->getMessage(null, "waitermessage");
}
// CAUTION: change version also in config.txt!!!
$mainMenuAndVersion = array ("version" => "OrderSprinter 1.2.6",
$mainMenuAndVersion = array ("version" => "OrderSprinter 1.2.7",
"user" => $currentUser,
"menu" => $mainMenu,
"waitermessage" => $waiterMessage,

View File

@ -1065,11 +1065,11 @@ class QueueContent {
}
if ($tableid == 0) {
$sql .= "%queue%.tablenr is null ORDER BY ordertime";
$sql .= "%queue%.tablenr is null ORDER BY ordertime, quid";
$stmt = $pdo->prepare(DbUtils::substTableAlias($sql));
$stmt->execute();
} else {
$sql .= "%queue%.tablenr=? ORDER BY ordertime";
$sql .= "%queue%.tablenr=? ORDER BY ordertime, quid";
$stmt = $pdo->prepare(DbUtils::substTableAlias($sql));
$stmt->execute(array($tableid));
}
@ -1092,7 +1092,7 @@ class QueueContent {
}
$prods = array();
$sql = "SELECT productid,readytime,paidtime,cooking,productname,anoption,productname,togo,pricechanged,price FROM %queue% WHERE id=?";
$sql = "SELECT productid,readytime,paidtime,cooking,productname,anoption,productname,togo,pricechanged,price FROM %queue% WHERE id=? ORDER BY productid ";
$stmt = $pdo->prepare(DbUtils::substTableAlias($sql));
foreach ($resultids as $anId) {
$stmt->execute(array($anId));
@ -1213,7 +1213,7 @@ class QueueContent {
} else {
$sql .= "WHERE tablenr = $tableid ";
}
$sql .= "AND paidtime is null AND toremove <> '1' AND ordertime is not null AND isclosed is null ORDER BY ordertime;";
$sql .= "AND paidtime is null AND toremove <> '1' AND ordertime is not null AND isclosed is null ORDER BY ordertime, id;";
$stmt = $pdo->prepare(DbUtils::substTableAlias($sql));
$stmt->execute();

View File

@ -5,7 +5,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.6">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.7">
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

View File

@ -7,7 +7,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.6">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.7">
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

View File

@ -7,7 +7,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.6">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.7">
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

View File

@ -7,7 +7,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.6">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.7">
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

View File

@ -5,7 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.6">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.7">
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

View File

@ -5,7 +5,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.6">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.7">
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

View File

@ -4,7 +4,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="author" content="Stefan Pichel">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.6">
<link rel="stylesheet" type="text/css" href="css/bestformat.css?v=1.2.7">
<link rel="stylesheet" href="php/3rdparty/orderstyle/orderstyle.min.css" />
<link rel="stylesheet" href="php/3rdparty/orderstyle/jquery.mobile.icons.min.css" />

View File

@ -49,16 +49,19 @@ function handleSentNewOrders(answer) {
alert("Es ist ein Fehler beim Versenden der Bestellung aufgetreten");
} else {
neworders = [];
requestRoomInformation();
//showTablesForRoomIndex();
clearProductsSelection();
requestProdInformation();
requestOrderedInformation();
$("#search").val("");
displayPanels();
refreshGui();
}
}
function refreshGui() {
requestRoomInformation();
clearProductsSelection();
requestProdInformation();
requestOrderedInformation();
displayPanels();
}
function getTableid() {
if (selectedroomindex !== null) {
if (selectedroomindex < 0) {
@ -87,6 +90,43 @@ function disableSendButton() {
// $("#sendNewOrders").addClass("inputwhite");
}
function moveItems() {
$( "#selectiondialog" ).dialog({
autoOpen: false,
modal: true,
height: 400,
buttons: {
Abbrechen: function() {$(this).dialog("close"); }
}
});
var roomstxt = getRoomsForDialog();
$("#selectiondialog").html(roomstxt);
$( "#selectiondialog" ).dialog("open");
$(".ui-dialog-buttonset .ui-button").css('background-color', '#44ff44');
$(".ui-widget-header").css('background-color', '#ff4400');
bindMoveItemsRoom();
}
// REM* in the change tabe view a room was selected
function bindMoveItemsRoom() {
$(".roomchangeitem").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
// REM* now display tables of that room
var newRoom = parseInt(this.id.split('_')[1]);
var tabletxt = getTablesForDialog(newRoom);
$( "#selectiondialog" ).dialog("open");
$("#selectiondialog").html(tabletxt);
bindMoveItemsTable(newRoom);
});
}
function bindRightButtons() {
$("#sendNewOrders").off("click").on("click", function (e) {
e.stopImmediatePropagation();
@ -123,19 +163,169 @@ function bindRightButtons() {
$("#mainmenudlg").dialog(
{autoOpen: false,
modal: true,
});
// $("#mainmenudlg").dialog(
// {autoOpen: false,
// modal: true,
// height: 580,
// position:{my:"right top",at:"right+100 top+100", of:"body"},
// buttons: {
// Abbrechen: function() {$(this).dialog("close"); }
// }
// });
$("#changetablebtn").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
moveItems();
});
}
function bindMoveItemsTable(roomindex) {
$(".tablechangeitem").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
moveToRoomIndex = roomindex;
var chosenTableIndex = parseInt(this.id.split('_')[1]);
var theTable = roominfo.roomstables[roomindex].tables[chosenTableIndex];
moveToTableId = theTable.id;
// REM* now show the items that may be moved (the "from" part)
if (selectedroomindex != "-1") {
var theTable = roominfo.roomstables[selectedroomindex].tables[selectedtableindex];
moveFromTableId = theTable.id;
$("#selectiondialog").dialog("close");
doAjax("GET", "php/contenthandler.php?module=queue&command=getProdsForTableChange", {tableId: moveFromTableId}, insertProductsToChangeTableDlg, null, true);
} else {
$("#selectiondialog").dialog("close");
}
});
}
function insertProductsToChangeTableDlg(jsonContent) {
if (jsonContent.status != "OK") {
alert("Fehler");
return;
}
prodsToMove = jsonContent.msg;
// REM* modus that shows all items as selected -> so next button press is unselect
allselected = 1;
updateProdToMoveList();
$("#selectallnothing").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
allselected = 1 - allselected;
for (var i = 0; i < prodsToMove.length; i++) {
var anEntry = prodsToMove[i];
if (allselected === 1) {
anEntry["class"] = "selecteditem";
} else {
anEntry["class"] = "unselecteditem";
}
}
updateProdToMoveList();
});
}
function updateProdToMoveList() {
if (allselected === 1) {
$("#selectallnothing_txt").val(W_UNSELALL[lang]);
} else {
$("#selectallnothing_txt").val(W_SELALL[lang]);
}
var txt = "";
for (var i = 0; i < prodsToMove.length; i++) {
var anEntry = prodsToMove[i];
var id = "prodToMove_" + i;
var status = " (unbezahlt)";
var theme = "proditemselected";
// REM* class property is "selecteditem" or "unselecteditem" - due to user selection of the item
if (anEntry["class"] === undefined) {
anEntry["class"] = "selecteditem";
}
var theclass = anEntry["class"];
if (theclass == "unselecteditem") {
theme = "proditemunselected";
}
if (anEntry["status"] === "unpaid_undelivered") {
status = " (unbezahlt, nicht serviert)";
}
if ((workflowconfig == WORKFLOW_WORK) || (workflowconfig == WORKFLOW_WORK_TRANSFER)) {
// REM* no: undisplay
status = "";
}
var spantxt = "<span class='" + theclass + "'>" + anEntry["productname"] + status + "</span>";
txt += "<li class='prodToMoveEl " + theme + "' id='" + id + "' >" + spantxt + "</li>";
}
$("#productsToMoveList").html(txt);
$( "#moveItemdslg" ).dialog({
autoOpen: false,
modal: true,
height: 600,
width: 800,
buttons: {
Abbrechen: function() {$(this).dialog("close"); },
Verschieben: function() {$(this).dialog("close"); doMoveItems();}
}
});
$("#moveItemdslg").dialog("open");
handleClickOnMoveableProd();
}
function handleClickOnMoveableProd() {
$(".prodToMoveEl").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
var index = this.id.split("_")[1];
var anEntry = prodsToMove[index];
var theclass = anEntry["class"];
if (theclass == "unselecteditem") {
anEntry["class"] = "selecteditem";
} else {
anEntry["class"] = "unselecteditem";
}
updateProdToMoveList();
});
}
function doMoveItems() {
$("#moveItemdslg").dialog("close");
var entries = [];
for (var i = 0; i < prodsToMove.length; i++) {
var anEntry = prodsToMove[i];
var theclass = anEntry["class"];
if (theclass == "selecteditem") {
entries[entries.length] = anEntry["queueid"];
}
}
if (entries.length === 0) {
alert(W_NO_PRODS_SELECTED[lang]);
} else {
var entryCommaTxt = entries.join();
var data = {
fromTableId: moveFromTableId,
toTableId: moveToTableId,
queueids: entryCommaTxt
};
doAjax("POST", "php/contenthandler.php?module=queue&command=changeTable", data, resultOfChangeTable, "Fehler Tischwechsel", true);
}
}
function resultOfChangeTable (jsonResult) {
if (jsonResult.status != "OK") {
alert("Fehler "
+ jsonResult.code
+ ": "
+ jsonResult.msg
+ "\n\nMöglicherweise hat ein Kollege\nin der Zwischenzeit Produkte zugestellt.");
} else {
alert("Tischwechsel durchgeführt!");
}
refreshGui();
}function requestRoomInformation() {
doAjax("GET", "php/contenthandler.php?module=roomtables&command=showAllRooms", null, insertRoomInfo, null,true);
}
@ -180,11 +370,23 @@ function showRooms() {
bindingRoom();
}
// REM* for display in change table dialog
function getRoomsForDialog() {
var allRooms = roominfo.roomstables;
var txt = "";
$.each(allRooms, function (i, aRoom) {
txt += '<div id="changeroom_' + i + '" class="roomchangeitem">' + aRoom.name + '</div>';
});
return txt;
}
function bindingRoom() {
$(".roomitem").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
var newRoom = parseInt(this.id.split('_')[1]);
$("#changetablebtn").hide();
if (panelMode == "waiter") {
if (neworders.length > 0) {
$( "#unsentorderdlg" ).dialog({
@ -276,6 +478,18 @@ function showTablesForRoomIndex() {
bindingTable();
}
// REM* for change table dialog
function getTablesForDialog(roomindex) {
var tables = roominfo.roomstables[roomindex].tables;
var txt = "";
$.each(tables, function (i, aTable) {
txt += '<div id="changetable_' + i + '" class="tablechangeitem">' + aTable.name + '</div>';
});
return txt;
}
function bindingTable() {
$(".tableitem").off("click").on("click", function (e) {
e.stopImmediatePropagation();
@ -284,6 +498,7 @@ function bindingTable() {
var newTable = parseInt(this.id.split('_')[1]);
if (panelMode == "waiter") {
$("#changetablebtn").show();
if (neworders.length > 0) {
$( "#unsentorderdlg" ).dialog({
autoOpen: false,
@ -1094,8 +1309,23 @@ var WORKFLOW_WORK_TRANSFER = 3;
var productFilter = null;
// REM* list of products that may be moved
var prodsToMove = [];
// REM* if the button "un/select all" in the change table is on or off...
var allselected = 0;
// REM* room and table from/to which products shall be moved
var moveFromTableId = null;
var moveToRoomIndex = null;
var moveToTableId = null;
var panelMode = "waiter";
var W_SELALL = ["Alles auswählen","Select all","Elegir todo"];
var W_UNSELALL = ["Alles abwählen","Unselect all","No elegir nada"];
var W_NO_PRODS_SELECTED = ["Es wurden keine Produkte ausgewählt!","You have not chosen any products!","No ha seleccionado ningún producto!"];
$(document).ready(function(){
selectedroomindex = null;
productFilter = null;
@ -1242,6 +1472,14 @@ function bindMainMenuButton() {
height: 400,
width: 200,
});
$("#moveItemdslg").dialog(
{autoOpen: false,
modal: true,
height: 400,
width: 200,
});
$("#mainmenubtn").off("click").on("click", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
@ -1343,6 +1581,7 @@ function displayPanels() {
// REM* show/hide buttons due to workflowconfig and availability of items
function displayRightButtons() {
$("#changetablebtn").hide();
if (panelMode === "waiter") {
if (rightpaydesk == 1) {
$("#paydeskbtn").show();
@ -1359,6 +1598,9 @@ function displayRightButtons() {
$("#sendNewOrders").show();
}
}
if ((selectedtableindex != null) && (neworders.length == 0)) {
$("#changetablebtn").show();
}
} else {
// REM* paydesk
$("#paydeskbtn").hide();
@ -2652,6 +2894,7 @@ function printBill(billid) {
<input id="goorderbtn" class="input100 inputwhite"type="submit" value="Bestellung" style="display:none;"/>
<input id="workbtn" class="input100 inputwhite" type="submit" value="Arbeitsbon" style="display:none;" />
<input id="sendNewOrders" class="input100 inputwhite" type="submit" value="Bestellung abschließen" style="display:none;" />
<input id="changetablebtn" class="input100 inputwhite" type="submit" value="Tischwechsel" style="display:none;" />
</div>
<div id="neworders" class="ordereditem-container"></div>
@ -2709,5 +2952,13 @@ function printBill(billid) {
<div id="ordereditemreorder" class="actbtn">Nachbestellen</div>
<div id="ordereditemcancel" class="actbtn">Abbrechen</div>
</div>
<div id="moveItemdslg" title="Auswahl der Orderelemente">
<div>Welche Orderelemente sollen dem neuen Tisch zugewiesen werden?</div>
<div id="selectallnothing">
<input id="selectallnothing_txt" class="input100 inputblue" type="submit" />
</div>
<ul id="productsToMoveList" class="extraschoice"></ul>
</div>
</body>
</html>