better messages both to patrons and to beep log
authorDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 13 Nov 2014 15:46:53 +0000 (16:46 +0100)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Thu, 13 Nov 2014 15:46:53 +0000 (16:46 +0100)
examples/selfcheck.html
examples/selfcheck.js
scripts/RFID-JSONP-server.pl

index c7faf22..e049fbb 100644 (file)
@@ -127,7 +127,7 @@ Timeout in <span id="tick">99</span> 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.
 
 <hr>
 
@@ -160,8 +160,8 @@ Borrower:
 <!--
 <li>Hold items: <span class="hold_items">0</span>
 -->
-<li>Posudjeno: <span class="charged_items">0</span>
-<li>Kasnjenja: <span class="overdue_items">0</span>
+<li>Posuđeno: <span class="charged_items">0</span>
+<li>Kašnjenja: <span class="overdue_items">0</span>
 <!--
 <li>Fine items: <span class="fine_items">0</span>
 -->
index a43e684..218bf3a 100644 (file)
@@ -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 = '<span style="color:red">'+overdue+'</span>';
-                       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('<li>' + ( data['AJ'] || barcode ) + ( data['AF'] ? ' <b style="color:'+color+'">' + data['AF'] + ' ' + error : '</b>' ) + '</li>');
+                       if ( data['AF'] ) {
+                               message = data['AF'] + ' ' + message;
+                       }
+
+                       $('ul#books').append('<li>' + ( data['AJ'] || barcode ) + ' <b style="color:'+color+'">' + message + '</b></li>');
                        $('#books_count').html( $('ul#books > li').length );
                        console.debug( book_barcodes );
                        pending_jsonp--;
index 6858000..4bec23e 100755 (executable)
@@ -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";