Lines 2-23
Link Here
|
2 |
[% IF (AllowOfflineCirculation) %] |
2 |
[% IF (AllowOfflineCirculation) %] |
3 |
[% SET manifestattr = 'manifest="/cgi-bin/koha/circ/offline-mf.pl"' %] |
3 |
[% SET manifestattr = 'manifest="/cgi-bin/koha/circ/offline-mf.pl"' %] |
4 |
[% END %] |
4 |
[% END %] |
5 |
[% IF ( bidi ) %]<html lang="[% lang %]" dir="[% bidi %]" [% manifestattr %]>[% ELSE %]<html lang="[% lang %]" [% manifestattr %]>[% END %] |
5 |
[% IF ( bidi && AllowOfflineCirculation ) %]<html lang="[% lang %]" dir="[% bidi %]" manifest="/cgi-bin/koha/circ/offline-mf.pl"> |
|
|
6 |
[% ELSIF ( bidi ) %]<html lang="[% lang %]" dir="[% bidi %]"> |
7 |
[% ELSIF ( AllowOfflineCirculation ) %]<html lang="[% lang %]" manifest="/cgi-bin/koha/circ/offline-mf.pl"> |
8 |
[% ELSE %]<html lang="[% lang %]">[% END %] |
6 |
<head> |
9 |
<head> |
7 |
<title>Koha › Circulation</title> |
10 |
<title>Koha › Circulation</title> |
8 |
[% INCLUDE 'doc-head-close.inc' %] |
11 |
[% INCLUDE 'doc-head-close.inc' %] |
9 |
<script type="text/javascript" src="/intranet-tmpl/lib/jquery/plugins/jquery.indexeddb.js"></script> |
12 |
<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/jquery.indexeddb.js"></script> |
10 |
<script type="text/javascript" src="/intranet-tmpl/prog/en/js/offlinecirc.js"></script> |
13 |
<script type="text/javascript" src="[% interface %]/prog/en/js/offlinecirc.js"></script> |
11 |
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery-ui-timepicker-addon.js"></script> |
14 |
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery-ui-timepicker-addon.js"></script> |
12 |
<script type="text/javascript"> |
15 |
<script type="text/javascript"> |
13 |
//<![CDATA[ |
16 |
//<![CDATA[ |
|
|
17 |
var ALERT_SUCCESSFUL_CHECKIN = _("Checked in item."); |
14 |
var ALERT_MATERIALS = _("Note about the accompanying materials: "); |
18 |
var ALERT_MATERIALS = _("Note about the accompanying materials: "); |
15 |
var ALERT_RESTRICTED = _("Patron is RESTRICTED"); |
19 |
var ALERT_RESTRICTED = _("Patron is RESTRICTED"); |
16 |
var ALERT_NO_MATCHING_ITEM = _("No item with barcode in offline database (transaction recorded anyway): "); |
20 |
var ALERT_NO_MATCHING_ITEM = _("No item with barcode in offline database (transaction recorded anyway): "); |
17 |
var ALERT_NOT_CHECKED_OUT = _("Item not listed as checked out in offline database (transaction recorded anyway)"); |
21 |
var ALERT_NOT_CHECKED_OUT = _("Item not listed as checked out in offline database (transaction recorded anyway)"); |
18 |
var ALERT_ITEM_WITHDRAWN = _("Item has been withdrawn (transaction recorded anyway)"); |
22 |
var ALERT_ITEM_WITHDRAWN = _("Item has been withdrawn (transaction recorded anyway)"); |
19 |
var ALERT_ITEM_RESTRICTED = _("Item is restricted (transaction recorded anyway)"); |
23 |
var ALERT_ITEM_RESTRICTED = _("Item is restricted (transaction recorded anyway)"); |
20 |
var ALERT_ITEM_LOST = _("Item is has been lost (transaction recorded anyway)"); |
24 |
var ALERT_ITEM_LOST = _("Item has been lost (transaction recorded anyway)"); |
21 |
var ALERT_NO_MATCHING_PATRON = _("No patron cardnumber in offline database (proceeding anyway): "); |
25 |
var ALERT_NO_MATCHING_PATRON = _("No patron cardnumber in offline database (proceeding anyway): "); |
22 |
var ALERT_PATRON_GONE_NO_ADDRESS = _("Patron's address is in doubt (transaction recorded anyway)"); |
26 |
var ALERT_PATRON_GONE_NO_ADDRESS = _("Patron's address is in doubt (transaction recorded anyway)"); |
23 |
var ALERT_PATRON_CARD_LOST = _("Patron's card is lost"); |
27 |
var ALERT_PATRON_CARD_LOST = _("Patron's card is lost"); |
Lines 26-31
var ALERT_PATRON_BLOCKED_TEMPORARY = _("Patron has had overdue items and is rest
Link Here
|
26 |
var ALERT_PATRON_RESTRICTED = _("Patron is restricted"); |
30 |
var ALERT_PATRON_RESTRICTED = _("Patron is restricted"); |
27 |
var ALERT_PATRON_FINE = _("Patron has outstanding fines: "); |
31 |
var ALERT_PATRON_FINE = _("Patron has outstanding fines: "); |
28 |
var ALERT_PATRON_FINE_OVER_LIMIT = _("Patron fines are over limit: "); |
32 |
var ALERT_PATRON_FINE_OVER_LIMIT = _("Patron fines are over limit: "); |
|
|
33 |
var UPLOAD_PENDING_MESSAGE = _("You have transactions in the offline circulation database on this computer that have not been uploaded."); |
34 |
var NO_UPLOAD_PENDING_MESSAGE = _("You do not have any pending transactions in the offline circulation database on this computer."); |
29 |
|
35 |
|
30 |
var start; |
36 |
var start; |
31 |
|
37 |
|
Lines 48-64
function checkin(barcode, item, error) {
Link Here
|
48 |
"action" : "return" |
54 |
"action" : "return" |
49 |
}; |
55 |
}; |
50 |
$('#alerts').empty(); |
56 |
$('#alerts').empty(); |
51 |
$('#offline-home').hide(); |
57 |
$('.offline-home').hide(); |
52 |
$('#offline-returns').show(); |
58 |
$('.offline-sync').hide(); |
|
|
59 |
$('.offline-circulation').hide(); |
60 |
$('.offline-circulation-instructions').hide(); |
61 |
$('.offline-returns').show(); |
53 |
kohadb.recordTransaction(trans, function () { |
62 |
kohadb.recordTransaction(trans, function () { |
|
|
63 |
$('#session-returned').show(); |
54 |
$('#already-checked-in tbody').prepend('<tr><td>' + item.title + '</td><td>' + item.author + '</td><td>' + barcode + '</td><td>' + item.homebranch + '</td><td>' + item.holdingbranch + '</td><td></td><td>' + item.callnumber + '</td><td>' + item.itemtype + '</td></tr>'); |
64 |
$('#already-checked-in tbody').prepend('<tr><td>' + item.title + '</td><td>' + item.author + '</td><td>' + barcode + '</td><td>' + item.homebranch + '</td><td>' + item.holdingbranch + '</td><td></td><td>' + item.callnumber + '</td><td>' + item.itemtype + '</td></tr>'); |
55 |
if (alerts.length > 0) { |
65 |
if (alerts.length > 0) { |
56 |
$('#alerts').append('<div class="dialog alert"><h3>' + _("Check in message") + '</h3></div>'); |
66 |
$('#alerts').append('<div class="dialog alert"><h3>' + _("Check in message") + '</h3></div>'); |
57 |
for (var msg in alerts) { |
67 |
for (var msg in alerts) { |
58 |
$('#alerts .dialog').append('<p>' + alerts[msg] + '</p'); |
68 |
$('#alerts .dialog').append('<p>' + alerts[msg] + '</p'); |
59 |
} |
69 |
} |
|
|
70 |
} else { |
71 |
$('#alerts').append('<div class="dialog"><h3>' + ALERT_SUCCESSFUL_CHECKIN + '</h3></div>'); |
60 |
} |
72 |
} |
61 |
}); |
73 |
}); |
|
|
74 |
setTimeout(function() { $('#checkin-barcode').trigger('focus'), 1 }); |
62 |
} |
75 |
} |
63 |
|
76 |
|
64 |
function checkAlerts(barcode, item) { |
77 |
function checkAlerts(barcode, item) { |
Lines 73-94
function checkAlerts(barcode, item) {
Link Here
|
73 |
return alerts; |
86 |
return alerts; |
74 |
} |
87 |
} |
75 |
|
88 |
|
76 |
function synchronize() { |
89 |
function showSyncInfo() { |
77 |
kohadb.saveSetting("userid", "[% loggedinusername %]"); |
|
|
78 |
kohadb.saveSetting("branchcode", "[% LoginBranchcode %]"); |
79 |
kohadb.loadSetting("item-timestamp", showTimestamp); |
90 |
kohadb.loadSetting("item-timestamp", showTimestamp); |
80 |
kohadb.loadSetting("patron-timestamp", showTimestamp); |
91 |
kohadb.loadSetting("patron-timestamp", showTimestamp); |
81 |
kohadb.loadSetting("issue-timestamp", showTimestamp); |
92 |
kohadb.loadSetting("issue-timestamp", showTimestamp); |
|
|
93 |
kohadb.loadSetting("dirty", function (key, val) { |
94 |
if (val) { |
95 |
$('#upload-message').text(UPLOAD_PENDING_MESSAGE); |
96 |
} else { |
97 |
$('#upload-message').text(NO_UPLOAD_PENDING_MESSAGE); |
98 |
} |
99 |
}); |
100 |
} |
101 |
|
102 |
function synchronize() { |
103 |
kohadb.saveSetting("userid", "[% loggedinusername %]"); |
104 |
kohadb.saveSetting("branchcode", "[% LoginBranchcode %]"); |
105 |
showSyncInfo(); |
82 |
[% UNLESS (AllowOfflineCirculation) %] |
106 |
[% UNLESS (AllowOfflineCirculation) %] |
83 |
reloadRecords(); |
107 |
reloadRecords(); |
84 |
[% END %] |
108 |
[% END %] |
|
|
109 |
showSyncInfo(); |
85 |
$('#download-records').click(reloadRecords); |
110 |
$('#download-records').click(reloadRecords); |
86 |
$('#upload-transactions').click(function () { |
111 |
$('#upload-transactions').click(function () { |
87 |
$('.loading-overlay div').text(_("Uploading transactions, please wait...")); |
112 |
$('.loading-overlay div').text(_("Uploading transactions, please wait...")); |
88 |
$('.loading-overlay').show(); |
113 |
$('.loading-overlay').show(); |
89 |
var uploadIter = $.indexedDB("koha").objectStore("transactions").each(uploadTransaction); |
114 |
var uploadIter = $.indexedDB("koha").objectStore("transactions").each(uploadTransaction); |
90 |
uploadIter.done(function() { |
115 |
uploadIter.done(function() { |
|
|
116 |
$.indexedDB("koha").transaction(["transactions"]).then(function(){ |
117 |
}, function(err, e){ |
118 |
}, function(transaction){ |
119 |
transaction.objectStore("transactions").clear(); |
120 |
}); |
91 |
$('.loading-overlay').hide(); |
121 |
$('.loading-overlay').hide(); |
|
|
122 |
kohadb.saveSetting("dirty", false); |
123 |
$('#upload-message').text(NO_UPLOAD_PENDING_MESSAGE); |
92 |
}); |
124 |
}); |
93 |
}); |
125 |
}); |
94 |
|
126 |
|
Lines 122-128
function reloadRecords(ev) {
Link Here
|
122 |
|
154 |
|
123 |
function uploadTransaction(transaction) { |
155 |
function uploadTransaction(transaction) { |
124 |
$.ajax({ |
156 |
$.ajax({ |
125 |
type: "GET", |
157 |
type: "POST", |
126 |
url: "/cgi-bin/koha/offline_circ/service.pl", |
158 |
url: "/cgi-bin/koha/offline_circ/service.pl", |
127 |
data: { "userid" : kohadb.settings.userid, |
159 |
data: { "userid" : kohadb.settings.userid, |
128 |
"branchcode" : kohadb.settings.branchcode, |
160 |
"branchcode" : kohadb.settings.branchcode, |
Lines 132-140
function uploadTransaction(transaction) {
Link Here
|
132 |
"cardnumber" : transaction.value.cardnumber, |
164 |
"cardnumber" : transaction.value.cardnumber, |
133 |
"pending" : true, |
165 |
"pending" : true, |
134 |
}, |
166 |
}, |
135 |
}).done(function () { |
|
|
136 |
transaction.delete(); |
137 |
}); |
167 |
}); |
|
|
168 |
return undefined, true; |
138 |
} |
169 |
} |
139 |
|
170 |
|
140 |
function finishedLoading() { |
171 |
function finishedLoading() { |
Lines 160-166
function loadRecords(page) {
Link Here
|
160 |
dataType: "json", |
191 |
dataType: "json", |
161 |
}).done(function (data) { |
192 |
}).done(function (data) { |
162 |
$.indexedDB("koha").transaction(["patrons", "items", "issues"]).then(function(){ |
193 |
$.indexedDB("koha").transaction(["patrons", "items", "issues"]).then(function(){ |
163 |
if ($.isEmptyObject(data.patrons) && $.isEmptyObject(data.items)) { |
194 |
if (data.finished) { |
164 |
finishedLoading(); |
195 |
finishedLoading(); |
165 |
} else { |
196 |
} else { |
166 |
setTimeout(function () { loadRecords(page + 1); }, 200); |
197 |
setTimeout(function () { loadRecords(page + 1); }, 200); |
Lines 202-208
function validate1(date) {
Link Here
|
202 |
function loadPatron(barcode) { |
233 |
function loadPatron(barcode) { |
203 |
$('#oldissues').hide(); |
234 |
$('#oldissues').hide(); |
204 |
$('#session-issues').hide(); |
235 |
$('#session-issues').hide(); |
|
|
236 |
$('#issuest tbody').empty(); |
205 |
$('#session-payments').hide(); |
237 |
$('#session-payments').hide(); |
|
|
238 |
$('.checkout-count').text(0); |
206 |
$.indexedDB("koha").transaction(["patrons", "issues"]).then(function() { |
239 |
$.indexedDB("koha").transaction(["patrons", "issues"]).then(function() { |
207 |
}, function(err, e){ |
240 |
}, function(err, e){ |
208 |
}, function(transaction){ |
241 |
}, function(transaction){ |
Lines 215-220
function loadPatron(barcode) {
Link Here
|
215 |
issuesidx.each(function (item) { |
248 |
issuesidx.each(function (item) { |
216 |
$('#oldissues').show(); |
249 |
$('#oldissues').show(); |
217 |
$('#oldissuest tbody').append("<tr><td>" + item.value.date_due + "</td><td>" + item.value.barcode + "</td><td>" + item.value.title + "</td><td>" + item.value.itype + "</td><td>" + item.value.issuedate + "</td><td>" + item.value.issuebranch + "</td><td>" + item.value.callnumber + "</td><td>" + "" + "</td></tr>"); |
250 |
$('#oldissuest tbody').append("<tr><td>" + item.value.date_due + "</td><td>" + item.value.barcode + "</td><td>" + item.value.title + "</td><td>" + item.value.itype + "</td><td>" + item.value.issuedate + "</td><td>" + item.value.issuebranch + "</td><td>" + item.value.callnumber + "</td><td>" + "" + "</td></tr>"); |
|
|
251 |
$('.checkout-count').text(parseInt($('.checkout-count').text()) + 1); |
218 |
}, barcode); |
252 |
}, barcode); |
219 |
}); |
253 |
}); |
220 |
} |
254 |
} |
Lines 232-238
function checkout(barcode, item, error) {
Link Here
|
232 |
item.itemtype = item.itemtype || ""; |
266 |
item.itemtype = item.itemtype || ""; |
233 |
if ($('#duedatespec').val().length === 0) { |
267 |
if ($('#duedatespec').val().length === 0) { |
234 |
alert(_("You must set a due date in order to use offline circulation!")); |
268 |
alert(_("You must set a due date in order to use offline circulation!")); |
235 |
$('#duedatespec').focus(); |
269 |
setTimeout(function() { $('#duedatespec').trigger('focus'), 1 }); |
236 |
return; |
270 |
return; |
237 |
} |
271 |
} |
238 |
var date_due = new Date($('#duedatespec').datepicker('getDate')); |
272 |
var date_due = new Date($('#duedatespec').datepicker('getDate')); |
Lines 246-257
function checkout(barcode, item, error) {
Link Here
|
246 |
kohadb.recordTransaction(trans, function () { |
280 |
kohadb.recordTransaction(trans, function () { |
247 |
$('#session-issues').show(); |
281 |
$('#session-issues').show(); |
248 |
$('#issuest tbody').prepend('<tr><td>' + $.datepicker.formatDate(dateformat, date_due) + date_due.toTimeString() + '</td><td>' + item.title + '</td><td>' + barcode + '</td><td>' + item.itemtype + '</td><td>' + $.datepicker.formatDate(dateformat, new Date()) + '</td><td>' + kohadb.settings.branchcode + '</td><td>' + item.callnumber + '</td><td></td></tr>'); |
282 |
$('#issuest tbody').prepend('<tr><td>' + $.datepicker.formatDate(dateformat, date_due) + date_due.toTimeString() + '</td><td>' + item.title + '</td><td>' + barcode + '</td><td>' + item.itemtype + '</td><td>' + $.datepicker.formatDate(dateformat, new Date()) + '</td><td>' + kohadb.settings.branchcode + '</td><td>' + item.callnumber + '</td><td></td></tr>'); |
|
|
283 |
$('.checkout-count').text(parseInt($('.checkout-count').text()) + 1); |
249 |
if (alerts.length > 0) { |
284 |
if (alerts.length > 0) { |
250 |
$('#alerts').append('<div class="dialog alert"><h3>' + _("Check out message") + '</h3></div>'); |
285 |
$('#alerts').append('<div class="dialog alert"><h3>' + _("Check out message") + '</h3></div>'); |
251 |
for (var msg in alerts) { |
286 |
for (var msg in alerts) { |
252 |
$('#alerts .dialog').append('<p>' + alerts[msg] + '</p'); |
287 |
$('#alerts .dialog').append('<p>' + alerts[msg] + '</p'); |
253 |
} |
288 |
} |
254 |
} |
289 |
} |
|
|
290 |
$('#checkout-barcode').val(''); |
255 |
}); |
291 |
}); |
256 |
} |
292 |
} |
257 |
|
293 |
|
Lines 265-270
function recordFine(amount) {
Link Here
|
265 |
kohadb.recordTransaction(trans, function () { |
301 |
kohadb.recordTransaction(trans, function () { |
266 |
$('#session-payments').show(); |
302 |
$('#session-payments').show(); |
267 |
$('#session-payments tbody').prepend('<tr><td>' + amount + '</td><td>' + $.datepicker.formatDate(dateformat, timestamp) + timestamp.toTimeString() + '</td></tr>'); |
303 |
$('#session-payments tbody').prepend('<tr><td>' + amount + '</td><td>' + $.datepicker.formatDate(dateformat, timestamp) + timestamp.toTimeString() + '</td></tr>'); |
|
|
304 |
$('.fine-amount').text(parseInt($('.fine-amount').text) - amount); |
268 |
}); |
305 |
}); |
269 |
} |
306 |
} |
270 |
|
307 |
|
Lines 364-375
function showPatron(barcode, patron, error) {
Link Here
|
364 |
if (alerts.length > 0) { |
401 |
if (alerts.length > 0) { |
365 |
$('#alerts').append('<div class="dialog alert"><h3>' + _("Check out message") + '</h3></div>'); |
402 |
$('#alerts').append('<div class="dialog alert"><h3>' + _("Check out message") + '</h3></div>'); |
366 |
for (var msg in alerts) { |
403 |
for (var msg in alerts) { |
367 |
$('#alerts .dialog').append('<p>' + alerts[msg] + '</p'); |
404 |
$('#alerts .dialog').append('<p>' + alerts[msg] + '</p>'); |
368 |
} |
405 |
} |
369 |
} |
406 |
} |
370 |
curpatron = patron; |
407 |
curpatron = patron; |
371 |
$('#yui-main').show(); |
408 |
$('#yui-main').show(); |
372 |
$('#barcode').focus(); |
409 |
setTimeout(function() { $('#checkout-barcode').trigger('focus'), 1 }); |
373 |
} |
410 |
} |
374 |
|
411 |
|
375 |
// This next bit of code is to deal with the updated session issue |
412 |
// This next bit of code is to deal with the updated session issue |
Lines 408-437
$(document).ready(function () {
Link Here
|
408 |
}); |
445 |
}); |
409 |
|
446 |
|
410 |
$('#go-to-home').click(function () { |
447 |
$('#go-to-home').click(function () { |
|
|
448 |
$('#alerts').empty(); |
411 |
$('.offline-sync').hide(); |
449 |
$('.offline-sync').hide(); |
412 |
$('.offline-circulation').hide(); |
450 |
$('.offline-circulation').hide(); |
413 |
$('.offline-returns').hide(); |
451 |
$('.offline-returns').hide(); |
|
|
452 |
$('.offline-circulation-instructions').hide(); |
414 |
$('.offline-home').show(); |
453 |
$('.offline-home').show(); |
415 |
}); |
454 |
}); |
416 |
|
455 |
|
417 |
$('#go-to-returns').click(function () { |
456 |
$('#go-to-returns').click(function () { |
|
|
457 |
$('#alerts').empty(); |
418 |
$('.offline-home').hide(); |
458 |
$('.offline-home').hide(); |
419 |
$('.offline-sync').hide(); |
459 |
$('.offline-sync').hide(); |
420 |
$('.offline-circulation').hide(); |
460 |
$('.offline-circulation').hide(); |
|
|
461 |
$('.offline-circulation-instructions').hide(); |
421 |
$('.offline-returns').show(); |
462 |
$('.offline-returns').show(); |
422 |
$('#checkin-form input[name="barcode"]').focus(); |
463 |
setTimeout(function() { $('#checkin-form input[name="barcode"]').trigger('focus'), 1 }); |
423 |
}); |
464 |
}); |
424 |
|
465 |
|
425 |
$('#go-to-circ').click(function () { |
466 |
$('#go-to-circ').click(function () { |
|
|
467 |
$('#alerts').empty(); |
426 |
$('.offline-home').hide(); |
468 |
$('.offline-home').hide(); |
427 |
$('.offline-sync').hide(); |
469 |
$('.offline-sync').hide(); |
428 |
$('.offline-returns').hide(); |
470 |
$('.offline-returns').hide(); |
429 |
$('.offline-circulation').hide(); |
471 |
$('.offline-circulation').hide(); |
|
|
472 |
$('.offline-circulation-instructions').show(); |
430 |
$('#header_search').tabs("option", "active", 0); |
473 |
$('#header_search').tabs("option", "active", 0); |
431 |
$('#circ_search input[name="findborrower"]').focus(); |
474 |
setTimeout(function() { $('#circ_search input[name="findborrower"]').trigger('focus'), 1 }); |
432 |
}); |
475 |
}); |
433 |
|
476 |
|
434 |
$('#go-to-sync').click(function () { |
477 |
$('#go-to-sync').click(function () { |
|
|
478 |
$('#alerts').empty(); |
479 |
showSyncInfo(); |
435 |
$.ajax({ |
480 |
$.ajax({ |
436 |
type: "GET", |
481 |
type: "GET", |
437 |
url: "/cgi-bin/koha/offline_circ/list.pl", |
482 |
url: "/cgi-bin/koha/offline_circ/list.pl", |
Lines 439-444
$(document).ready(function () {
Link Here
|
439 |
$('.offline-home').hide(); |
484 |
$('.offline-home').hide(); |
440 |
$('.offline-returns').hide(); |
485 |
$('.offline-returns').hide(); |
441 |
$('.offline-circulation').hide(); |
486 |
$('.offline-circulation').hide(); |
|
|
487 |
$('.offline-circulation-instructions').hide(); |
442 |
$('.offline-sync').show(); |
488 |
$('.offline-sync').show(); |
443 |
synchronize(); |
489 |
synchronize(); |
444 |
}, |
490 |
}, |
Lines 448-462
$(document).ready(function () {
Link Here
|
448 |
}); |
494 |
}); |
449 |
}); |
495 |
}); |
450 |
|
496 |
|
|
|
497 |
$('#go-to-pending').click(function (ev) { |
498 |
$('#alerts').empty(); |
499 |
ev.preventDefault(); |
500 |
$.ajax({ |
501 |
type: "GET", |
502 |
url: "/cgi-bin/koha/offline_circ/list.pl", |
503 |
success: function () { |
504 |
window.location = '/cgi-bin/koha/offline_circ/list.pl'; |
505 |
}, |
506 |
error: function () { |
507 |
alert(_("You are offline and therefore cannot process pending operations")); |
508 |
} |
509 |
}); |
510 |
}); |
511 |
|
451 |
$('#patronsearch').submit(function (event) { |
512 |
$('#patronsearch').submit(function (event) { |
452 |
event.preventDefault(); |
513 |
event.preventDefault(); |
453 |
loadPatron($('#findborrower').val()); |
514 |
loadPatron($('#findborrower').val()); |
454 |
$('.offline-home').hide(); |
515 |
$('.offline-home').hide(); |
455 |
$('.offline-returns').hide(); |
516 |
$('.offline-returns').hide(); |
456 |
$('.offline-sync').hide(); |
517 |
$('.offline-sync').hide(); |
|
|
518 |
$('.offline-circulation-instructions').hide(); |
457 |
$('.offline-circulation').show(); |
519 |
$('.offline-circulation').show(); |
458 |
$('#findborrower').val(''); |
520 |
$('#findborrower').val(''); |
459 |
$('#barcode').focus(); |
521 |
setTimeout(function() { $('#checkout-barcode').trigger('focus'), 1 }); |
460 |
}); |
522 |
}); |
461 |
|
523 |
|
462 |
$('#pay-fine').click(function (event) { |
524 |
$('#pay-fine').click(function (event) { |
Lines 472-484
$(document).ready(function () {
Link Here
|
472 |
minute: 59 |
534 |
minute: 59 |
473 |
}); |
535 |
}); |
474 |
$("#duedatespec").datetimepicker({ |
536 |
$("#duedatespec").datetimepicker({ |
475 |
onClose: function(dateText, inst) { $("#barcode").focus(); }, |
537 |
onClose: function(dateText, inst) { setTimeout(function() { $('#checkout-barcode').trigger('focus'), 1 }); }, |
476 |
hour: 23, |
538 |
hour: 23, |
477 |
minute: 59 |
539 |
minute: 59 |
478 |
}); |
540 |
}); |
479 |
$('#mainform').submit(function (event) { |
541 |
$('#mainform').submit(function (event) { |
480 |
event.preventDefault(); |
542 |
event.preventDefault(); |
481 |
var barcode = $('#barcode').val(); |
543 |
var barcode = $('#checkout-barcode').val(); |
482 |
$.indexedDB("koha").transaction(["items"]).then(function() { |
544 |
$.indexedDB("koha").transaction(["items"]).then(function() { |
483 |
}, function(err, e){ |
545 |
}, function(err, e){ |
484 |
}, function(transaction){ |
546 |
}, function(transaction){ |
Lines 505-512
$(document).ready(function () {
Link Here
|
505 |
|
567 |
|
506 |
<div id="bd"> |
568 |
<div id="bd"> |
507 |
<div id="yui-main"> |
569 |
<div id="yui-main"> |
508 |
<audio id="alert_sound" src="/intranet-tmpl/prog/sound/critical.ogg" autobuffer="autobuffer"></audio> |
570 |
<audio id="alert_sound" src="[% interface %]/prog/sound/critical.ogg" autobuffer="autobuffer"></audio> |
509 |
<audio id="success_sound" src="/intranet-tmpl/prog/sound/beep.ogg" autobuffer="autobuffer"></audio> |
571 |
<audio id="success_sound" src="[% interface %]/prog/sound/beep.ogg" autobuffer="autobuffer"></audio> |
510 |
|
572 |
|
511 |
<div id="alerts" class="yui-b"> |
573 |
<div id="alerts" class="yui-b"> |
512 |
</div> |
574 |
</div> |
Lines 523-536
$(document).ready(function () {
Link Here
|
523 |
<ul> |
585 |
<ul> |
524 |
<li><a id="go-to-circ" href="#offline-circulation">Check out</a></li> |
586 |
<li><a id="go-to-circ" href="#offline-circulation">Check out</a></li> |
525 |
<li><a id="go-to-returns" href="#offline-returns">Check in</a></li> |
587 |
<li><a id="go-to-returns" href="#offline-returns">Check in</a></li> |
526 |
<li><a id="go-to-sync" href="#offline-sync">Synchronize (must be online)</a></li> |
|
|
527 |
</ul> |
588 |
</ul> |
528 |
</div> |
589 |
</div> |
529 |
|
590 |
|
530 |
<div class="yui-u"> |
591 |
<div class="yui-u"> |
531 |
<p><strong>Note:</strong> You must be online to use these options.</p> |
592 |
<p><strong>Note:</strong> You must be online to use these options.</p> |
532 |
<ul> |
593 |
<ul> |
533 |
<li><a href="/cgi-bin/koha/offline_circ/list.pl">Pending offline circulation actions</a> |
594 |
<li><a id="go-to-sync" href="#offline-sync">Synchronize</a></li> |
|
|
595 |
<li><a id="go-to-pending" href="/cgi-bin/koha/offline_circ/list.pl">Pending offline circulation actions</a> |
534 |
</ul> |
596 |
</ul> |
535 |
</div> |
597 |
</div> |
536 |
</div> |
598 |
</div> |
Lines 547-554
$(document).ready(function () {
Link Here
|
547 |
<h1>Offline circulation</h1> |
609 |
<h1>Offline circulation</h1> |
548 |
<div class="yui-u first"> |
610 |
<div class="yui-u first"> |
549 |
<div id="download-message"> |
611 |
<div id="download-message"> |
550 |
You have records in the offline circulation database on this |
612 |
In order for offline circulation to work on this computer, |
551 |
computer, but they may not be current: |
613 |
your library's records must be up-to-date on this computer: |
552 |
<ul> |
614 |
<ul> |
553 |
<li>Patron records were last synced on: <span id="patron-timestamp">(checking)</span></li> |
615 |
<li>Patron records were last synced on: <span id="patron-timestamp">(checking)</span></li> |
554 |
<li>Item records were last synced on: <span id="item-timestamp">(checking)</span></li> |
616 |
<li>Item records were last synced on: <span id="item-timestamp">(checking)</span></li> |
Lines 558-567
$(document).ready(function () {
Link Here
|
558 |
</div> |
620 |
</div> |
559 |
|
621 |
|
560 |
<div class="yui-u"> |
622 |
<div class="yui-u"> |
561 |
<div id="upload-message">You have transactions in the offline |
623 |
<div id="upload-message"> |
562 |
circulation database on this computer that have not been |
|
|
563 |
uploaded. |
564 |
</div> |
624 |
</div> |
|
|
625 |
<div>View <a href="/cgi-bin/koha/offline_circ/list.pl">pending offline circulation actions</a></div> |
565 |
</div> |
626 |
</div> |
566 |
</div> |
627 |
</div> |
567 |
</div> |
628 |
</div> |
Lines 572-579
$(document).ready(function () {
Link Here
|
572 |
<div class="yui-u first"> |
633 |
<div class="yui-u first"> |
573 |
<fieldset> |
634 |
<fieldset> |
574 |
<legend>Check In</legend> |
635 |
<legend>Check In</legend> |
575 |
<label for="barcode">Enter item barcode: </label> |
636 |
<label for="checkin-barcode">Enter item barcode: </label> |
576 |
<input name="barcode" id="barcode" size="14" class="focus"/> |
637 |
<input name="barcode" id="checkin-barcode" size="14" class="focus"/> |
577 |
<input type="submit" class="submit" value="Submit" /> |
638 |
<input type="submit" class="submit" value="Submit" /> |
578 |
</fieldset> |
639 |
</fieldset> |
579 |
</div> |
640 |
</div> |
Lines 592-605
$(document).ready(function () {
Link Here
|
592 |
</div> |
653 |
</div> |
593 |
</div> |
654 |
</div> |
594 |
|
655 |
|
|
|
656 |
<div style="display: none;" class="yui-b offline-circulation-instructions"> |
657 |
<div class="yui-g"> |
658 |
Scan a patron barcode to start. |
659 |
</div> |
660 |
</div> |
661 |
|
595 |
<div id="offline-circulation" style="display: none;" class="yui-b offline-circulation"> |
662 |
<div id="offline-circulation" style="display: none;" class="yui-b offline-circulation"> |
596 |
<div class="yui-g"> |
663 |
<div class="yui-g"> |
597 |
<form method="post" action="/cgi-bin/koha/circ/offline-circulation.pl" id="mainform" name="mainform" autocomplete="off"> |
664 |
<form method="post" action="/cgi-bin/koha/circ/offline.pl" id="mainform" name="mainform" autocomplete="off"> |
598 |
<fieldset id="circ_circulation_issue"> |
665 |
<fieldset id="circ_circulation_issue"> |
599 |
<span id="clearscreen"><a href="/cgi-bin/koha/circ/offline-circulation.pl" title="Clear screen">x</a></span> |
666 |
<span id="clearscreen"><a href="/cgi-bin/koha/circ/offline.pl" title="Clear screen">x</a></span> |
600 |
<label for="barcode">Checking out to <span class="patron-title"></span></label> |
667 |
<label for="checkout-barcode">Checking out to <span class="patron-title"></span></label> |
601 |
<div class="hint">Enter item barcode:</div> |
668 |
<div class="hint">Enter item barcode:</div> |
602 |
<input type="text" name="barcode" id="barcode" class="barcode focus" size="14" /> |
669 |
<input type="text" name="barcode" id="checkout-barcode" class="barcode focus" size="14" /> |
603 |
<input type="submit" value="Check Out" /> |
670 |
<input type="submit" value="Check Out" /> |
604 |
|
671 |
|
605 |
<div class="date-select"> |
672 |
<div class="date-select"> |