Bug 22671: Show warning if browser doesn't support applicationCache

This patch adds a check for browser support for the "applicationCache"
feature required by the offline circulation tool. If the feature is not
available, a message is shown to the user that offline circulation is
disabled.

To test, apply the patch and enable the AllowOfflineCirculation system
preference.

In a browser which supports applicationCache (Firefox < 81, Chrome < 94,
Safari <= 15), go to Circulation -> Built-in offline circulation
interface.

- You should see the standard Offline Circulation menu options: Check
  out, check in, syncrhonize, etc.
- Click "Synchronize," then "Download records."
- The process should complete correctly, updating the "last synced"
  information on the page.

Follow the same steps in a browser which has dropped support for
applicationCache. As soon as you reach the built-in offline circulation
page you should see a message, "Your browser is not compatible..."

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
Owen Leonard 2021-10-18 12:29:19 +00:00 committed by Fridolin Somers
parent be18ee7aa5
commit 8d1248db4f
1 changed files with 21 additions and 15 deletions

View File

@ -73,9 +73,9 @@
<div id="offline-sync" style="display: none;" class="offline-sync">
<div id="toolbar" class="btn-toolbar">
[% IF (AllowOfflineCirculation) %]
<a href="#" id="download-records" class="btn btn-default"><i class="fa fa-arrow-down"></i>Download records</a>
<a href="#" id="download-records" class="btn btn-default"><i class="fa fa-arrow-down"></i> Download records</a>
[% END %]
<a href="#" id="upload-transactions" class="btn btn-default"><i class="fa fa-arrow-up"></i>Upload transactions</a>
<a href="#" id="upload-transactions" class="btn btn-default"><i class="fa fa-arrow-up"></i> Upload transactions</a>
</div>
<h1>Offline circulation</h1>
<div class="row">
@ -639,24 +639,30 @@
}
// This next bit of code is to deal with the updated session issue
window.addEventListener('load', function(e) {
window.applicationCache.addEventListener('updateready', function(e) {
if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
// Browser downloaded a new app cache.
// Swap it in and reload the page to get the new hotness.
window.applicationCache.swapCache();
if (confirm(_("A new version of this site is available. Load it?"))) {
window.location.reload();
if( typeof window.applicationCache !== "undefined" ){
window.addEventListener('load', function(e) {
window.applicationCache.addEventListener('updateready', function(e) {
if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
// Browser downloaded a new app cache.
// Swap it in and reload the page to get the new hotness.
window.applicationCache.swapCache();
if (confirm(_("A new version of this site is available. Load it?"))) {
window.location.reload();
}
} else {
// Manifest didn't changed. Nothing new to server.
}
} else {
// Manifest didn't changed. Nothing new to server.
}
}, false);
}, false);
}, false);
}
$(document).ready(function () {
kohadb.initialize();
if( typeof window.applicationCache === "undefined" ){
$("#offline-home div").html('<div class="dialog alert"><h3>' + _("Offline circulation disabled") + '</h3><p>' + _("Your browser is not compatible with the built-in offline circulation tool.") + '</div>');
} else {
kohadb.initialize();
}
$('#header_search #circ_search .tip').text(_("Enter patron card number:"));
$('ul[aria-labelledby="logged-in-menu"]').html('<li><a class="toplinks">' + _("You cannot change your branch or logout while using offline circulation") + '</a></li>');