]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/templates/opac/parts/ebook_api/base_js.tt2
LP#1673870: Add ebook API checkout functionality to OPAC
[working/Evergreen.git] / Open-ILS / src / templates / opac / parts / ebook_api / base_js.tt2
1 [%
2 # HTML display chunks
3 progress_icon = '<img id="ebook_avail_spinner" src="/opac/images/progressbar_green.gif' _ ctx.cache_key _ '" alt="' _ l("Checking availability for this item...") _ '"/>'
4 %]
5
6 <script type="text/javascript" src="[% ctx.media_prefix %]/js/ui/default/opac/ebook_api/session.js[% ctx.cache_key %]"></script>
7 <script type="text/javascript" src="[% ctx.media_prefix %]/js/ui/default/opac/ebook_api/ebook.js[% ctx.cache_key %]"></script>
8 <script type="text/javascript">
9
10 // translatable strings as JS variables
11 var l_strings = {};
12 l_strings.download = '[% l('Download') %]';
13 l_strings.ready_for_checkout = '[% l('Ready for Checkout') %]';
14 l_strings.suspended = '[% l('Suspended') %]';
15 l_strings.checkout = '[% l('Checkout') %]';
16
17 // give us cookies!
18 dojo.require("dojo.cookie");
19
20 // context org unit
21 [% IF !ctx.page OR ctx.page != 'rresult';
22     PROCESS get_library;
23 END %]
24 var ou = [% loc_value %];
25
26 // list of enabled vendors
27 var vendor_list = [];
28 [% IF ebook_api.ebook_test.enabled == 'true' %]
29 vendor_list.push('ebook_test');
30 [% END %]
31 [% IF ebook_api.oneclickdigital.enabled == 'true' %]
32 vendor_list.push('oneclickdigital');
33 [% END %]
34 [% IF ebook_api.overdrive.enabled == 'true' %]
35 vendor_list.push('overdrive');
36 [% END %]
37
38 var cookie_registry = [ 'ebook_xact_cache' ];
39 dojo.forEach(vendor_list, function(v) {
40     cookie_registry.push(v);
41 });
42
43 // essential info for performing a transaction
44 var ebook_action = {};
45 [%- IF CGI.param("action").defined %]
46 ebook_action.type = '[% CGI.param("action") %]';
47 [%- END -%]
48 [%- IF CGI.param("title").defined %]
49 ebook_action.title_id = '[% CGI.param("title") %]';
50 [%- END -%]
51 [%- IF CGI.param("vendor").defined %]
52 ebook_action.vendor = '[% CGI.param("vendor") %]';
53 [%- END -%]
54
55 [% IF ctx.user %]
56 // user- or login-specific vars
57 var authtoken = '[% ctx.authtoken %]';
58 var patron_id = '[% ctx.active_card %]'; // using barcode of active card as patron ID
59
60 var myopac_page;
61 [% IF myopac_page %]
62 myopac_page = "[% myopac_page %]";
63 [% END %]
64
65 [% END %]
66
67 // enforce removal of ebook API cookies on logout
68 dojo.addOnLoad(function() {
69     var logout_handle = dojo.connect(dojo.byId('#logout_link'), 'onclick', function() {
70         dojo.forEach(cookie_registry, function(cookie) {
71             dojo.cookie(cookie, '', {path: '/', expires: '-1h'});
72         });
73         // When we switch to jQuery, use .one()
74         // instead of dojo's .connect() and .disconnect()
75         dojo.disconnect(logout_handle);
76     });
77 });
78 </script>
79
80 [%- IF ctx.user %]
81 <script type="text/javascript" src="[% ctx.media_prefix %]/js/ui/default/opac/ebook_api/relation.js[% ctx.cache_key %]"></script>
82 <script type="text/javascript" src="[% ctx.media_prefix %]/js/ui/default/opac/ebook_api/loggedin.js[% ctx.cache_key %]"></script>
83 [%- END %]
84