Bug 10096 - Add a Z39.50 interface for authority searching
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / cataloguing / z3950_auth_search.tt
1 [% INCLUDE 'doc-head-open.inc' %]
2 <title>Koha &rsaquo; Z39.50 search results</title>
3 [% INCLUDE 'greybox.inc' %]
4 [% INCLUDE 'doc-head-close.inc' %]
5 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
6 <link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
7 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script>
8 [% INCLUDE 'datatables-strings.inc' %]
9 <script type="text/javascript" src="[% themelang %]/js/datatables.js"></script>
10 <script type="text/javascript">
11 //<![CDATA[
12 function Import(Breeding,AuthType) {
13     opener.document.location="../authorities/authorities.pl?breedingid="+Breeding+"&authtypecode="+AuthType;
14     window.close();
15     return false;
16 }
17
18 function closemenu(){
19     $(".linktools").hide();
20     $("tr").removeClass("selected");
21 }
22
23 $(document).ready(function(){
24     $("#CheckAll").click(function(){
25         $(".checkboxed").checkCheckboxes();
26         return false;
27     });
28     $("#CheckNone").click(function(){
29         $(".checkboxed").unCheckCheckboxes();
30         return false;
31     });
32     $("#resultst").dataTable($.extend(true, {}, dataTablesDefaults, {
33         "sDom": 't',
34         "aoColumnDefs": [
35             { "aTargets": [ -1,-2,-3 ], "bSortable": false, "bSearchable": false },
36         ],
37         "aaSorting": [[ 1, "asc" ]],
38         "bPaginate": false
39     }));
40         /* Inline edit/delete links */
41         $("td").click(function(event){
42             var $tgt = $(event.target);
43             var row = $(this).parent();
44             $(".linktools").hide();
45             $("tr").removeClass("selected");
46             row.addClass("selected");
47             if($tgt.is("a")||$tgt.is(":nth-child(7)")||$tgt.is(":nth-child(8)")||$tgt.is(":nth-child(9)")||$tgt.is(":nth-child(10)")){
48                 return true;
49             } else {
50                 var position = $(this).offset();
51                 var top = position.top+5;
52                 var left = position.left+5;
53                 $(".linktools",row).show().css("position","absolute").css("top",top).css("left",left);
54             }
55         });
56     $("form[name='f']").submit(function(){
57         if ($('input[type=checkbox]').filter(':checked').length == 0) {
58             alert(_("Please choose at least one Z39.50 target"));
59             return false;
60         } else
61             return true;
62     });
63 });
64
65 [% IF ( total_pages ) %]
66 function validate_goto_page(){
67     var page = $('#goto_page').val();
68     if(isNaN(page)) {
69         alert(_("The page entered is not a number."));
70         return false;
71     }
72     else if(page < 1 || page > [% total_pages %] ) {
73         alert(_("The page should be a number between 1 and ") + [% total_pages %] + ".");
74         return false;
75     }
76     else {
77         return true;
78     }
79 }
80 [% END %]
81
82 //]]>
83 </script>
84 <style type="text/css">
85 .linktools { background-color:#FFF;border-top:1px solid #DDD; border-left: 1px solid #DDD; border-right: 1px solid #666; border-bottom:1px solid #666;display: none; white-space: nowrap;}
86 .linktools a { font-size : 85%; text-decoration:none; padding:.3em;;background-color:#FFF; display:block;float:left;border-right:1px solid #DDD;}
87 .linktools a:hover { background-color:#EEE;color:#CC3300;border-right:1px solid #CCC;}
88 tr.selected { background-color : #FFFFCC; } tr.selected td { background-color : transparent; }
89 </style>
90
91     [% IF ( opsearch ) %]
92         <style type="text/css">
93         #custom-doc { width:53em;*width:51.72em;min-width:689px; margin:auto; text-align:left; }
94         </style>
95         </head>
96         <body id="cat_z3950_auth_search" class="cat">
97         <div id="custom-doc" class="yui-t7">
98     [% ELSE %]
99         </head>
100         <body style="padding:.5em;">
101         <div>
102     [% END %]
103     <div id="bd">
104     [% IF ( opsearch ) %]
105         <h2>Z39.50 Authority search points</h2>
106         <form method="post" action="z3950_auth_search.pl" name="f" class="checkboxed">
107         <input type="hidden" name="op" id="op" value="do_search" />
108         <div class="yui-g">
109             <div class="yui-u first">
110                 <fieldset class="rows">
111                 <ol>
112                     <li><label for="srchany">Keyword (any): </label> <input type="text" id="srchany" name="srchany" value="" /></li>
113                     <li><label for="nameany">Name (any): </label> <input type="text" id="nameany" name="nameany" value="" /></li>
114                     <li><label for="authorany">Author (any): </label> <input type="text" id="authorany" name="authorany" value="" /></li>
115                     <li><label for="authorpersonal">Author (personal): </label> <input type="text" id="authorpersonal" name="authorpersonal" value="" /></li>
116                     <li><label for="authorcorp">Author (corporate): </label> <input type="text" id="authorcorp" name="authorcorp" value="" /></li>
117                     <li><label for="authormeetingcon">Author (meeting/conference): </label> <input type="text" id="authormeetingcon" name="authormeetingcon" value="" /></li>
118                 </ol>
119                 </fieldset>
120             </div>
121             <div class="yui-u">
122                 <fieldset class="rows">
123                 <ol>
124                     <li><label for="subject">Subject heading: </label> <input type="text" id="subject" name="subject" value="" /></li>
125                     <li><label for="subjectsubdiv">Subject sub-division: </label> <input type="text" id="subjectsubdiv" name="subjectsubdiv" value="" /></li>
126                     <li><label for="title">Title (any): </label> <input type="text" id="title"  name="title" value="[% title |html %]" /></li>
127                     <li><label for="uniformtitle">Title (uniform): </label> <input type="text" id="uniformtitle"  name="uniformtitle" value="[% uniformtitle |html %]" /></li>
128                 </ol>
129                 </fieldset>
130             </div>
131         </div>
132         <div class="yui-g">
133             <h2>Search targets <span style="display: inline; font-size: 70%; padding-left: 1em;"><span class="checkall"><a id="CheckAll" href="#">Select all</a></span><span class="clearall"><a id="CheckNone" href="#">Clear all</a></span></span></h2>
134             [% FOREACH serverloo IN serverloop %]
135                 <p>
136                 [% IF ( serverloo.checked ) %]
137                     <input type="checkbox" name="id" id="z3950_[% serverloo.id %]" value="[% serverloo.id %]" checked="checked" />
138                 [% ELSE %]
139                     <input type="checkbox" name="id" id="z3950_[% serverloo.id %]" value="[% serverloo.id %]" />
140                 [% END %]
141                 <label for="z3950_[% serverloo.id %]">[% serverloo.name %]</label>
142                 </p>
143             [% END %]
144         </div>
145         <fieldset class="action"><input type="submit"  class="submit" value="Search" onclick="cursor :'wait'"/> <a class="cancel close" href="#">Cancel</a></fieldset>
146         </form>
147
148
149 [% ELSE %]
150     <h2>Results for Authority Records</h2>
151     [% IF ( breeding_loop ) %]
152     <table id="resultst">
153 <thead>    <tr>
154         <th>Server</th>
155         <th>Heading</th>
156         <th>Authority Type</th>
157         <th>MARC</th>
158         <!-- <th>Card</th> -->
159         <th>&nbsp;</th>
160     </tr></thead>
161     <tbody>[% FOREACH breeding_loo IN breeding_loop %]
162         [% IF ( breeding_loo.breedingid ) %]
163         <tr id="row[% breeding_loo.breedingid %]">
164             <td>[% breeding_loo.server %] <div class="linktools"><a href="/cgi-bin/koha/catalogue/showmarc.pl?importid=[% breeding_loo.breedingid %]" rel="gb_page_center[600,500]">Preview MARC</a> <a href="#" onclick="Import([% breeding_loo.breedingid %],'[% breeding_loo.heading_code %]'); return false">Import</a><a href="#" onclick="closemenu();return false;" title="Close this menu"> X </a></div> </td>
165             <td>[% breeding_loo.heading %]</td>
166             <td>[% breeding_loo.heading_code %]</td>
167             <td><a href="/cgi-bin/koha/catalogue/showmarc.pl?importid=[% breeding_loo.breedingid %]" title="MARC" rel="gb_page_center[600,500]">MARC</a></td>
168             <!-- <td><a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&amp;importid=[% breeding_loo.breedingid %]" title="MARC" rel="gb_page_center[600,500]">Card</a></td> -->
169             <td><a href="#" onclick="Import([% breeding_loo.breedingid %],'[% breeding_loo.heading_code %]'); return false">Import</a></td>
170         </tr>
171         [% END %]
172     [% END %]</tbody>
173 </table>
174
175     <form method="post" action="z3950_auth_search.pl" id="page_form" name="page_form" class="checkboxed">
176         <input type="hidden" name="op" id="op" value="do_search" />
177         <input type="hidden" name="current_page" id="current_page" value="[% current_page %]" />
178         <input type="hidden" id="nameany"  name="nameany" value="[% nameany %]" />
179         <input type="hidden" id="authorany"  name="authorany" value="[% authorany %]" />
180         <input type="hidden" id="authorcorp"  name="authorcorp" value="[% authorcorp %]" />
181         <input type="hidden" id="authorpersonal"  name="authorpersonal" value="[% authorpersonal %]" />
182         <input type="hidden" id="authormeetingcon"  name="authormeetingcon" value="[% authormeetingcon %]" />
183         <input type="hidden" id="title"  name="title" value="[% title %]" />
184         <input type="hidden" id="uniformtitle"  name="uniformtitle" value="[% uniformtitle %]" />
185         <input type="hidden" id="subject" name="subject" value="[% subject %]" />
186         <input type="hidden" id="subjectsubdiv" name="subjectsubdiv" value="[% subjectsubdiv %]" />
187         <input type="hidden" id="heading"  name="heading" value="[% heading %]" />
188         <input type="hidden" id="srchany" name="srchany" value="[% srchany %]" />
189
190         [% FOREACH server IN servers %]
191         <input type="hidden" name="id" id="z3950_[% server.id %]" value="[% server.id %]" />
192         [% END %]
193
194         [% IF ( show_prevbutton ) %]
195             <input type="button" name="changepage_prev" value="Previous Page" onclick="$('#current_page').val([% current_page %]-1);$('#page_form').submit();" />
196         [% END %]
197         Page [% current_page %] / [% total_pages %]
198         [% IF ( show_nextbutton ) %]
199             <input type="button" name="changepage_next" value="Next Page" onclick="$('#current_page').val([% current_page %]+1);$('#page_form').submit();" />
200         [% END %]
201         <br />Go to page : <input id="goto_page" name="goto_page" value="[% current_page %]" size="4" /><input type="submit" name="changepage_goto" onclick="return validate_goto_page();" value="Go" />
202     </form>
203
204 <p><form method="get" action="/cgi-bin/koha/cataloguing/z3950_auth_search.pl"><input type="submit" value="Try Another Search"/></form></p>
205     [% ELSE %]
206         [% IF ( errconn ) %]
207             <div class="dialog alert">
208                 <ul>
209                 [% FOREACH errcon IN errconn %]
210                     [% IF ( errcon.error == '10000' ) %]<li>Connection failed to [% errcon.server %]</li>
211                     [% ELSIF ( errcon.error == '10007' ) %]<li>Connection timeout to [% errcon.server %]</li>[% END %]
212                 [% END %]
213                 </ul>
214             </div>
215          [% END %]
216    <div class="dialog message">Nothing found.</div>
217     <p><form method="get" action="/cgi-bin/koha/cataloguing/z3950_auth_search.pl"><input type="submit" value="Try Another Search"/></form></p>
218     [% END %]
219
220 [% END %]
221 </div>
222 </div>
223
224 [% IF ( numberpending ) %]<h3 align="center">Still [% numberpending %] servers to search</h3>[% END %]
225
226 </body>
227 </html>