]> wagnertech.de Git - mfinanz.git/blob - js/kivi.ScanQRBill.js
date error in mapping
[mfinanz.git] / js / kivi.ScanQRBill.js
1 namespace('kivi.ScanQRBill', function(ns) {
2
3   ns.onScanSuccess = async (decodedText, decodedResult) => {
4     // stop camera
5     await html5Qrcode.stop();
6
7     // send the scanned text to the server
8     const data = [];
9     data.push({ name: 'qrtext', value: decodedText });
10     data.push({ name: 'action', value: 'ScanQRBill/handle_scan_result' });
11     $.post("controller.pl", data, kivi.eval_json_result);
12   }
13
14   ns.onScanFailure = (error) => {
15     // handle scan failure, usually better to ignore and keep scanning.
16     //console.warn(`Code scan error = ${error}`);
17   }
18
19   ns.popupInvalidQRBill = (error) => {
20     console.warn('popupInvalidQRBill', error);
21     $('#qr_code_invalid_error').text(error);
22     $('#qr_code_invalid_modal').modal('open');
23   }
24
25   ns.popupVendorNotFound = (vn) => {
26     //console.warn('popupVendorNotFound', vn);
27     $('#vendor_name').text(vn);
28     $('#vendor_not_found_error').modal('open');
29   }
30
31   ns.sendTestCode = async (code) => {
32     // function to easily send code without scanning
33     // use for testing only
34     if (html5Qrcode.isScanning) {
35       // stop camera
36       await html5Qrcode.stop();
37     }
38     const data = [];
39     const codes = [
40       "SPC\r\n0200\r\n1\r\nCH4431999123000889012\r\nS\r\nMax Muster & Söhne\r\nMusterstrasse\r\n123\r\n8000\r\nSeldwyla\r\nCH\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n1949.75\r\nCHF\r\nS\r\nSimon Muster\r\nMusterstrasse\r\n1\r\n8000\r\nSeldwyla\r\nCH\r\nQRR\r\n210000000003139471430009017\r\nOrder from 15.10.2020\r\nEPD\r\n//S1/10/1234/11/201021/30/102673386/32/7.7/40/0:30\r\nName AV1: UV;UltraPay005;12345\r\nName AV2: XY;XYService;54321",
41       "SPC\n0200\n1\nCH5800791123000889012\nS\nMuster Krankenkasse\nMusterstrasse\n12\n8000\nSeldwyla\nCH\n\n\n\n\n\n\n\n211.00\nCHF\nS\nSarah Beispiel\nMusterstrasse\n1\n8000\nSeldwyla\nCH\nSCOR\nRF240191230100405JSH0438\n\nEPD\n",
42       "SPC\n0200\n1\nCH5800791123000889012\nS\nMax Muster & Söhne\nMusterstrasse\n123\n8000\nSeldwyla\nCH\n\n\n\n\n\n\n\n199.95\nCHF\nS\nSarah Beispiel\nMusterstrasse\n1\n78462\nKonstanz\nDE\nSCOR\nRF18539007547034\n\nEPD\n",
43       // for testing XSS
44       "SPC\r\n0200\r\n1\r\nCH4431999123000889012\r\nS\r\nMax Muster & Söhne\r\nMusterstrasse\r\n123\r\n8000\r\nSeldwyla\r\nCH\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n1949.75\r\nCHF\r\nS\r\nSimon Muster\r\nMusterstrasse\r\n1\r\n8000\r\nSeldwyla\r\nCH\r\nQRR\r\n210000000003139471430009017\r\nOrder from 15.10.2020\r\nEPD\r\n//S1/10/1234/11/201021/30/102673386/32/7.7/40/0:30<script>alert('XSS!');</script>\r\nName AV1: UV;UltraPay005;12345\r\nName AV2: XY;XYService;54321",
45       "<script>alert('XSS!');</script>",
46     ];
47     data.push({ name: 'qrtext', value: codes[code] });
48     data.push({ name: 'action', value: 'ScanQRBill/handle_scan_result' });
49     $.post("controller.pl", data, kivi.eval_json_result);
50   }
51
52 });