-@echo off
-
-C:\Users\ksaff\Tools\sqlite3.exe "C:\Users\ksaff\AppData\Roaming\dks\db\cashboxdev.sqlite" ".dump" > "C:\Users\ksaff\Workspace\Apps\cashbox\db\cashbox.sqlite.dump.sql";
+@echo off\r
+\r
+C:\Users\ksaff\Tools\sqlite3.exe "C:\Users\ksaff\AppData\Roaming\dks\db\cashboxdev.sqlite" ".dump" > "C:\Users\ksaff\Workspace\Apps\cashbox\db\cashbox.sqlite.dump.sql";\r
C:\Users\ksaff\Tools\sqlite3.exe "C:\Users\ksaff\AppData\Roaming\dks\db\cashboxdev.sqlite" ".schema" > "C:\Users\ksaff\Workspace\Apps\cashbox\db\cashbox.sqlite.schema.sql";
\ No newline at end of file
<div class="list-group list-group-flush">
<select class="form-control list-group-item list-group-item-action bg-primary text-white" id="globaldatasets" onchange="browserapp.loaddataset();">
</select>
- <a class="list-group-item list-group-item-action bg-light" href="javascript:browserapp.loadmodule('paywindow');">Kasse</a>
- <a class="list-group-item list-group-item-action bg-light" href="javascript:browserapp.loadmodule('products');">Produkte</a>
- <a class="list-group-item list-group-item-action bg-light" href="javascript:browserapp.loadmodule('accounts');">Konten</a>
+ <a class="list-group-item list-group-item-action bg-light" style="height: 70px;font-size: 18px;" href="javascript:browserapp.loadmodule('paywindow');">Kasse</a>
+ <a class="list-group-item list-group-item-action bg-light" style="height: 70px;font-size: 18px;" href="javascript:browserapp.loadmodule('products');">Produkte</a>
+ <a class="list-group-item list-group-item-action bg-light" style="height: 70px;font-size: 18px;" href="javascript:browserapp.loadmodule('accounts');">Konten</a>
<!-- <a class="list-group-item list-group-item-action bg-light" href="javascript:browserapp.loadmodule('stations');">Geräte</a> -->
- <a class="list-group-item list-group-item-action bg-light" href="javascript:browserapp.loadmodule('transactions');">Transaktionen</a>
- <a class="list-group-item list-group-item-action bg-light" href="javascript:browserapp.loadmodule('sales');">Verkäufe</a>
- <a class="list-group-item list-group-item-action bg-light" href="javascript:browserapp.loadmodule('settings');">Einstellungen</a></li>
+ <a class="list-group-item list-group-item-action bg-light" style="height: 70px;font-size: 18px;" href="javascript:browserapp.loadmodule('transactions');">Transaktionen</a>
+ <a class="list-group-item list-group-item-action bg-light" style="height: 70px;font-size: 18px;" href="javascript:browserapp.loadmodule('sales');">Verkäufe</a>
+ <a class="list-group-item list-group-item-action bg-light" style="height: 70px;font-size: 18px;" href="javascript:browserapp.loadmodule('settings');">Einstellungen</a></li>
</div>
</div>
--- /dev/null
+@echo off\r
+taskkill.exe /F /IM cashboxserver.exe\r
+del "C:\Users\ksaff\Workspace\Apps\cashbox\release-builds\cashbox-win32-x64\cashboxserver.exe"\r
+C:\Strawberry\perl\bin\perl.exe ^\r
+ -I C:\Users\ksaff\Workspace\Apps\cashbox\server\ "C:\Strawberry\perl\site\bin\pp.bat" ^\r
+ --output="C:\Users\ksaff\Workspace\Apps\cashbox\release-builds\cashbox-win32-x64\cashboxserver.exe" ^\r
+ --cachedeps="C:\Users\ksaff\Workspace\Apps\cashbox\release-builds\deps.txt" ^\r
+ --compress 9 ^\r
+ --gui ^\r
+ --module="Time::HiRes" ^\r
+ --module="Apache::LogFormat::Compiler" ^\r
+ --module="JSON::MaybeXS" ^\r
+ --module="JSON::PP" ^\r
+ --module="Starlight" ^\r
+ --module="Encode" ^\r
+ --module="Encode::Guess" ^\r
+ --module="IO::String" ^\r
+ --module="DBI" ^\r
+ --module="English" ^\r
+ --module="DBD::SQLite" ^\r
+ --addfile="C:\Strawberry\perl\site\lib\HTTP;lib/HTTP" ^\r
+ --addfile="C:\Strawberry\perl\site\lib\Plack;lib/Plack" ^\r
+ --addfile="C:\Strawberry\perl\site\lib\Starlight;lib/Starlight" ^\r
+ --addfile="C:\Users\ksaff\Workspace\Apps\cashbox\server\Module\FileSystem.pm;lib/Module/FileSystem.pm" ^\r
+ --addfile="C:\Users\ksaff\Workspace\Apps\cashbox\server\Module\SQLite.pm;lib/Module/SQLite.pm" ^\r
+ --addfile="C:\Users\ksaff\Workspace\Apps\cashbox\server\Module\Service.pm;lib/Module/Service.pm" ^\r
+ --addfile="C:\Strawberry\perl\site\lib\Text\Unidecode;lib/Text/Unidecode" ^\r
+ --addfile="C:\Strawberry\perl\lib\Encode;lib/Encode" ^\r
+ --addfile="C:\Strawberry\perl\site\lib\Text\Unidecode.pm;lib/Text/Unidecode.pm" ^\r
+ --bundle "C:\Users\ksaff\Workspace\Apps\cashbox\server\cashboxserver.pl"\r
+\r
+ REM --module="Win32::HideConsole" ^\r
+REM taskkill.exe /F /IM dkslocalserver.exe\r
+REM copy "C:\Users\ksaff\Release\Creorgasrv.exe" "C:\Users\ksaff\Workspace\creorga\Tools\dkslocalserver.exe"\r
+REM copy "C:\Users\ksaff\Release\dkslocalserver.exe" "C:\Users\ksaff\Workspace\Coloradio\filemaker\tools\dkslocalserver.exe"\r
+REM "C:\Users\ksaff\Tools\dkslocalserver.exe"\r
+echo "PROCESS COMPILED!"\r
- 87 apt-get install pi-bluetooth
- 88 bluetoothctl
- 89 sudo apt-get install bluetooth bluez blueman
- 90 sudo apt-get install bluetooth bluez
- 91 apt-get install bluez-cups
- 92 apt-get install bluetooth
- 93 systemctl status bluetooth
- 94 systemctl start bluetooth
- 95 systemctl status bluetooth
- 96 systemctl enable bluetooth
- 97 systemctl restart bluetooth
- 98 shutdown -r now
- 99 bluetoothctl
- 100 bluetoothctl
- 101 bluetoothctl
- 102 cd /etc/bluetooth/
- 103 ls
- 104 hciconfig
- 105 cat /etc/bluetooth/main.conf
- 106 hciconfig hci0 class
- 107 vim.tiny main.conf
- 108 vi /etc/bluetooth/main.conf
- 109 vi /etc/bluetooth/main.conf
- 110 vi /etc/bluetooth/main.conf
- 111 cd /etc/bluetooth/
- 112 ls
- 113 ls -al
- 114 rm .main.conf.swp
- 115 cat main.conf
- 116 systemctl daemon-reload
- 117 service bluetooth restart
- 118 hciconfig -a
- 119 bluetoothctl
- 120 apt-get install bluez bluez-utils obexftp
- 121 apt-get install bluez obexftp
- 122 sdptool browse
- 123 hcitool scan
- 124 hcitool
- 125 hcitool dev
- 126 vi main.conf
- 127 vi main.conf
- 128 vim.tiny main.conf
- 129 systemctl daemon-reload
- 130 service bluetooth restart
- 131 bluetoothctl
- 132 hciconfig -a
+ 87 apt-get install pi-bluetooth\r
+ 88 bluetoothctl\r
+ 89 sudo apt-get install bluetooth bluez blueman\r
+ 90 sudo apt-get install bluetooth bluez\r
+ 91 apt-get install bluez-cups\r
+ 92 apt-get install bluetooth\r
+ 93 systemctl status bluetooth\r
+ 94 systemctl start bluetooth\r
+ 95 systemctl status bluetooth\r
+ 96 systemctl enable bluetooth\r
+ 97 systemctl restart bluetooth\r
+ 98 shutdown -r now\r
+ 99 bluetoothctl\r
+ 100 bluetoothctl\r
+ 101 bluetoothctl\r
+ 102 cd /etc/bluetooth/\r
+ 103 ls\r
+ 104 hciconfig\r
+ 105 cat /etc/bluetooth/main.conf\r
+ 106 hciconfig hci0 class\r
+ 107 vim.tiny main.conf\r
+ 108 vi /etc/bluetooth/main.conf\r
+ 109 vi /etc/bluetooth/main.conf\r
+ 110 vi /etc/bluetooth/main.conf\r
+ 111 cd /etc/bluetooth/\r
+ 112 ls\r
+ 113 ls -al\r
+ 114 rm .main.conf.swp\r
+ 115 cat main.conf\r
+ 116 systemctl daemon-reload\r
+ 117 service bluetooth restart\r
+ 118 hciconfig -a\r
+ 119 bluetoothctl\r
+ 120 apt-get install bluez bluez-utils obexftp\r
+ 121 apt-get install bluez obexftp\r
+ 122 sdptool browse\r
+ 123 hcitool scan\r
+ 124 hcitool\r
+ 125 hcitool dev\r
+ 126 vi main.conf\r
+ 127 vi main.conf\r
+ 128 vim.tiny main.conf\r
+ 129 systemctl daemon-reload\r
+ 130 service bluetooth restart\r
+ 131 bluetoothctl\r
+ 132 hciconfig -a\r
-
-
-sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
-sudo service ssh restart
-echo 'echo -e "mai5ia7a\nmai5ia7a" | sudo -S passwd' > tmp.sh && bash tmp.sh && rm tmp.sh
-
-hostnamectl set-hostname cashbox
-sed -i "s/raspberrypi/cashbox/" /etc/hosts
-
-groupadd dks
-useradd dks -c DKS -g dks -G adm,sudo,crontab -s /bin/bash -d /home/dks
-echo 'echo -e "sai4seip\nsai4seip" | sudo passwd dks' > tmp.sh && bash tmp.sh && rm tmp.sh
-mkdir -p /home/dks
-chown dks:dks /home/dks
-cp /usr/share/zoneinfo/Europe/Luxembourg /etc/localtime
-
-userdel pi
-rm -r /home/pi
-visudo
-##
-## # Allow members of group sudo to execute any command
-## %sudo ALL=(ALL:ALL) NOPASSWD:ALL
-##
-apt-get update
-apt-get upgrade
-apt-get install cups cups-client printer-driver-cups-pdf
-service cups restart
-service cups-browsed restart
-
-
-#apt-get install git
-#git clone https://github.com/nemik/epson-tm-t20-cups.git
-#git clone https://github.com/plinth666/epsonsimplecups.git
-#apt-get install libcups2-dev libcupsimage2-dev g++ cups cups-client
-#make
-#./install
-
-echo "#bt" >> /etc/modprobe.d/raspi-blacklist.conf
-echo "blacklist btbcm" >> /etc/modprobe.d/raspi-blacklist.conf
-echo "blacklist hci_uart" >> /etc/modprobe.d/raspi-blacklist.conf
-
-#router
-apt-get install hostapd bridge-utils
-#to dhcpcd.conf
-# cat <<'EOF' >/etc/network/interfaces.d/eth0
-# auto eth0
-# allow-hotplug eth0
-# iface eth0 inet static
-# address 192.168.178.73
-# netmask 255.255.0.0
-# gateway 192.168.178.73
-# EOF
-
-cat <<'EOF' >/etc/dnsmasq.d/bridge.conf
-interface=eth0
-bind-interfaces
-server=8.8.8.8
-domain-needed
-bogus-priv
-dhcp-range=192.168.100.1,192.168.100.254,12h
+\r
+\r
+sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config\r
+sudo service ssh restart\r
+echo 'echo -e "mai5ia7a\nmai5ia7a" | sudo -S passwd' > tmp.sh && bash tmp.sh && rm tmp.sh\r
+\r
+hostnamectl set-hostname cashbox\r
+sed -i "s/raspberrypi/cashbox/" /etc/hosts\r
+\r
+groupadd dks\r
+useradd dks -c DKS -g dks -G adm,sudo,crontab -s /bin/bash -d /home/dks\r
+echo 'echo -e "sai4seip\nsai4seip" | sudo passwd dks' > tmp.sh && bash tmp.sh && rm tmp.sh\r
+mkdir -p /home/dks\r
+chown dks:dks /home/dks\r
+cp /usr/share/zoneinfo/Europe/Luxembourg /etc/localtime\r
+\r
+userdel pi\r
+rm -r /home/pi\r
+visudo\r
+##\r
+## # Allow members of group sudo to execute any command\r
+## %sudo ALL=(ALL:ALL) NOPASSWD:ALL\r
+##\r
+apt-get update\r
+apt-get upgrade\r
+apt-get install cups cups-client printer-driver-cups-pdf\r
+service cups restart\r
+service cups-browsed restart\r
+\r
+\r
+#apt-get install git\r
+#git clone https://github.com/nemik/epson-tm-t20-cups.git\r
+#git clone https://github.com/plinth666/epsonsimplecups.git\r
+#apt-get install libcups2-dev libcupsimage2-dev g++ cups cups-client\r
+#make\r
+#./install\r
+\r
+echo "#bt" >> /etc/modprobe.d/raspi-blacklist.conf\r
+echo "blacklist btbcm" >> /etc/modprobe.d/raspi-blacklist.conf\r
+echo "blacklist hci_uart" >> /etc/modprobe.d/raspi-blacklist.conf\r
+\r
+#router\r
+apt-get install hostapd bridge-utils\r
+#to dhcpcd.conf\r
+# cat <<'EOF' >/etc/network/interfaces.d/eth0\r
+# auto eth0\r
+# allow-hotplug eth0\r
+# iface eth0 inet static\r
+# address 192.168.178.73\r
+# netmask 255.255.0.0\r
+# gateway 192.168.178.73\r
+# EOF\r
+\r
+cat <<'EOF' >/etc/dnsmasq.d/bridge.conf\r
+interface=eth0\r
+bind-interfaces\r
+server=8.8.8.8\r
+domain-needed\r
+bogus-priv\r
+dhcp-range=192.168.100.1,192.168.100.254,12h\r
EOF
\ No newline at end of file
-#apt-get install samba
-#cd /etc/samba/
-#vim.tiny smb.conf
-#service smb start
-#service smbd start
+#apt-get install samba\r
+#cd /etc/samba/\r
+#vim.tiny smb.conf\r
+#service smb start\r
+#service smbd start\r
#service nmbd start
\ No newline at end of file
mainWindow.loadFile('index.html')
mainWindow.setMenu(null)
mainWindow.maximize()
- if ((appcfg) && (appcfg.type = "standalone")){
+ console.log(appcfg);
+ if ((appcfg) && (appcfg.type == "standalone")){
if (os.platform() == "win32"){
- executablePath = "C:\\Strawberry\\perl\\bin\\perl.exe";
- parameters = [app.getAppPath()+"/server/cashboxserver.pl"];
+ executablePath = app.getAppPath()+"/server/cashboxserver.exe";
+ parameters = [];
} else { //os.platform() == "darwin"
executablePath = "/Users/kilian/perl5/perlbrew/perls/perl-5.28.1/bin/perl";
parameters = [app.getAppPath()+"/server/cashboxserver.pl"];
mainWindow.show()
// Open the DevTools.
- //mainWindow.webContents.openDevTools()
+ mainWindow.webContents.openDevTools()
mainWindow.webContents.on('new-window', (event, url, frameName, disposition, options, additionalFeatures) =>{
console.log("URL:" + url);
win.setMenu(null)
win.once('ready-to-show', () => win.hide())
win.loadURL(url);
- function xclose(){win.close();}
- win.webContents.openDevTools()
+ //function xclose(){win.close();}
+ //win.webContents.openDevTools()
console.log(url.indexOf("action=print"));
if (url.indexOf("action=print") > 0 ){
win.webContents.on('did-finish-load', (event, result) => {
console.log("finished loading!")
- var pp = win.webContents.getPrinters();
- win.webContents.print({ silent: true, printBackground: false, deviceName: '' });
+ //var pp = win.webContents.getPrinters();
+ win.webContents.print({ silent: true, printBackground: false, deviceName: 'EPSON TM-T20II Receipt5' });
})
</div>
</nav>
- <div class="cotainer-fluid" style="margin-top: 52px;">
-
+ <div class="container " style="margin-top: 52px;">
+ <div class="row align-content-center">
+ <button class="btn btn-primary text-white" style="width: 200px; height: 100px; margin: 10px;font-size: 18px;" onclick="parent.browserapp.loadmodule('paywindow');">Kasse</button>
+ <button class="btn btn-primary text-white" style="width: 200px;height: 100px; margin: 10px;font-size: 18px;" onclick="parent.browserapp.loadmodule('products');">Produkte</button>
+ <button class="btn btn-primary text-white" style="width: 200px;height: 100px; margin: 10px;font-size: 18px;" onclick="parent.browserapp.loadmodule('accounts');">Konten</button>
+ </div>
+ <div class="row align-content-center">
+ <button class="btn btn-primary text-white" style="width: 200px;height: 100px; margin: 10px;font-size: 18px;" onclick="parent.browserapp.loadmodule('transactions');">Transaktionen</button>
+ <button class="btn btn-primary text-white" style="width: 200px;height: 100px; margin: 10px;font-size: 18px;" onclick="parent.browserapp.loadmodule('sales');">Verkäufe</button>
+ <button class="btn btn-primary text-white" style="width: 200px;height: 100px; margin: 10px;font-size: 18px;" onclick="parent.browserapp.loadmodule('settings');">Einstellungen</button>
+ </div>
+
+ <!-- <a class="btn btn-primary text-white" href="javascript:browserapp.loadmodule('stations');">Geräte</a> -->
+
</div>
<script>if (typeof module === 'object') {window.module = module; module = undefined;}</script>
<script src="../../node_modules/jquery/dist/jquery.min.js"></script>
for (var i in products.sqldata){
var trow = '<tr>';
- trow += '<td class="font-weight-bold" style="padding: 0px;"><div class="btn btn-block font-weight-bold" style="margin: 0px;padding: 5px;pdding-top: 8px; padding-bottom: 8px;" onclick="addproduct(\''+ products.sqldata[i].id +'\');">' + products.sqldata[i].name+'<br/><span class="font-weight-normal"> '+ products.sqldata[i].specification +'</span><span class="badge badge-secondary float-right">'+products.sqldata[i].grossamount+'€</span></div></td>';
+ trow += '<td class="font-weight-bold" style="padding: 0px;height: 60px;"><div class="btn btn-block font-weight-bold" style="margin: 0px;padding: 5px;pdding-top: 8px; padding-bottom: 8px; font-size: 16px;" onclick="addproduct(\''+ products.sqldata[i].id +'\');">' + products.sqldata[i].name+'<br/><span class="font-weight-normal"> '+ products.sqldata[i].specification +'</span><span class="badge badge-secondary float-right">'+products.sqldata[i].grossamount+'€</span></div></td>';
trow += '</tr>';
$('#producttable' + listnum + " > tbody").append(trow.replace(/null/g,''));
}
}
function calctotal(){
- //console.log(shoppingcart);
+ console.log(shoppingcart);
var sum = 0.00;
for (var i in shoppingcart["products"]){
sum += shoppingcart["products"][i].quantity * parseFloat(shoppingcart["products"][i].grossamount);
}
$("#sumtotal").html(sum.toFixed(2).replace('.',',') );
shoppingcart['transaction']['grossamount'] = sum;
+
return sum.toFixed(2);
}
},
"devDependencies": {
"electron": "^4.0.5",
- "electron-packager": "^13.1.1",
+ "electron-packager": "^13.1.1"
}
}
#my $db = sqlite->new();
my $q = $req->body_parameters->{sql};
my $t = $req->body_parameters->{type};
- print $q."\n";
+ # print $q."\n";
if ($t eq "query"){
$res = $self->dbquery($req->body_parameters->{key},$q);
} elsif ($t eq "querysorted"){
use Time::HiRes;
use Data::Dumper;
use lib (dirname($0));
-
+use lib ($ENV{HOME}.'/perl5/lib/perl5');
use Plack::Builder;
use Plack::App::Directory;
use Plack::App::File;
-var printconfig = {};
-var trvalues = {};
-var trdata = {};
-
-var myprintdisplay = {
- cfg: null,
- getSearchParams: function (k){
- //alert(location.href);
- var p={};
- //console.log("params =>" + location.search);
- location.search.replace(/[?&]+([^=&]+)=([^&]*)/gi,function(s,k,v){p[k]=v});
- return k?p[k]:p;
- },
- print: function(){
- this.print();
- }
-}
-
-var receipt = {
- gettransactionvalues(id){
- trvalues = appdb.dbquery("select tr.id,strftime('%d.%m.%Y %H:%M:%S',tr.created) as created, tr.payementtype, tr.status, acc.name as account from transactions tr left join accounts acc on (tr.id_account = acc.id) where tr.id='"+id+"';");
- },
- gettransactiondata(id){
- trdata = appdb.dbquery("select quantity,productname,replace(printf('%.2f€',quantity * grossamount),'.',',') as grossamount, grossamount as grossamountcalc from transactiondata where id_transaction='"+id+"';");
- },
- printreceipt(){
- if (trvalues && trvalues.sqldata[0]){
- $("#receipt").show();
- $("#account").html(trvalues.sqldata[0]['account']);
- var status = trvalues.sqldata[0]['status'];
- if (trvalues.sqldata[0]['status'] == "payed"){
- status += " / " + trvalues.sqldata[0]['payementtype'];
- }
- $("#status").html(status);
- $("#creationdate").html(trvalues.sqldata[0]['created']);
- $("#transactionid").html(trvalues.sqldata[0]['id']);
- $("#receiptdata > tbody").html("");
- var total = 0.00;
- if (trdata){
- for (var i in trdata.sqldata){
- var row = '<tr>'+
- '<td class="right">'+ trdata.sqldata[i].quantity+'</td>'+
- '<td>'+ trdata.sqldata[i].productname+'</td>'+
- '<td class="right">'+ trdata.sqldata[i].grossamount+'</td>'+
- '</tr>';
- total = total + parseFloat(trdata.sqldata[i].grossamountcalc);
- $("#receiptdata > tbody").append(row);
- }
- $("#totalgross").html(total.toFixed(2) + "€")
- }
- }
- },
- printtickets(id){
- $("#tickets").show();
- $("#tickets").html("");
-
- for (var i in trdata.sqldata){
- $("#tickets").append('<section class="sheet padding-10mm">' +
- '<h1>Hand an Hand fir Afrika</h1>' +
- '<h2>Drivers Day Hellange 2019</h2>' +
- '<h3>Ticket</h3>' +
- '<article>' +
- '<table>' +
- '<tr><th class="right ticket" style="width: 10%;">'+ trdata.sqldata[i].quantity+'</th><th class="ticket" style="width: 90%">'+ trdata.sqldata[i].productname+'</th></tr>' +
- '</table>' +
- '</article>' +
- '<p>' +
- '<span id="creationdate">'+trvalues.sqldata[0]['created']+'</span><br/>' +
- '<span id="tranactionid">'+trvalues.sqldata[0]['id']+'</span>' +
- '</p>' +
- '</section>');
- }
- }
-}
-
-$( document ).ready(function() {
- myprintdisplay.cfg = myprintdisplay.getSearchParams();
- trvalues = {};
- trdata = {};
- $("#receipt").hide();
- $("#ticket").hide();
- //we need: databasename and transactionid
- receipt.gettransactionvalues(myprintdisplay.cfg.id);
- receipt.gettransactiondata(myprintdisplay.cfg.id);
- //console.log("Hello");
- if (myprintdisplay.cfg.receipt && myprintdisplay.cfg.receipt==1){
- //console.log("Xreceipt")
- receipt.printreceipt();
- }
- if (myprintdisplay.cfg.ticket && myprintdisplay.cfg.ticket==1){
- receipt.printtickets();
- }
- //this.print().then(function(){this.close()});
-});
-
-function myFunction(){
- //console.log(this);
- //console.log($(this));
-
- setTimeout(waitforclose,5000);
-
-}
-
-function waitforclose(){
- this.close();
-}
-
-
-
+var printconfig = {};\r
+var trvalues = {};\r
+var trdata = {};\r
+\r
+var myprintdisplay = {\r
+ cfg: null,\r
+ getSearchParams: function (k){\r
+ //alert(location.href);\r
+ var p={};\r
+ //console.log("params =>" + location.search);\r
+ location.search.replace(/[?&]+([^=&]+)=([^&]*)/gi,function(s,k,v){p[k]=v});\r
+ return k?p[k]:p;\r
+ },\r
+ print: function(){\r
+ this.print();\r
+ }\r
+}\r
+\r
+var receipt = {\r
+ gettransactionvalues(id){\r
+ trvalues = appdb.dbquery("select tr.id,strftime('%d.%m.%Y %H:%M:%S',tr.created) as created, tr.payementtype, tr.status, acc.name as account from transactions tr left join accounts acc on (tr.id_account = acc.id) where tr.id='"+id+"';");\r
+ },\r
+ gettransactiondata(id){\r
+ trdata = appdb.dbquery("select quantity,productname,replace(printf('%.2f€',quantity * grossamount),'.',',') as grossamount, grossamount as grossamountcalc from transactiondata where id_transaction='"+id+"';");\r
+ },\r
+ printreceipt(){\r
+ if (trvalues && trvalues.sqldata[0]){\r
+ $("#receipt").show();\r
+ $("#account").html(trvalues.sqldata[0]['account']);\r
+ var status = trvalues.sqldata[0]['status'];\r
+ if (trvalues.sqldata[0]['status'] == "payed"){\r
+ status += " / " + trvalues.sqldata[0]['payementtype'];\r
+ }\r
+ $("#status").html(status);\r
+ $("#creationdate").html(trvalues.sqldata[0]['created']);\r
+ $("#transactionid").html(trvalues.sqldata[0]['id']);\r
+ $("#receiptdata > tbody").html("");\r
+ var total = 0.00;\r
+ if (trdata){\r
+ for (var i in trdata.sqldata){\r
+ var row = '<tr>'+\r
+ '<td class="right">'+ trdata.sqldata[i].quantity+'</td>'+\r
+ '<td>'+ trdata.sqldata[i].productname+'</td>'+\r
+ '<td class="right">'+ trdata.sqldata[i].grossamount+'</td>'+\r
+ '</tr>';\r
+ total = total + parseFloat(trdata.sqldata[i].grossamountcalc);\r
+ $("#receiptdata > tbody").append(row);\r
+ }\r
+ $("#totalgross").html(total.toFixed(2) + "€")\r
+ }\r
+ }\r
+ },\r
+ printtickets(id){\r
+ $("#tickets").show();\r
+ $("#tickets").html("");\r
+ \r
+ for (var i in trdata.sqldata){\r
+ $("#tickets").append('<section class="sheet padding-10mm">' +\r
+ '<h1>Hand an Hand fir Afrika</h1>' +\r
+ '<h2>Drivers Day Hellange 2019</h2>' +\r
+ '<h3>Ticket</h3>' +\r
+ '<article>' +\r
+ '<table>' +\r
+ '<tr><th class="right ticket" style="width: 10%;">'+ trdata.sqldata[i].quantity+'</th><th class="ticket" style="width: 90%">'+ trdata.sqldata[i].productname+'</th></tr>' +\r
+ '</table>' +\r
+ '</article>' +\r
+ '<p>' +\r
+ '<span id="creationdate">'+trvalues.sqldata[0]['created']+'</span><br/>' +\r
+ '<span id="tranactionid">'+trvalues.sqldata[0]['id']+'</span>' +\r
+ '</p>' +\r
+ '</section>');\r
+ }\r
+ }\r
+}\r
+\r
+$( document ).ready(function() {\r
+ myprintdisplay.cfg = myprintdisplay.getSearchParams();\r
+ trvalues = {};\r
+ trdata = {};\r
+ $("#receipt").hide();\r
+ $("#ticket").hide();\r
+ //we need: databasename and transactionid\r
+ receipt.gettransactionvalues(myprintdisplay.cfg.id);\r
+ receipt.gettransactiondata(myprintdisplay.cfg.id);\r
+ //console.log("Hello");\r
+ if (myprintdisplay.cfg.receipt && myprintdisplay.cfg.receipt==1){\r
+ //console.log("Xreceipt")\r
+ receipt.printreceipt();\r
+ } \r
+ if (myprintdisplay.cfg.ticket && myprintdisplay.cfg.ticket==1){\r
+ receipt.printtickets();\r
+ }\r
+ //this.print().then(function(){this.close()});\r
+});\r
+\r
+function myFunction(){\r
+ //console.log(this);\r
+ //console.log($(this));\r
+ \r
+ setTimeout(waitforclose,5000);\r
+ \r
+}\r
+\r
+function waitforclose(){\r
+ this.close();\r
+}\r
+\r
+\r
+\r