diff --git a/javaprinter/readme.txt b/javaprinter/readme.txt
new file mode 100644
index 0000000..032621e
--- /dev/null
+++ b/javaprinter/readme.txt
@@ -0,0 +1,27 @@
+Funktion:
+=========
+Der Javaprinter ist eine Alternative zum Windows-Printer. In der Standardconfiguration scant er alle USB-Ports und greift sich den ersten Drucker, den er
+finden kann. Alle Druckjobtypen werden auf diesem einen Drucker ausgegeben. Es ist wichtig, dass der Drucker angeschlossen und eingeschaltet wurde,
+bevor der java-printer gestartet wurde. Stimmte die Reihenfolge nicht, so hilft ein kurzes Abziehen und Wiederanstecken des USB-Kabels.
+
+
+Installation:
+=============
+Wichtig sind zwei Komponenten:
+ - javaprinter.jar + die dazugehörigen Libs im entsprechenden Unterordner und
+ - eine Konfigurationsdatei (eine Standardkonfigurationsdatei mit dem Namen config.json liegt bei)
+
+Aufruf:
+=======
+Der Aufruf vom Javaprinter geschieht über die Kommandozeile
+
+java -jar javaprinter.jar /Pfad/zur/config.json.
+
+In der Konfigurationsdatei können unter anderem folgende Parameter gesetzt werden:
+- printersize: maximale Anzahl der Zeichen pro Zeile, die der Drucker ausgeben kann
+- printcode: Printcode, wie in der Verwaltungsoberfläche vom OrderSprinter angegeben ist. Wurde kein Printcode vergeben, können keine Druckjobs ausgegeben werden.
+- logoscale: Skalierung des Logos auf dem Kassenbon. Mit diesem Wert kann die Abbildung vergrößert oder verkleiner werden.
+- baseurl: Basis-Webadresse des Webservers auf dem OrderSprinter läuft (z.B. http://www.mein-restaurant.de/ordersprinter)
+- baseusername und basepass: Ist der OrderSprinter-Webserver über BasicAuthentication geschützt, so können hier Benutzername und Passwort angegeben werden.
+- smallformat: 1 bedeutet, dass weniger Leerzeilen gedruckt werden
+- forreceiptprinters: Angabe der Drucker, für die die Bondrucks entgegen genommen werden sollen
diff --git a/printserver/OrderSprinterPrintserver.exe b/printserver/OrderSprinterPrintserver.exe
index 0a46e44..1d15123 100644
Binary files a/printserver/OrderSprinterPrintserver.exe and b/printserver/OrderSprinterPrintserver.exe differ
diff --git a/webapp/OrderSprinterPrintserver.exe b/webapp/OrderSprinterPrintserver.exe
index 0a46e44..1d15123 100644
Binary files a/webapp/OrderSprinterPrintserver.exe and b/webapp/OrderSprinterPrintserver.exe differ
diff --git a/webapp/bar.html b/webapp/bar.html
index 37161d3..f2c7544 100644
--- a/webapp/bar.html
+++ b/webapp/bar.html
@@ -5,7 +5,7 @@
-
+
diff --git a/webapp/bill.html b/webapp/bill.html
index 98e2c03..636722c 100644
--- a/webapp/bill.html
+++ b/webapp/bill.html
@@ -5,7 +5,7 @@
-
+
diff --git a/webapp/feedback.html b/webapp/feedback.html
index 5ad16d8..2d69439 100644
--- a/webapp/feedback.html
+++ b/webapp/feedback.html
@@ -4,7 +4,7 @@
-
+
diff --git a/webapp/index.html b/webapp/index.html
index 438dcff..bc27043 100644
--- a/webapp/index.html
+++ b/webapp/index.html
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/webapp/install.html b/webapp/install.html
index f680bf0..3956a3f 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 df51bd2..b7edf55 100644
--- a/webapp/install/installer.php
+++ b/webapp/install/installer.php
@@ -844,6 +844,18 @@ $ret &= $this->setVersion($prefix, '1.1.14');
return $ret;
}
+function updateUserTable1114_1115($prefix,$version) {
+$ret = true;
+if ($version != "1.1.14") {
+$ret = $this->updateUserTable1113_1114($prefix,$version);
+if (!$ret) {
+return false;
+}
+}
+$ret &= $this->setVersion($prefix, '1.1.15');
+return $ret;
+}
+
function setVersion($prefix,$theVersion) {
$pdo = $this->pdo;
try {
@@ -915,7 +927,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.14')");
+$this->basedb->doSQL($pdo,"INSERT INTO `%config%` (`id` , `name`, `setting`) VALUES (NULL , 'version', '1.1.15')");
$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')");
@@ -1288,7 +1300,7 @@ return;
$supportedVersions = array("1.0.22","1.0.23","1.0.24","1.0.25","1.0.26","1.0.27","1.0.28","1.0.29",
"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.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"
);
if (!in_array($version, $supportedVersions)) {
@@ -1296,7 +1308,7 @@ echo json_encode("Quellversion nicht unterstützt");
return;
}
-$ret = $admin->updateUserTable1113_1114($_POST['prefix'], $version);
+$ret = $admin->updateUserTable1114_1115($_POST['prefix'], $version);
if(session_id() == '') {
session_start();
diff --git a/webapp/kitchen.html b/webapp/kitchen.html
index 5504b7d..b65cba0 100644
--- a/webapp/kitchen.html
+++ b/webapp/kitchen.html
@@ -5,7 +5,7 @@
-
+
diff --git a/webapp/manager.html b/webapp/manager.html
index 2bea823..8b8bbc3 100644
--- a/webapp/manager.html
+++ b/webapp/manager.html
@@ -5,7 +5,7 @@
-
+
@@ -243,11 +243,20 @@ var MAN_BILLSUMCASH = ["Ein-/Auslagen","Cash inserts","Entradas"];
var MAN_SIZE_NORMAL = ["normal","normal","normal"];
var MAN_SIZE_BIG = ["groß","big","grande"];
+var MAN_UNPAID1 = ["Es wurden folgende Tische noch nicht abgerechnet: ",
+ "These tables have unpaid products: ",
+ "Estas mesas tienen productos que no son pagados: "];
+var MAN_UNPAID2 = ["Soll die Tageserfassung vorgenommen werden? In diesem Fall wird die Tisch-Zuweisung der unbezahlten Artikel gelöscht!",
+ "Do you want to continue create the closing? In this case these products will be unassigned from the tables!",
+ "Quieres continuar y removar estos productos?"];
+
var lang = 0;
var generalVals = [12,2,0,3,0,1,1,0,0,1];
var numberOfClosings = 0;
+var unpaidTables = "";
+
var generalValuesSettings = [
["usstval","MwSt","i",2,"Mehrwertsteuer ist kein Zahlenwert"],
["togotaxval","ToGo-MwSt","i",2,"Togo-Mehrwertsteuer ist kein Zahlenwert"],
@@ -684,8 +693,21 @@ function reactOnConfigChange(result) {
$(document).ready(function() {
$.ajaxSetup({ cache: false });
+ requestUnpaidTables();
+ var refreshId = setInterval(function() {
+ requestUnpaidTables();
+ }, 5000);
});
+function requestUnpaidTables() {
+ doAjaxAsync("GET","php/contenthandler.php?module=queue&command=getUnpaidTables",null,insertUnpaidTables,null);
+}
+
+function insertUnpaidTables(answer) {
+ if (answer.status == "OK") {
+ unpaidTables = answer.msg;
+ }
+}
function areYouSure(text1, text2, button, callback) {
$("#sure .sure-1").text(text1);
@@ -701,14 +723,26 @@ function isNumeric(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
+function startCreateClosing(remark) {
+ if (unpaidTables.length == "") {
+ doAjax("POST","php/contenthandler.php?module=closing&command=createClosing",{ remark: remark },createClosing,"Tagesabschluss");
+ } else {
+
+
+ areYouSure("Tageserfassung", MAN_UNPAID1[lang] + unpaidTables + ". " + MAN_UNPAID2[lang], MAN_YES[lang], function() {
+ doAjax("POST","php/contenthandler.php?module=closing&command=createClosing",{ remark: remark },createClosing,"Tagesabschluss");
+ });
+ }
+}
+
+
function binding() {
$("#createclosing").off("click").on("click", function (e) {
var remarkText =$('#remarkfield').val();
$('#remarkfield').val("");
var filteredRemark = remarkText.replace(/\f/g,"").replace(/\n/g,"").replace(/\r/g,"").replace(/\t/g,"").replace(/\v/g,"");
-
- doAjax("POST","php/contenthandler.php?module=closing&command=createClosing",{ remark: filteredRemark },createClosing,"Tagesabschluss");
+ startCreateClosing(filteredRemark);
});
$(".csvExportButton").off("click").on("click", function (e) {
diff --git a/webapp/paydesk.html b/webapp/paydesk.html
index b7d7c12..02bdd89 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 4f17b66..6ac1b41 100644
--- a/webapp/php/admin.php
+++ b/webapp/php/admin.php
@@ -1108,19 +1108,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.14"); };
- if ($_SESSION['right_kitchen']) { $mainMenu[] = array("name" => $kitchentxt[$lang], "link" => "kitchen.html?v=1.1.14"); };
- if ($_SESSION['right_bar']) { $mainMenu[] = array("name" => "Bar", "link" => "bar.html?v=1.1.14"); };
- if ($_SESSION['right_supply']) { $mainMenu[] = array("name" => $supplytxt[$lang], "link" => "supplydesk.html?v=1.1.14"); };
+ if ($_SESSION['right_waiter']) { $mainMenu[] = array("name" => $waitertxt[$lang], "link" => "waiter.html?v=1.1.15"); };
+ if ($_SESSION['right_kitchen']) { $mainMenu[] = array("name" => $kitchentxt[$lang], "link" => "kitchen.html?v=1.1.15"); };
+ if ($_SESSION['right_bar']) { $mainMenu[] = array("name" => "Bar", "link" => "bar.html?v=1.1.15"); };
+ if ($_SESSION['right_supply']) { $mainMenu[] = array("name" => $supplytxt[$lang], "link" => "supplydesk.html?v=1.1.15"); };
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.14"); };
- if ($_SESSION['right_bill']) { $mainMenu[] = array("name" => $bontxt[$lang], "link" => "bill.html?v=1.1.14"); };
- if ($_SESSION['right_products']) { $mainMenu[] = array("name" => $prodtxt[$lang], "link" => "products.html?v=1.1.14"); };
- if ($_SESSION['right_reservation']) { $mainMenu[] = array("name" => $restxt[$lang], "link" => "reservation.html?v=1.1.14"); };
- if ($_SESSION['right_rating']) { $mainMenu[] = array("name" => $ratingtxt[$lang], "link" => "rating.html?v=1.1.14"); };
- if ($_SESSION['right_manager'] || $_SESSION['is_admin']) { $mainMenu[] = array("name" => $admintxt[$lang], "link" => "manager.html?v=1.1.14"); };
- $mainMenu[] = array("name" => $settingtxt[$lang], "link" => "preferences.html?v=1.1.14");
- $mainMenu[] = array("name" => "Feedback", "link" => "feedback.html?v=1.1.14");
+ if ($_SESSION['right_statistics']) { $mainMenu[] = array("name" => $stattxt[$lang], "link" => "reports.html?v=1.1.15"); };
+ if ($_SESSION['right_bill']) { $mainMenu[] = array("name" => $bontxt[$lang], "link" => "bill.html?v=1.1.15"); };
+ if ($_SESSION['right_products']) { $mainMenu[] = array("name" => $prodtxt[$lang], "link" => "products.html?v=1.1.15"); };
+ if ($_SESSION['right_reservation']) { $mainMenu[] = array("name" => $restxt[$lang], "link" => "reservation.html?v=1.1.15"); };
+ if ($_SESSION['right_rating']) { $mainMenu[] = array("name" => $ratingtxt[$lang], "link" => "rating.html?v=1.1.15"); };
+ if ($_SESSION['right_manager'] || $_SESSION['is_admin']) { $mainMenu[] = array("name" => $admintxt[$lang], "link" => "manager.html?v=1.1.15"); };
+ $mainMenu[] = array("name" => $settingtxt[$lang], "link" => "preferences.html?v=1.1.15");
+ $mainMenu[] = array("name" => "Feedback", "link" => "feedback.html?v=1.1.15");
}
$mainMenu[] = array("name" => $logout[$lang], "link" => "logout.php");
@@ -1129,7 +1129,7 @@ class Admin {
$waiterMessage = $this->getMessage(null, "waitermessage");
}
// CAUTION: change version also in config.txt!!!
- $mainMenuAndVersion = array ("version" => "OrderSprinter 1.1.14",
+ $mainMenuAndVersion = array ("version" => "OrderSprinter 1.1.15",
"user" => $currentUser,
"menu" => $mainMenu,
"waitermessage" => $waiterMessage,
diff --git a/webapp/php/config.php b/webapp/php/config.php
old mode 100644
new mode 100755
diff --git a/webapp/php/queuecontent.php b/webapp/php/queuecontent.php
index ec7ae85..2f84fd2 100644
--- a/webapp/php/queuecontent.php
+++ b/webapp/php/queuecontent.php
@@ -84,6 +84,8 @@ class QueueContent {
$this->declareProductNotBeDelivered($_POST['queueid']);
} else if ($command == 'getJsonLongNamesOfProdsForTableNotDelivered') {
$this->getJsonLongNamesOfProdsForTableNotDelivered($_GET["tableid"]);
+ } else if ($command == 'getUnpaidTables') {
+ $this->getUnpaidTables();
} else if ($command == 'getProdsForTableChange') {
$this->getProdsForTableChange($_GET['tableId']);
} else if ($command == 'changeTable') {
@@ -963,6 +965,19 @@ class QueueContent {
}
}
+ function getUnpaidTables() {
+ $pdo = DbUtils::openDbAndReturnPdoStatic();
+ $sql = "SELECT DISTINCT %resttables%.tableno as tablename FROM %queue%,%resttables% WHERE paidtime is null AND ordertime is not null and tablenr=%resttables%.id";
+ $stmt = $pdo->prepare(DbUtils::substTableAlias($sql));
+ $stmt->execute();
+ $result = $stmt->fetchAll();
+ $unpaidTables = array();
+ foreach ($result as $anUnpaidTable) {
+ $unpaidTables[] = $anUnpaidTable["tablename"];
+ }
+ echo json_encode(array("status" => "OK","msg" => join(",",$unpaidTables)));
+ }
+
/*
* Return as JSON structure all products that are assigned to a specified table, with the
* specification that they are not delivered yet.
diff --git a/webapp/preferences.html b/webapp/preferences.html
index 4cc8ff3..9645abc 100644
--- a/webapp/preferences.html
+++ b/webapp/preferences.html
@@ -5,7 +5,7 @@
-
+
diff --git a/webapp/products.html b/webapp/products.html
index 8126502..547197e 100644
--- a/webapp/products.html
+++ b/webapp/products.html
@@ -7,7 +7,7 @@
-
+
diff --git a/webapp/rating.html b/webapp/rating.html
index 385bdfa..7bf2041 100644
--- a/webapp/rating.html
+++ b/webapp/rating.html
@@ -7,7 +7,7 @@
-
+
diff --git a/webapp/reports.html b/webapp/reports.html
index 9f73e38..00a04b6 100644
--- a/webapp/reports.html
+++ b/webapp/reports.html
@@ -7,7 +7,7 @@
-
+
diff --git a/webapp/reservation.html b/webapp/reservation.html
index faf909a..95275ee 100644
--- a/webapp/reservation.html
+++ b/webapp/reservation.html
@@ -5,7 +5,7 @@
-
+
diff --git a/webapp/supplydesk.html b/webapp/supplydesk.html
index fcb3b94..efe642e 100644
--- a/webapp/supplydesk.html
+++ b/webapp/supplydesk.html
@@ -5,7 +5,7 @@
-
+
diff --git a/webapp/waiter.html b/webapp/waiter.html
index 78611cc..b484e5b 100644
--- a/webapp/waiter.html
+++ b/webapp/waiter.html
@@ -4,7 +4,7 @@
-
+