From 39a86abcdffdaabdf9622ed878a1664c85af60e6 Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Thu, 13 Nov 2014 16:46:53 +0100 Subject: [PATCH] better messages both to patrons and to beep log --- examples/selfcheck.html | 6 +++--- examples/selfcheck.js | 20 ++++++++++++-------- scripts/RFID-JSONP-server.pl | 8 +++++--- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/examples/selfcheck.html b/examples/selfcheck.html index c7faf22..e049fbb 100644 --- a/examples/selfcheck.html +++ b/examples/selfcheck.html @@ -127,7 +127,7 @@ Timeout in 99 seconds. Put borrower card on a reader to borrow books --> -Ako želite posuditi knjigu, najprije stavite iskaznicu na za to previđeno mjesto. +Ako želite posuditi knjigu, najprije stavite iskaznicu na za to predviđeno mjesto.
@@ -160,8 +160,8 @@ Borrower: -
  • Posudjeno: 0 -
  • Kasnjenja: 0 +
  • Posuđeno: 0 +
  • KaÅ¡njenja: 0 diff --git a/examples/selfcheck.js b/examples/selfcheck.js index a43e684..218bf3a 100644 --- a/examples/selfcheck.js +++ b/examples/selfcheck.js @@ -23,9 +23,9 @@ var tick_timeout = 25; // s var tick_warning = 10; // s var tick = 0; -function beep() { +function beep( message ) { pending_jsonp++; - $.getJSON("/beep") + $.getJSON("/beep/" + message) .done( function(data) { pending_jsonp--; }) @@ -85,7 +85,7 @@ function change_page(new_state) { } if ( state == 'error' ) { - beep(); + beep( 'error page' ); window.setTimeout(function(){ //change_page('start'); location.reload(); @@ -228,7 +228,7 @@ function start( cardnumber, tag ) { var overdue = data['fixed'].substr( 2 + 14 + 3 + 18 + ( 1 * 4 ), 4 ) * 1; if ( overdue > 0 ) { overdue = ''+overdue+''; - beep(); + beep( 'overdue: ' + overdue ); } fill_in( 'overdue_items', overdue ); fill_in( 'charged_items', data['fixed'].substr( 2 + 14 + 3 + 18 + ( 2 * 4 ), 4 ) * 1 ); @@ -260,15 +260,19 @@ function circulation( barcode, tag ) { console.info( circulation_type, data ); var color = 'red'; - var error = 'Transakcija neuspjeÅ¡na. Odnesite knjige na pult!'; + var message = 'Transakcija neuspjeÅ¡na. Odnesite knjige na pult!'; if ( data['fixed'].substr(2,1) == 1 ) { color='green'; - error = ''; + message = circulation_type == 'checkout' ? 'Posuđeno' : 'Vraćeno'; } else { - beep(); + beep( circulation_type + ': ' + data['AF'] ); } - $('ul#books').append('
  • ' + ( data['AJ'] || barcode ) + ( data['AF'] ? ' ' + data['AF'] + ' ' + error : '' ) + '
  • '); + if ( data['AF'] ) { + message = data['AF'] + ' ' + message; + } + + $('ul#books').append('
  • ' + ( data['AJ'] || barcode ) + ' ' + message + '
  • '); $('#books_count').html( $('ul#books > li').length ); console.debug( book_barcodes ); pending_jsonp--; diff --git a/scripts/RFID-JSONP-server.pl b/scripts/RFID-JSONP-server.pl index 6858000..4bec23e 100755 --- a/scripts/RFID-JSONP-server.pl +++ b/scripts/RFID-JSONP-server.pl @@ -19,6 +19,7 @@ use JSON::XS; use IO::Socket::INET; use LWP::UserAgent; use URI; +use URI::Escape; use POSIX qw(strftime); use Encode; @@ -302,10 +303,11 @@ sub http_server { encode_json( $hash ); } - } elsif ( $method =~ m{/beep} ) { + } elsif ( $method =~ m{/beep/(.*)} ) { + my $error = uri_unescape($1); system "beep -f 800 -r 2 -l 100"; - print $client "HTTP/1.0 200 OK\r\nContent-Type: application/json\r\n\r\n{ beep: 1 }\n"; - print "BEEP"; + print $client "HTTP/1.0 200 OK\r\nContent-Type: application/json\r\n\r\n{ beep: '$error' }\n"; + print "BEEP $error\n"; } else { print $client "HTTP/1.0 404 Unkown method\r\n\r\n"; warn "ERROR 404 $request\n"; -- 2.20.1