diff --git a/javaprinter/javaprinter.jar b/javaprinter/javaprinter.jar index d840991..0622ea5 100644 Binary files a/javaprinter/javaprinter.jar and b/javaprinter/javaprinter.jar differ diff --git a/printserver/OrderSprinterPrintserver.exe b/printserver/OrderSprinterPrintserver.exe index 78f11a0..0371a59 100755 Binary files a/printserver/OrderSprinterPrintserver.exe and b/printserver/OrderSprinterPrintserver.exe differ diff --git a/webapp/OrderSprinterPrintserver.exe b/webapp/OrderSprinterPrintserver.exe index 78f11a0..0371a59 100755 Binary files a/webapp/OrderSprinterPrintserver.exe and b/webapp/OrderSprinterPrintserver.exe differ diff --git a/webapp/bar.html b/webapp/bar.html index 9d17882..67922d4 100644 --- a/webapp/bar.html +++ b/webapp/bar.html @@ -5,7 +5,7 @@ - + diff --git a/webapp/bill.html b/webapp/bill.html index 40b8fdd..82f1a7d 100644 --- a/webapp/bill.html +++ b/webapp/bill.html @@ -5,7 +5,7 @@ - + diff --git a/webapp/feedback.html b/webapp/feedback.html index 3f20d27..fa2a54e 100644 --- a/webapp/feedback.html +++ b/webapp/feedback.html @@ -4,7 +4,7 @@ - + diff --git a/webapp/index.html b/webapp/index.html index fec54f8..5bf2afe 100644 --- a/webapp/index.html +++ b/webapp/index.html @@ -7,8 +7,8 @@ - - + + diff --git a/webapp/install.html b/webapp/install.html index 94fd59a..abfd1bf 100644 --- a/webapp/install.html +++ b/webapp/install.html @@ -679,7 +679,7 @@ $(document).ready(function() {   - +   diff --git a/webapp/install/installer.php b/webapp/install/installer.php index f44dae1..81ae371 100644 --- a/webapp/install/installer.php +++ b/webapp/install/installer.php @@ -1086,6 +1086,35 @@ return false; } } +function updateUserTable1127_1128($prefix,$version) { +$pdo = $this->pdo; +try { +if ($version != "1.1.27") { +$ret = $this->updateUserTable1126_1127($prefix,$version); +if (!$ret) { +return false; +} +} + +$adminCl = new Admin(); +DbUtils::overrulePrefix($prefix); + +$rect = "l;\nt:llllllllllllllllllll; f: ; a_ID:rrrrrrrr\n;f: ;d:w\n\ng:v; c:v\n\nk:rrr; s: ; m:v; s: ; n:rrrrrr; o:rrrrrrr\nf:-\n"; +$rect .= "START_PRODUCTS\na:rrr; s: ; c:v; s: ; b:rrrrrr; d:rrrrrrr\nEND_PRODUCTS\n\n"; +$rect .= "p:rrrrr; q:rrrrrr; r:rrrrrrrr; n:rrrrrrrr\nSTART_TAXES\nt:rrrrr; m:rrrrrr; n:rrrrrrrr; b:rrrrrrrr\nEND_TAXES\n\n"; +$rect .= "f: ; E_Summe:llllllllllllllllllll;\n\nj:l;"; + +$sql = "INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL,?,?)"; +$stmt = $pdo->prepare($this->basedb->resolveTablenamesInSqlString($sql)); +$stmt->execute(array('rectemplate',$rect)); + +$this->updateVersion($pdo, '1.1.28'); +return true; +} catch (PDOException $e) { +return false; +} +} + function setVersion($prefix,$theVersion) { $pdo = $this->pdo; try { @@ -1138,6 +1167,13 @@ $this->basedb->createExtrasTable($pdo); $this->basedb->createExtrasprodsTable($pdo); $this->basedb->createQueueExtrasTable($pdo); +$rect = "l;\nt:llllllllllllllllllll; f: ; a_ID:rrrrrrrr\n;f: ;d:w\n\ng:v; c:v\n\nk:rrr; s: ; m:v; s: ; n:rrrrrr; o:rrrrrrr\nf:-\n"; +$rect .= "START_PRODUCTS\na:rrr; s: ; c:v; s: ; b:rrrrrr; d:rrrrrrr\nEND_PRODUCTS\n\n"; +$rect .= "p:rrrrr; q:rrrrrr; r:rrrrrrrr; n:rrrrrrrr\nSTART_TAXES\nt:rrrrr; m:rrrrrr; n:rrrrrrrr; b:rrrrrrrr\nEND_TAXES\n\n"; +$rect .= "f: ; E_Summe:llllllllllllllllllll;\n\nj:l;"; + +$printpass = md5("123"); + $this->basedb->doSQL($pdo,"INSERT INTO `%pricelevel%` (`id` , `name`,`info`,`info_en`,`info_esp`) VALUES ('1', 'A', 'Normale Preisstufe', 'Normal', 'Normal')"); $this->basedb->doSQL($pdo,"INSERT INTO `%pricelevel%` (`id` , `name`,`info`,`info_en`,`info_esp`) VALUES ('2', 'B', 'Wochenendtarif', 'Weekend prices','Tarifa del fin de semana')"); $this->basedb->doSQL($pdo,"INSERT INTO `%pricelevel%` (`id` , `name`,`info`,`info_en`,`info_esp`) VALUES ('3', 'C', 'Happy Hour', 'Happy Hour','Happy Hour')"); @@ -1146,8 +1182,9 @@ $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VAL $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'tax', '19.0')"); $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'togotax', '7.0')"); $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'stornocode', '123')"); -$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'printpass', 'printen')"); +$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'printpass', '$printpass')"); $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'companyinfo', 'Musterrestaurant\nBeispielstrasse 123\n12345 Musterort')"); +$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'rectemplate', '$rect')"); $resTxt = 'Vielen Dank für Ihre Reservierung am DATUM um ZEIT Uhr für ANZAHL Personen.\n\nWir freuen uns auf Ihren Besuch!\n\nBETRIEBSINFO'; $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'reservationnote', '$resTxt')"); $this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'serverurl', '')"); @@ -1157,7 +1194,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.1.27')"); +$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'version', '1.1.28')"); $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')"); @@ -1520,7 +1557,7 @@ $zones[] = $timezone_identifiers[$i]; } echo json_encode($zones); } else if ($command == 'update') { -$installerVersion = "1.1.27"; +$installerVersion = "1.1.28"; $admin = new InstallAdmin(); $pdo = $admin->openDbAndReturnPdo($_POST['host'],$_POST['db'],$_POST['user'],$_POST['password']); @@ -1549,7 +1586,7 @@ $supportedVersions = array("1.0.22","1.0.23","1.0.24","1.0.25","1.0.26","1.0.27" "1.0.30","1.0.31","1.0.32","1.0.33","1.0.34","1.0.35","1.0.36","1.0.37","1.0.38","1.0.39", "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.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" ); if (!in_array($version, $supportedVersions)) { @@ -1557,7 +1594,7 @@ echo json_encode("Quellversion nicht unterstützt"); return; } -$ret = $admin->updateUserTable1126_1127($_POST['prefix'], $version); +$ret = $admin->updateUserTable1127_1128($_POST['prefix'], $version); if(session_id() == '') { session_start(); diff --git a/webapp/kitchen.html b/webapp/kitchen.html index c57a6ea..8bd1177 100644 --- a/webapp/kitchen.html +++ b/webapp/kitchen.html @@ -5,7 +5,7 @@ - + diff --git a/webapp/manager.html b/webapp/manager.html index 556593c..89020d2 100644 --- a/webapp/manager.html +++ b/webapp/manager.html @@ -5,7 +5,7 @@ - + @@ -184,6 +184,9 @@ var MAN_WORKFLOW_WR_AND_TRANSFER = ["Arbeitsbons mit Serverübermittlung", "Work var MAN_WORKFLOW_WR_AND_TRANSFER_HLP = ["Hinweis: 'Arbeitsbons mit Serverübermittlung': In der Bestellansicht werden die Artikel bei Druck auf 'Bestellung senden' an den Server übermittelt, durchlaufen aber nicht die Ansichten Küche/Bar und Bereitstellung und es wird in diesem Fall kein Arbeitsbon gedruckt.", "Hint: 'Work receipts and server transmit': In the waiter's view the orders can be sent to the server without printining a work receipt. In this case the items won't pass the modules kitchen/bar and supplydesk.", "Información: 'Tiques de trabajar y enviar a servidor': El camarero puede enviar las ordenes al servidor sin imprimir un tique de trabajo."]; +var MAN_RECTEMPLATE_HINT = ["Hinweis: Die Anpassung der Bonvorlage ist in der Anleitung und auf der Produktwebseite beschrieben.", + "Hint: The customization of the receipt template is described in the manual and on the product home page.", + "Nota: La adapción del template esta explicada en la página web y el manual."]; var MAN_NO_ADMIN = ["Um Admin-Rechte zu bearbeiten, muss der Benutzer selbst Adminrechte besitzen.", "Modifying admin rights require that the changing user has also admin rights.", "Necesitas derecho de admin para modificar derecho de admin para otros usarios."]; var MAN_NO_ADMIN_CREATE = ["Nur Admin-Benutzer können andere Admin-Benutzer anlegen", "Only admin users can create other admin users", @@ -279,6 +282,7 @@ var generalValuesSettings = [ ["stornocode","Stornocode","i",1,"Stornocode wurde nicht angegeben!"], ["printpass","Printcode","i",1,"Printcode wurde nicht angegeben"], ["companyinfo","Betriebsinfo","i",0], + ["rectemplate","Bonvorlage","i",0], ["serverUrl","Serveradresse","i",0], ["email","Emailadresse","i",0], ["emailbadrating","Emailadresse schlechte Bewertung","i",0], @@ -406,6 +410,8 @@ function setLanguage(l) { $("#taxapplytxt").html(MAN_APPLY[l]); $("#taxusage").html("(" + MAN_TAX_USE[l] + ")"); + + $("#rectemplatehint").html(MAN_RECTEMPLATE_HINT[l]); } function createMonthSelection(label) { @@ -463,6 +469,7 @@ function insertGeneralConfigItems(configResult) { $("#togotaxval").val(usstGerVal); $("#companyinfo").val(values.companyinfo); + $("#rectemplate").val(values.rectemplate); $("#reservationnote").val(values.reservationnote); @@ -2194,6 +2201,11 @@ $(document).on("pageinit", "#admin-page", function () { +
+ + + Hinweis: siehe Anleitung +
diff --git a/webapp/paydesk.html b/webapp/paydesk.html index 4da4d8f..3685970 100644 --- a/webapp/paydesk.html +++ b/webapp/paydesk.html @@ -5,7 +5,7 @@ - + diff --git a/webapp/php/admin.php b/webapp/php/admin.php index 39205c7..ab8f7be 100644 --- a/webapp/php/admin.php +++ b/webapp/php/admin.php @@ -652,7 +652,11 @@ class Admin { $stmt->execute(array("companyinfo")); $row = $stmt->fetchObject(); - $companyInfo = $row->setting; + $companyInfo = $row->setting; + + $stmt->execute(array("rectemplate")); + $row = $stmt->fetchObject(); + $rectemplate = $row->setting; $stmt->execute(array("decpoint")); $row = $stmt->fetchObject(); @@ -810,7 +814,7 @@ class Admin { date_default_timezone_set(DbUtils::getTimeZone()); $now = getdate(); - $retVal = array("companyinfo" => $companyInfo, "version" => $version, "decpoint" => $decpoint, + $retVal = array("companyinfo" => $companyInfo, "rectemplate" => $rectemplate, "version" => $version, "decpoint" => $decpoint, "serverurl" => $serverurl, "email" => $email, "receiveremail" => $receiveremail, "billlanguage" => $billlanguage, "payprinttype" => $payprinttype, "tax" => $tax, "togotax" => $togotax, "currency" => $currency, "userlanguage" => $userlang, "receiptprinter" => $receiptprinter, @@ -1133,19 +1137,19 @@ class Admin { $right_rating = $_SESSION['right_rating']; if (!self::isOnlyRatingUser($rights, $right_rating, true)) { - if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waitertxt[$lang], "link" => "waiter.html?v=1.1.27"); }; - if ($_SESSION['right_kitchen']) { $mainMenu[] = array("name" => $kitchentxt[$lang], "link" => "kitchen.html?v=1.1.27"); }; - if ($_SESSION['right_bar']) { $mainMenu[] = array("name" => "Bar", "link" => "bar.html?v=1.1.27"); }; - if ($_SESSION['right_supply']) { $mainMenu[] = array("name" => $supplytxt[$lang], "link" => "supplydesk.html?v=1.1.27"); }; + if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waitertxt[$lang], "link" => "waiter.html?v=1.1.28"); }; + if ($_SESSION['right_kitchen']) { $mainMenu[] = array("name" => $kitchentxt[$lang], "link" => "kitchen.html?v=1.1.28"); }; + if ($_SESSION['right_bar']) { $mainMenu[] = array("name" => "Bar", "link" => "bar.html?v=1.1.28"); }; + if ($_SESSION['right_supply']) { $mainMenu[] = array("name" => $supplytxt[$lang], "link" => "supplydesk.html?v=1.1.28"); }; if ($_SESSION['right_paydesk']) { $mainMenu[] = array("name" => $paydesktxt[$lang], "link" => "paydesk.html"); }; - if ($_SESSION['right_statistics']) { $mainMenu[] = array("name" => $stattxt[$lang], "link" => "reports.html?v=1.1.27"); }; - if ($_SESSION['right_bill']) { $mainMenu[] = array("name" => $bontxt[$lang], "link" => "bill.html?v=1.1.27"); }; - if ($_SESSION['right_products']) { $mainMenu[] = array("name" => $prodtxt[$lang], "link" => "products.html?v=1.1.27"); }; - if ($_SESSION['right_reservation']) { $mainMenu[] = array("name" => $restxt[$lang], "link" => "reservation.html?v=1.1.27"); }; - if ($_SESSION['right_rating']) { $mainMenu[] = array("name" => $ratingtxt[$lang], "link" => "rating.html?v=1.1.27"); }; - if ($_SESSION['right_manager'] || $_SESSION['is_admin']) { $mainMenu[] = array("name" => $admintxt[$lang], "link" => "manager.html?v=1.1.27"); }; - $mainMenu[] = array("name" => $settingtxt[$lang], "link" => "preferences.html?v=1.1.27"); - $mainMenu[] = array("name" => "Feedback", "link" => "feedback.html?v=1.1.27"); + if ($_SESSION['right_statistics']) { $mainMenu[] = array("name" => $stattxt[$lang], "link" => "reports.html?v=1.1.28"); }; + if ($_SESSION['right_bill']) { $mainMenu[] = array("name" => $bontxt[$lang], "link" => "bill.html?v=1.1.28"); }; + if ($_SESSION['right_products']) { $mainMenu[] = array("name" => $prodtxt[$lang], "link" => "products.html?v=1.1.28"); }; + if ($_SESSION['right_reservation']) { $mainMenu[] = array("name" => $restxt[$lang], "link" => "reservation.html?v=1.1.28"); }; + if ($_SESSION['right_rating']) { $mainMenu[] = array("name" => $ratingtxt[$lang], "link" => "rating.html?v=1.1.28"); }; + if ($_SESSION['right_manager'] || $_SESSION['is_admin']) { $mainMenu[] = array("name" => $admintxt[$lang], "link" => "manager.html?v=1.1.28"); }; + $mainMenu[] = array("name" => $settingtxt[$lang], "link" => "preferences.html?v=1.1.28"); + $mainMenu[] = array("name" => "Feedback", "link" => "feedback.html?v=1.1.28"); } $mainMenu[] = array("name" => $logout[$lang], "link" => "logout.php"); @@ -1154,7 +1158,7 @@ class Admin { $waiterMessage = $this->getMessage(null, "waitermessage"); } // CAUTION: change version also in config.txt!!! - $mainMenuAndVersion = array ("version" => "OrderSprinter 1.1.27", + $mainMenuAndVersion = array ("version" => "OrderSprinter 1.1.28", "user" => $currentUser, "menu" => $mainMenu, "waitermessage" => $waiterMessage, @@ -1342,6 +1346,7 @@ class Admin { "stornocode" => array("dbcol" => "stornocode","checknum" => 0), "printpass" => array("dbcol" => "printpass","checknum" => 0), "companyinfo" => array("dbcol" => "companyinfo","checknum" => 0), + "rectemplate" => array("dbcol" => "rectemplate","checknum" => 0), "serverUrl" => array("dbcol" => "serverurl","checknum" => 0), "email" => array("dbcol" => "email","checknum" => 0), "emailbadrating" => array("dbcol" => "emailbadrating","checknum" => 0), diff --git a/webapp/php/printqueue.php b/webapp/php/printqueue.php index 846aa2c..4b53a8c 100644 --- a/webapp/php/printqueue.php +++ b/webapp/php/printqueue.php @@ -20,10 +20,15 @@ class PrintQueue { function handleCommand($command) { // these command are only allowed for user with waiter rights if ($command == 'getNextReceiptPrintJobs') { + // REM* feature level + $fl = null; + if (isset($_GET['fl'])) { + $fl = $_GET['fl']; + } if(isset($_GET['printers'])) { - $this->getNextReceiptPrintJobs($_POST['pass'],$_GET['language'],$_GET['printers']); + $this->getNextReceiptPrintJobs($_POST['pass'],$_GET['language'],$_GET['printers'],$fl); } else { - $this->getNextReceiptPrintJobs($_POST['pass'],$_GET['language'],"1,2,3,4,5,6"); + $this->getNextReceiptPrintJobs($_POST['pass'],$_GET['language'],"1,2,3,4,5,6",$fl); } } else if ($command == 'getNextClosingPrintJobs') { $this->getNextClosingPrintJobs($_POST['pass'],$_GET['language']); @@ -302,7 +307,7 @@ class PrintQueue { } } - function getNextReceiptPrintJobs($md5pass,$language,$printers) { + function getNextReceiptPrintJobs($md5pass,$language,$printers,$fl) { $isCorrect = $this->isPasswordCorrect($md5pass,false); if ($isCorrect) { ob_start(); @@ -310,6 +315,13 @@ class PrintQueue { $pdo = $this->dbutils->openDbAndReturnPdo(); + // REM* get the template + $sql = "SELECT setting FROM %config% WHERE name=?"; + $stmt = $pdo->prepare(DbUtils::substTableAlias($sql)); + $stmt->execute(array("rectemplate")); + $row =$stmt->fetchObject(); + $template = $row->setting; + if (intval($language) > 2) { $genInfo = $this->admin->getGeneralConfigItems(false,$pdo); $language = $genInfo["billlanguage"]; @@ -331,7 +343,12 @@ class PrintQueue { $printer = $aBill["printer"]; if (in_array($printer, $printersArr)) { - $receiptJob = array("id" => $printJobId,"bill" => $bill->getBillWithId($pdo,$aBillId,$language,$printer)); + if (is_null($fl)) { + // REM* no feature level -> do not sent template + $receiptJob = array("id" => $printJobId,"bill" => $bill->getBillWithId($pdo,$aBillId,$language,$printer)); + } else if ($fl == 1) { + $receiptJob = array("id" => $printJobId,"bill" => $bill->getBillWithId($pdo,$aBillId,$language,$printer), "template" => $template); + } $billarray[] = $receiptJob; } } diff --git a/webapp/preferences.html b/webapp/preferences.html index 0f0f2d6..2a0df5d 100644 --- a/webapp/preferences.html +++ b/webapp/preferences.html @@ -5,7 +5,7 @@ - + diff --git a/webapp/products.html b/webapp/products.html index 9346d16..78afd37 100644 --- a/webapp/products.html +++ b/webapp/products.html @@ -7,7 +7,7 @@ - + diff --git a/webapp/rating.html b/webapp/rating.html index be64be5..edb80da 100644 --- a/webapp/rating.html +++ b/webapp/rating.html @@ -7,7 +7,7 @@ - + diff --git a/webapp/reports.html b/webapp/reports.html index 7c56e70..47b1f63 100644 --- a/webapp/reports.html +++ b/webapp/reports.html @@ -7,7 +7,7 @@ - + @@ -24,7 +24,7 @@ var REP_USERSUM = ["Kassenbestände ","Open paydesks", "Cajas" ]; var REP_USER = ["Benutzer","User","Usario"]; -var REP_USER_TXT = ["Dise Übersicht umfasst den derzeitigen Brutto-Kassenbestand pro Kasse inkl. aller Zahlungswege und Ein-/Auslagen.", +var REP_USER_TXT = ["Diese Übersicht umfasst den derzeitigen Brutto-Kassenbestand pro Kasse inkl. aller Zahlungswege und Ein-/Auslagen.", "This overview contains the current sum of all paydesks including all payment types and cash inserts/extracs.", "Esta table contiene todos las cajas incluyendo todas los tipos the pagamientos"]; var REP_TODAY = ["Heute","Today","Hoy"]; @@ -241,4 +241,4 @@ function setLanguage(language) {
- \ No newline at end of file + diff --git a/webapp/reservation.html b/webapp/reservation.html index 1971a75..e764b3b 100644 --- a/webapp/reservation.html +++ b/webapp/reservation.html @@ -5,7 +5,7 @@ - + diff --git a/webapp/supplydesk.html b/webapp/supplydesk.html index c36a815..aca19e1 100644 --- a/webapp/supplydesk.html +++ b/webapp/supplydesk.html @@ -5,7 +5,7 @@ - + diff --git a/webapp/waiter.html b/webapp/waiter.html index d17abe5..1957b99 100644 --- a/webapp/waiter.html +++ b/webapp/waiter.html @@ -4,7 +4,7 @@ - +