Bug 34571: Remove use of "onclick" for ExpandField in cataloguing editors
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / cataloguing / addbooks.tt
1 [% USE raw %]
2 [% USE Koha %]
3 [% USE KohaDates %]
4 [% USE TablesSettings %]
5 [% SET footerjs = 1 %]
6 [% INCLUDE 'doc-head-open.inc' %]
7 <title>Cataloging [% IF ( total || breeding_loop ) %] &rsaquo; Search results [% ELSIF ( query ) %] &rsaquo; No results found [% END %] &rsaquo; Koha</title>
8 [% INCLUDE 'doc-head-close.inc' %]
9 </head>
10
11 <body id="cat_addbooks" class="cat">
12 [% WRAPPER 'header.inc' %]
13     [% INCLUDE 'cataloging-search.inc' %]
14 [% END %]
15
16 [% WRAPPER 'sub-header.inc' %]
17     [% WRAPPER breadcrumbs %]
18         [% IF ( total || breeding_loop || query ) %]
19             [% WRAPPER breadcrumb_item %]
20                 <a href="/cgi-bin/koha/cataloguing/cataloging-home.pl">Cataloging</a>
21             [% END %]
22         [% END %]
23         [% IF ( total || breeding_loop ) %]
24             [% WRAPPER breadcrumb_item bc_active= 1 %]
25                 <span>Search results</span>
26             [% END %]
27         [% ELSIF ( query ) %]
28             [% WRAPPER breadcrumb_item bc_active= 1 %]
29                 <span>No results found</span>
30             [% END %]
31         [% ELSE %]
32             [% WRAPPER breadcrumb_item bc_active= 1 %]
33                 <span>Cataloging</span>
34             [% END %]
35         [% END %]
36     [% END #/ WRAPPER breadcrumbs %]
37 [% END #/ WRAPPER sub-header.inc %]
38
39     <div class="main container-fluid">
40         <div class="row">
41             <div class="col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2">
42
43                 [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]
44                     <div id="toolbar" class="btn-toolbar">
45                         [% IF Koha.Preference( 'EnableAdvancedCatalogingEditor' ) == 1 && CAN_user_editcatalogue_advanced_editor %]
46                             <a id="useadvanced" href="/cgi-bin/koha/cataloguing/editor.pl" class="btn btn-default"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Advanced editor</a>
47                         [% END %]
48                         <div class="btn-group">
49                             <button class="btn btn-default" id="newRecord"><i class="fa fa-plus"></i> New record</button>
50                             <button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
51                                 <span class="caret"></span>
52                             </button>
53                             <ul class="dropdown-menu">
54                                 <li><a id="newRecordDefault" href="/cgi-bin/koha/cataloguing/addbiblio.pl?frameworkcode=">Default framework</a></li>
55                                 [% FOREACH framework IN frameworks %]
56                                     <li><a href="/cgi-bin/koha/cataloguing/addbiblio.pl?frameworkcode=[% framework.frameworkcode | uri %]">[% framework.frameworktext | html %]</a></li>
57                                 [% END %]
58                             </ul>
59                         </div>
60                         [% IF servers.count > 0 %]
61                             <div class="btn-group">
62                                 <button class="btn btn-default" id="z3950search"><i class="fa fa-search"></i> New from Z39.50/SRU</button>
63                                 <button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
64                                     <span class="caret"></span>
65                                 </button>
66                                 <ul class="dropdown-menu">
67                                     <li id="Default" class="z3950searchFw"><a href="#">Default framework</a></li>
68                                     [% FOREACH framework IN frameworks %]
69                                         <li id="[% framework.frameworkcode | html %]" class="z3950searchFw"><a href="#">[% framework.frameworktext | html %]</a></li>
70                                     [% END %]
71                                 </ul>
72                             </div>
73                         [% END # /IF servers.count %]
74                         [% IF ( total ) %]
75                             <div class="btn-group"><button type="submit" class="btn btn-default merge-items"><i class="fa fa-compress"></i> Merge selected</button></div>
76                         [% END %]
77                     </div> <!-- /#toolbar -->
78                 [% END # /IF CAN_user_editcatalogue_edit_catalogue %]
79
80                 <h1>Cataloging</h1>
81
82                 [% IF ( noitemsfound ) %]
83                     No results found
84                 [% END %]
85
86                 [%# display the search results %]
87
88                 [% IF ( total ) %]
89                     <h2>Records found in the catalog</h2>
90                     <div class="page-section">
91                     <div>
92                         [% total | html %] result(s) found in catalog,
93                         <a href="#searchresult-breeding">[% breeding_count | html %] result(s) found in reservoir</a>
94                     </div>
95                     <div class="pages">[% pagination_bar | $raw %]</div>
96                         <div class="searchresults">
97                             <table>
98                                 <tr>
99                                     <th>&nbsp;</th>
100                                     <th>Title</th>
101                                     <th>Location</th>
102                                     <th>&nbsp;</th>
103                                 </tr>
104                                 [% FOREACH resultsloo IN resultsloop %]
105                                     <tr>
106                                         <td><input type="checkbox" class="selection" id="bib[% resultsloo.biblionumber | html %]" name="biblionumber" value="[% resultsloo.biblionumber | html %]" /></td>
107                                         <td>
108                                             <p>
109                                                 [% INCLUDE 'biblio-title.inc' biblio=resultsloo link = 1 %]
110                                             </p>
111                                             [% IF ( resultsloo.summary ) %]
112                                                 <p>[% resultsloo.summary | html %]</p>
113                                             [% ELSE %]
114                                                 <p>
115                                                     [% IF ( resultsloo.author ) %]
116                                                         [% resultsloo.author | html %]
117                                                     [% ELSE %]
118                                                         &nbsp;
119                                                     [% END %]
120                                                     [% IF ( resultsloo.isbn ) %] - [% resultsloo.isbn | html %] [% END %]
121                                                     [% IF ( resultsloo.publicationyear ) %] - [% resultsloo.publicationyear | html %][% END %]
122                                                     [% IF ( resultsloo.publishercode ) %]- [% resultsloo.publishercode | html %][% END %]
123                                                     [% IF ( resultsloo.copyrightdate ) %] - [% resultsloo.copyrightdate | html %][% END %]
124                                                     [% IF ( resultsloo.edition ) %]<span>Edition: </span>[% resultsloo.edition | html %][% END %]
125                                                     [% IF ( resultsloo.place ) %] ; [% resultsloo.place | html %][% END %]
126                                                     [% IF ( resultsloo.pages ) %] - [% resultsloo.pages | html %][% END %]
127                                                     [% IF ( resultsloo.item('size') ) %] ; [% resultsloo.item('size') | html %][% END %]
128                                                     [% IF ( resultsloo.timestamp ) %] <em>(modified on [% resultsloo.timestamp | html %])</em>[% END %]
129                                                 </p>
130                                             [% END %]
131                                         </td>
132                                         <td>
133                                             [% IF ( resultsloo.available_items_loop ) %]
134                                                 <span class="available">
135                                                     [% FOREACH items_loo IN resultsloo.available_items_loop %]
136                                                         [% items_loo.count | html %] [% items_loo.branchname | html %]
137                                                         [% IF ( items_loo.location ) %]<span class="shelvingloc">[% items_loo.location | html %]</span>[% END %]
138                                                         [% IF ( items_loo.itemcallnumber ) %][% items_loo.itemcallnumber | html %][% END %]
139                                                         [% IF ( items_loo.classification ) %]
140                                                             <a href="/cgi-bin/koha/catalogue/search.pl?q=callnum:[% items_loo.classification |url %]">
141                                                                 [% items_loo.classification | html %]
142                                                             </a>
143                                                         [% END %]
144                                                         <br />
145                                                     [% END %]
146                                                 </span>
147                                             [% END %]
148                                             <span class="unavailable">
149                                                 [% IF ( resultsloo.onloancount ) %] <span>Checked out ([% resultsloo.onloancount | html %])</span>,<br /> [% END %]
150                                                 [% IF ( resultsloo.withdrawncount ) %] <span>Withdrawn ([% resultsloo.withdrawncount | html %])</span>,<br /> [% END %]
151                                                 [% IF ( resultsloo.itemlostcount ) %] <span>Lost ([% resultsloo.itemlostcount | html %])</span><br />[% END %]
152                                                 [% IF ( resultsloo.recalledcount ) %] <span>Waiting to fill recall ([% resultsloo.recalled | html %])</span>[% END %]
153                                                 [% IF ( resultsloo.onholdcount ) %] <span>Waiting on hold ([% resultsloo.onholdcount | html %])</span>[% END %]
154                                             </span>
155                                             <span class="notforloan">
156                                                 [% IF ( resultsloo.other_items_loop ) %]
157                                                     [% FOREACH items_loo IN resultsloo.other_items_loop %]
158                                                         [% IF ( items_loo.notforloan ) %][% items_loo.notforloan | html %] ([% items_loo.count | html %])<br />[% END %]
159                                                     [% END %]
160                                                 [% END %]
161                                             </span>
162                                         </td>
163                                         <td>
164                                             <div class="dropup">
165                                                 <a class="btn btn-default btn-xs dropdown-toggle" id="cataloguesearchactions[% resultsloo.biblionumber | html %]" role="button" data-toggle="dropdown" href="#">
166                                                     Actions <b class="caret"></b>
167                                                 </a>
168                                                 <ul class="dropdown-menu pull-right" role="menu" aria-labelledby="cataloguesearchactions[% resultsloo.biblionumber | html %]">
169                                                     <li><a href="/cgi-bin/koha/catalogue/showmarc.pl?id=[% resultsloo.biblionumber | uri %]" class="previewData"><i class="fa-solid fa-eye"></i> MARC preview</a></li>
170                                                     <li><a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&amp;id=[% resultsloo.biblionumber | uri %]" class="previewData"><i class="fa-solid fa-eye"></i> Card preview</a></li>
171                                                     [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]
172                                                         <li><a href="/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=[% resultsloo.biblionumber | uri %]"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit record</a></li>
173                                                     [% END %]
174                                                     [% IF ( CAN_user_editcatalogue_edit_items ) %]
175                                                         <li><a href="/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% resultsloo.biblionumber | uri %]"><i class="fa fa-plus"></i> Add/Edit items</a></li>
176                                                     [% END %]
177                                                 </ul>
178                                             </div> <!-- /.dropup -->
179                                         </td>
180                                     </tr>
181                                 [% END # /FOREACH resultsloo %]
182                             </table>
183                             <div class="pages">[% pagination_bar | $raw %]</div>
184                         </div> <!-- /.searchresults -->
185                     </div> <!-- /.page-section -->
186                 [% ELSE # IF total %]
187                     [% IF ( query ) %]
188                         [% IF ( error ) %]
189                             <div class="dialog alert">
190                         [% END %]
191                             <h3>No results found</h3>
192                         [% IF ( error ) %]
193                                 Error: <span class="error">[% error | html %]</span>
194                             </div>
195                         [% END %]
196                     [% END %]
197                 [% END # /IF total %]
198
199                 [% IF ( query ) %]
200
201                     <div id="searchresult-breeding">
202                         <h2>Records found in the reservoir</h2>
203                         <div class="page-section">
204                         [% IF ( breeding_loop ) %]
205                             <table id="reservoir-table">
206                                 <thead>
207                                     <tr>
208                                         <th>Title</th>
209                                         <th>ISBN</th>
210                                         <th>Coming from</th>
211                                         <th>Import date</th>
212                                         <th class="NoSort noExport">&nbsp;</th>
213                                     </tr>
214                                 </thead>
215                                 <tbody>
216                                     [% FOREACH breeding_loo IN breeding_loop %]
217                                         <tr>
218                                             <td>
219                                                 [% breeding_loo.title | html %] [% breeding_loo.author | html %]
220                                             </td>
221                                             <td>[% breeding_loo.isbn | html %]</td>
222                                             <td>[% breeding_loo.file | html %]</td>
223                                             <td data-sort="[% breeding_loo.upload_timestamp | html %]">[% breeding_loo.upload_timestamp | $KohaDates %]</td>
224                                             <td>
225                                                 <div class="dropup">
226                                                     <a class="btn btn-default btn-xs dropdown-toggle" id="reservoirsearchactions[% breeding_loo.id | html %]" role="button" data-toggle="dropdown" href="#">
227                                                         Actions <b class="caret"></b>
228                                                     </a>
229                                                     <ul class="dropdown-menu pull-right" role="menu" aria-labelledby="reservoirsearchactions[% breeding_loo.id | html %]">
230                                                         <li><a href="/cgi-bin/koha/catalogue/showmarc.pl?importid=[% breeding_loo.id | uri %]" class="previewData"><i class="fa-solid fa-eye"></i> MARC preview</a></li>
231                                                         <li><a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&amp;importid=[% breeding_loo.id | uri %]" class="previewData"><i class="fa-solid fa-eye"></i> Card preview</a></li>
232                                                         [% IF ( CAN_user_editcatalogue_edit_catalogue ) %]
233                                                             <li><a href="/cgi-bin/koha/cataloguing/addbiblio.pl?breedingid=[% breeding_loo.id | uri %]"><i class="fa fa-plus"></i> Add biblio</a></li>
234                                                         [% END %]
235                                                     </ul>
236                                                 </div>
237                                             </td>
238                                         </tr>
239                                     [% END # /IF breeding_loo %]
240                                 </tbody>
241                             </table>
242                         [% ELSE %]
243                             <h3 id="searchresult-breeding">No results found</h3>
244                         [% END # /IF breeding_loop %]
245                         </div>
246                     </div>
247                 [% END # /IF query %]
248
249                 <div id="dataPreview" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="dataPreviewLabel" aria-hidden="true">
250                     <div class="modal-dialog">
251                         <div class="modal-content">
252                             <div class="modal-header">
253                                 <button type="button" class="closebtn" data-dismiss="modal" aria-hidden="true">×</button>
254                                 <h3 id="dataPreviewLabel">Preview</h3>
255                             </div>
256                             <div class="modal-body">
257                                 <div id="loading"> <img src="[% interface | html %]/[% theme | html %]/img/spinner-small.gif" alt="" /> Loading </div>
258                             </div>
259                             <div class="modal-footer">
260                                 <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Close</button>
261                             </div>
262                         </div> <!-- /.modal-content -->
263                     </div> <!-- /.modal-dialog -->
264                 </div> <!-- /#dataPreview -->
265             </div> <!-- /.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2 -->
266         </div> <!-- /.row -->
267
268 [% MACRO jsinclude BLOCK %]
269     [% INCLUDE 'datatables.inc' %]
270     [% INCLUDE 'columns_settings.inc' %]
271     <script>
272
273          $(document).ready(function() {
274             //Set focus to cataloging search
275             $("input[name=q]:eq(0)").focus();
276
277             $("#newRecord").click(function(){
278                 var url = $("a#newRecordDefault").prop("href");
279                 window.location.href = url;
280                 return false;
281             });
282
283             $("#z3950search").click(function(){
284                 PopupZ3950("Default");
285                 return false;
286             });
287
288             $(".z3950searchFw").click(function(){
289                 PopupZ3950($(this).prop('id'));
290                 return false;
291             });
292             $(".merge-items").on("click",function(e){
293                 e.preventDefault();
294                 MergeItems();
295             });
296
297             $("#useadvanced").click(function(){
298                 Cookies.set( "catalogue_editor_[% logged_in_user.borrowernumber | html %]", "advanced", { expires: 365, path: '/', sameSite: 'Lax' } );
299                 return true;
300             });
301
302             $(".previewData").on("click", function(e){
303                 e.preventDefault();
304                 var ltitle = $(this).text();
305                 var page = $(this).attr("href");
306                 $("#dataPreviewLabel").text(ltitle);
307                 $("#dataPreview .modal-body").load(page + " div");
308                 $('#dataPreview').modal({show:true});
309             });
310             $("#dataPreview").on("hidden.bs.modal", function(){
311                 $("#dataPreviewLabel").html("");
312                 $("#dataPreview .modal-body").html("<div id=\"loading\"><img src=\"[% interface | html %]/[% theme | html %]/img/spinner-small.gif\" alt=\"\" /> "+_("Loading")+"</div>");
313             });
314
315             var table_settings = [% TablesSettings.GetTableSettings( 'cataloguing', 'addbooks', 'reservoir-table', 'json' ) | $raw %]
316             var reservoirt = KohaTable("reservoir-table", {
317                 "pagingType": "simple"
318             }, table_settings );
319         });
320
321         /* this function open a popup to search on z3950 server.  */
322         function PopupZ3950(fw) {
323             var strQuery = GetZ3950Terms(fw);
324             if(strQuery){
325                 window.open("/cgi-bin/koha/cataloguing/z3950_search.pl?biblionumber=[% biblionumber | html %]"+strQuery,"z3950search",'width=800,height=500,location=yes,toolbar=no,scrollbars=yes,resize=yes');
326             }
327         }
328         /* provide Z3950 search points */
329         function GetZ3950Terms(fw){
330             var strQuery="&frameworkcode=" + fw;
331             [% FOREACH z3950_search_param IN z3950_search_params %]
332                 strQuery += "&" + "[% z3950_search_param.name | uri %]" + "=" + "[% z3950_search_param.value | uri %]";
333             [% END %]
334             return strQuery;
335         }
336
337         /**
338          * This function checks if the adequate number of records are checked for merging
339          */
340         function MergeItems() {
341             var checkboxes = $("input:checkbox:checked");
342             if (checkboxes.length < 2) {
343                 alert(_("At least two records must be selected for merging."));
344             } else {
345                 var params = [];
346                 $(checkboxes).each(function() {
347                     params.push('biblionumber=' + $(this).val());
348                 });
349                 var url = '/cgi-bin/koha/cataloguing/merge.pl?' + params.join('&');
350                 location.href = url;
351             }
352             return false;
353         }
354
355     </script>
356 [% END %]
357
358 [% INCLUDE 'intranet-bottom.inc' %]