Bug 27796: (QA follow-up) Missing filters
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / includes / js_includes.inc
1 [% USE raw %]
2 [% USE Asset %]
3 [% USE AudioAlerts %]
4 [% USE To %]
5 [% USE Koha %]
6 [%# Prevent XFS attacks -%]
7 [% UNLESS popup %]
8     <script>
9        if (self === top) {
10            var antiClickjack = document.getElementById("antiClickjack");
11            antiClickjack.parentNode.removeChild(antiClickjack);
12        } else {
13            top.location = self.location;
14        }
15     </script>
16 [% END %]
17
18 [% Asset.js("lib/jquery/jquery-2.2.3.min.js") | $raw %]
19 [% Asset.js("lib/jquery/jquery-migrate-1.3.0.min.js") | $raw %]
20 [% Asset.js("lib/jquery/jquery-ui-1.11.4.min.js") | $raw %]
21 [% Asset.js("lib/shortcut/shortcut.js") | $raw %]
22 [% Asset.js("lib/jquery/plugins/jquery.cookie.min.js") | $raw %]
23 [% Asset.js("lib/js-cookie/js.cookie-2.2.1.min.js") | $raw %]
24 [% Asset.js("lib/jquery/plugins/jquery.highlight-3.js") | $raw %]
25 [% Asset.js("lib/bootstrap/bootstrap.min.js") | $raw %]
26 [% Asset.js("lib/jquery/plugins/jquery.validate.min.js") | $raw %]
27 <!-- koha core js -->
28 [% Asset.js("js/staff-global.js") | $raw %]
29
30 [% INCLUDE 'validator-strings.inc' %]
31 [% IF ( IntranetUserJS ) %]
32     <!-- js_includes.inc: IntranetUserJS -->
33     <script>
34     [% IntranetUserJS | $raw %]
35     </script>
36     <!-- / js_includes.inc: IntranetUserJS -->
37 [% END %]
38
39 <!-- js_includes.inc -->
40 [% IF ( Koha.Preference('virtualshelves') || Koha.Preference('intranetbookbag') ) %]
41     [% Asset.js("js/basket.js") | $raw %]
42 [% END %]
43
44 [% IF LocalCoverImages %]
45     [% Asset.js("js/localcovers.js") | $raw %]
46 [% END %]
47
48 [% IF Koha.Preference('AudioAlerts') || AudioAlertsPage %]
49     <script>
50         // AudioAlerts
51         var AUDIO_ALERT_PATH = '[% interface | html %]/[% theme | html %]/sound/';
52         var AUDIO_ALERTS = JSON.parse( "[% To.json(AudioAlerts.AudioAlerts) | $raw %]" );
53
54         $( document ).ready(function() {
55             if ( AUDIO_ALERTS ) {
56                 for ( var k in AUDIO_ALERTS ) {
57                     var alert = AUDIO_ALERTS[k];
58                     if ( $( alert.selector ).length ) {
59                         playSound( alert.sound );
60                         break;
61                     }
62                 }
63             }
64         });
65     </script>
66 [% END %]
67
68 [% IF ( CAN_user_circulate_circulate_remaining_permissions ) %]
69     [% IF ( PatronAutoComplete ) %]
70         <script>
71             // PatronAutoComplete && CAN_user_circulate_circulate_remaining_permissions
72             $(document).ready(function(){
73                 var obj = $( "#findborrower" ).autocomplete({
74                     source: "/cgi-bin/koha/circ/ysearch.pl",
75                     minLength: 3,
76                     select: function( event, ui ) {
77                         window.location.href = ui.item.link;
78                     }
79                 }).data( "ui-autocomplete" );
80                 if( obj ) {
81                     obj._renderItem = function( ul, item ) {
82                         item.link = "/cgi-bin/koha/circ/circulation.pl?borrowernumber=" + item.borrowernumber;
83                         var cardnumber = "";
84                         if( item.cardnumber != "" ){
85                             // Display card number in parentheses if it exists
86                             cardnumber = " (" + item.cardnumber + ") ";
87                         }
88                         var itemString = "<a href=\"" + item.link + "\">" + ( item.surname ? item.surname.escapeHtml() : "" ) + ", " + ( item.firstname ? item.firstname.escapeHtml() : "" ) + cardnumber.escapeHtml() + " <small>";
89                         if( item.dateofbirth ) {
90                             itemString += ( item.dateofbirth ? item.dateofbirth.escapeHtml() : "" )
91                                         + "<span class=\"age_years\"> (" + ( item.age ? item.age.escapeHtml() : "" ) + " " +  _("years") + ")</span>, ";
92                         }
93                         itemString += ( item.address ? item.address.escapeHtml() : "" ) + " "
94                                     + ( item.city    ? item.city.escapeHtml()    : "" ) + " "
95                                     + ( item.zipcode ? item.zipcode.escapeHtml() : "" ) + " "
96                                     + ( item.country ? item.country.escapeHtml() : "" )
97                                     + "</small></a>";
98                         return $( "<li></li>" )
99                         .data( "ui-autocomplete-item", item )
100                         .append( itemString )
101                         .appendTo( ul );
102                     };
103                 }
104             });
105         </script>
106     [% END %]
107 [% END %]
108 [% IF ( PatronAutoComplete ) %]
109     <script>
110     // PatronAutoComplete
111     $(document).ready(function(){
112         var obj = $( "#searchmember" ).autocomplete({
113             source: "/cgi-bin/koha/circ/ysearch.pl",
114             minLength: 3,
115             select: function( event, ui ) {
116                 window.location.href = ui.item.link;
117             }
118         }).data( "ui-autocomplete" );
119         if( obj ) {
120             obj._renderItem = function( ul, item ) {
121                 item.link = "/cgi-bin/koha/members/moremember.pl?borrowernumber=" + item.borrowernumber;
122                 var cardnumber = "";
123                 if( item.cardnumber != "" ){
124                     // Display card number in parentheses if it exists
125                     cardnumber = " (" + item.cardnumber + ") ";
126                 }
127                 return $( "<li></li>" )
128                 .data( "ui-autocomplete-item", item )
129                 .append(
130                     "<a href=\"" + item.link + "\">" + ( item.surname ? item.surname.escapeHtml() : "" ) + ", "
131                         + ( item.firstname ? item.firstname.escapeHtml() : "" )
132                         + cardnumber.escapeHtml()
133                         + " <small>"
134                             + ( item.dateofbirth ? item.dateofbirth.escapeHtml() : "" ) + " "
135                             + ( item.address     ? item.address.escapeHtml() : "" )     + " "
136                             + ( item.city        ? item.city.escapeHtml() : "" )        + " "
137                             + ( item.zipcode     ? item.zipcode.escapeHtml() : "" )     + " "
138                             + ( item.country     ? item.country.escapeHtml() : "" )
139                         + "</small>"
140                     + "</a>" )
141                 .appendTo( ul );
142             };
143         }
144     });
145     </script>
146 [% END %]
147 <!-- / js_includes.inc -->