3 [% USE AuthorisedValues %]
9 [% INCLUDE 'doc-head-open.inc' %]
10 <title>Serials [% biblionumber | html %] › Koha</title>
11 [% INCLUDE 'doc-head-close.inc' %]
12 <style>input.dt-filter { width : 100%; font-size : 85%; }</style>
15 <body id="ser_serials-search" class="ser">
16 [% WRAPPER 'header.inc' %]
17 [% INCLUDE 'serials-search.inc' %]
20 [% WRAPPER 'sub-header.inc' %]
21 <nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb">
24 <a href="/cgi-bin/koha/mainpage.pl"><i class="fa fa-home"></i></a>
26 [% IF ( done_searched ) %]
28 <a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a>
31 <a href="#" aria-current="page">
37 <a href="#" aria-current="page">
47 [% FOREACH param IN CGI.params.pairs %]
48 [% escaped_value = BLOCK %][% param.value | uri %][% END %]
49 [% url_params.push(param.key _ '=' _ escaped_value) %]
52 [% SET referrer = '/cgi-bin/koha/serials/serials-search.pl?' %]
53 [% referrer = BLOCK %][% referrer | url %][% url_params.join("&") |uri %][% END %]
54 [% SET edit_action_link = '/cgi-bin/koha/serials/subscription-batchedit.pl?referrer=' _ referrer %]
56 [% BLOCK subscriptions_table %]
59 [% SET tab = 'closed' %]
61 [% SET tab = 'opened' %]
63 [% IF CAN_user_serials_edit_subscription %]
65 <a class="select-all" href="#" data-tab="[% tab | html %]"><i class="fa fa-check"></i> Select all</a>
67 <a class="clear-all" href="#" data-tab="[% tab | html %]"><i class="fa fa-remove"></i> Clear all</a>
68 <span class="itemselection_actions">
70 <a class="itemselection_action_modify"><i class="fa fa-pencil"></i> Edit selected serials</a>
79 <th class="anti-the">Title</th>
85 <th>Expiration date</th>
87 [% FOR field IN additional_fields_for_subscription %]
88 <th>[% field.name | html %]</th>
90 <th class="NoSort noExport">Actions</th>
94 [% FOREACH subscription IN subscriptions %]
95 [% UNLESS subscription.cannotdisplay %]
98 [% UNLESS subscription.cannotedit %]
99 <input type="checkbox" name="subscriptionid" value="[% subscription.subscriptionid | html %]" />
101 <input type="checkbox" name="subscriptionid" value="[% subscription.subscriptionid | html %]" disabled="disabled" title="You cannot edit this subscription" />
105 [% IF ( subscription.issn ) %]
106 [% subscription.issn | html %]
110 <a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% subscription.subscriptionid | uri %]" class="button" title="subscription detail">[% subscription.title | html %] [% subscription.subtitle | html %]</a>
113 [% IF ( subscription.publicnotes ) %][% subscription.publicnotes | html %][% END %]
114 [% IF ( subscription.internalnotes ) %]([% subscription.internalnotes | html %])[% END %]
117 [% IF ( subscription.branchcode ) %][% Branches.GetName( subscription.branchcode ) | html %][% END %]
120 [% IF ( subscription.location ) %]
121 [% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.location', authorised_value => subscription.location ) | html %]
125 [% IF ( subscription.callnumber ) %][% subscription.callnumber | html %][% END %]
128 <td data-order="[% subscription.enddate | html %]">
129 [% subscription.enddate | $KohaDates %]
133 [% FOR field IN additional_fields_for_subscription %]
134 [% IF field.authorised_value_category %]
135 <td>[% AuthorisedValues.GetByCode( field.authorised_value_category, subscription.additional_fields.${field.name} ) | html %]</td>
137 <td>[% subscription.additional_fields.${field.name} | html %]</td>
142 <div class="btn-group dropup">
144 <a class="btn btn-default btn-xs dropdown-toggle" id="closedsubactions[% subscription.subscriptionid | html %]" role="button" data-toggle="dropdown" href="#">
145 Actions <b class="caret"></b>
147 <ul class="dropdown-menu pull-right" role="menu" aria-labelledby="closedsubactions[% subscription.subscriptionid | html %]">
149 [% IF ( routing && CAN_user_serials_routing ) %]
150 [% UNLESS ( subscription.cannotedit ) %]
152 <a href="/cgi-bin/koha/serials/serials-search.pl?subscriptionid=[% subscription.subscriptionid | uri %]&op=reopen&routing=[% subscription.routing | uri %]&searched=1&title_filter=[% title_filter | uri %]&ISSN_filter=[% ISSN_filter | uri %]&EAN_filter=[% EAN_filter | uri %]&published_filter=[% publisher_filter | uri %]&bookseller_filter=[% bookseller_filter | uri %]&branch_filter=[% branch_filter | uri %]" id="reopensub"> <i class="fa fa-repeat"></i> Reopen</a>
155 [% END # IF ( routing && CAN_user_serials_routing ) %]
158 <a href="/cgi-bin/koha/serials/serials-collection.pl?subscriptionid=[% subscription.subscriptionid | uri %]"><i class="fa fa-list-alt"></i> Issue history</a>
163 <div class="btn-group">
164 [% IF ( CAN_user_serials_receive_serials ) %]
165 [%# There should be no space between these two buttons, it would render badly %]
166 <a class="btn btn-default btn-xs" role="button"
167 href="/cgi-bin/koha/serials/serials-edit.pl?subscriptionid=[% subscription.subscriptionid | html %]&serstatus=1,3,7"><i
168 class="fa fa-inbox"></i> Serial receive</a><a
169 class="btn btn-default btn-xs dropdown-toggle" id="subactions[% subscription.subscriptionid | html %]" role="button"
170 data-toggle="dropdown" href="#"><b class="caret"></b></a>
172 <a class="btn btn-default btn-xs dropdown-toggle" id="subactions[% subscription.subscriptionid | html %]" role="button" data-toggle="dropdown" href="#">Actions <b class="caret"></b></a>
174 <ul class="dropdown-menu pull-right" role="menu" aria-labelledby="subactions[% subscription.subscriptionid | html %]">
176 [% IF ( routing && CAN_user_serials_routing ) %]
177 [% IF ( subscription.cannotedit ) %]
179 [% IF ( subscription.routingedit ) %]
181 <a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid | uri %]"><i class="fa fa-pencil"></i> Edit routing list ([% subscription.routingedit | html %])</a>
185 <a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid | uri %]&op=new"> <i class="fa fa-plus"></i> New routing list</a>
189 [% END # IF ( routing && CAN_user_serials_routing ) %]
192 <a href="/cgi-bin/koha/serials/serials-collection.pl?subscriptionid=[% subscription.subscriptionid | uri %]"><i class="fa fa-list-alt"></i> Issue history</a>
196 [% END # IF closed %]
197 </div> <!-- /.btn-group -->
201 [% END # /UNLESS subscription.cannotdisplay %]
202 [% END # /FOREACH subscription %]
207 <td><input type="text" class="dt-filter" data-column_num="1" placeholder="Search ISSN" /></td>
208 <td><input type="text" class="dt-filter" data-column_num="2" placeholder="Search title" /></td>
209 <td><input type="text" class="dt-filter" data-column_num="3" placeholder="Search notes" /></td>
210 <td><input type="text" class="dt-filter" data-column_num="4" placeholder="Search library" /></td>
211 <td><input type="text" class="dt-filter" data-column_num="5" placeholder="Search location" /></td>
212 <td><input type="text" class="dt-filter" data-column_num="6" placeholder="Search callnumber" /></td>
213 [% SET column_num = 6 %]
215 <td><input type="text" class="dt-filter" data-column_num="7" placeholder="Search expiration date" /></td>
216 [% SET column_num = column_num + 1 %]
218 [% FOR field IN additional_fields_for_subscription %]
219 <td><input type="text" class="dt-filter" data-column_num="[% loop.count + column_num | html %]" placeholder="Search [% field.name | html %]" /></td>
226 [% END # /BLOCK subscriptions_table %]
228 <div class="main container-fluid">
230 <div class="col-sm-10 col-sm-push-2">
233 [% INCLUDE 'serials-toolbar.inc' %]
236 [% IF ( done_searched ) %]
237 <h1>Mana subscriptions ([% total | html %] found)</h1>
239 <h1>Mana subscriptions search</h1>
242 [% IF ( done_searched ) %]
243 <h1>Serials subscriptions ([% total | html %] found)</h1>
245 <h1>Serials subscriptions search</h1>
249 [% UNLESS ( done_searched ) %]
250 <div id="advsearch" style="padding-bottom:3em;">
251 <form action="/cgi-bin/koha/serials/serials-search.pl" method="get">
252 <fieldset class="rows">
253 <legend>Search subscriptions</legend>
256 <label for="issn">ISSN:</label>
257 <input type="text" id="issn" name="ISSN_filter" value="[% ISSN_filter | html %]" />
260 <label for="title">Title:</label>
261 <input type="text" id="title" name="title_filter" value="[% title_filter | html %]" />
263 [% IF ( marcflavour == "UNIMARC" ) %]
265 <label for="ean">EAN:</label>
266 <input type="text" id="ean" name="EAN_filter" value="[% EAN_filter | html %]" />
270 <label for="callnumber">Call number:</label>
271 <input type="text" id="callnumber" name="callnumber_filter" value="[% callnumber_filter | html %]" />
274 <label for="publisher">Publisher:</label>
275 <input type="text" id="publisher" name="publisher_filter" value="[% publisher_filter | html %]" />
278 <label for="bookseller">Vendor:</label>
279 <input type="text" id="bookseller" name="bookseller_filter" value="[% bookseller_filter | html %]" />
282 <label for="branch">Library:</label>
283 <select id="branch" name="branch_filter">
284 <option value="">All</option>
285 [%# FIXME Should not we filter the libraries? %]
286 [% PROCESS options_for_libraries libraries => Branches.all( selected => branch_filter, unfiltered => 1 ) %]
290 <label for="location">Location:</label>
291 [% PROCESS 'av-build-dropbox.inc' name="location_filter", category="LOC", default=location_filter, all=1 %]
294 <label for="to">Expires before:</label>
295 <input type="text" id="to" name="expiration_date_filter" value="[% expiration_date_filter | html %]" size="10" maxlength="10" class="flatpickr" />
297 [% INCLUDE 'additional-fields-entry.inc' available=additional_fields_for_subscription values=additional_field_filters wrap_fieldset=0 %]
299 <input type="hidden" name="searched" value="1" />
301 <input type="hidden" name="mana" value="1" />
303 <fieldset class="action">
304 <input type="submit" value="Search" />
306 </fieldset> <!-- /.rows -->
308 </div> <!-- /#advsearch -->
309 [% END # /UNLESS ( done_searched )%]
311 [% IF ( done_searched ) %]
313 <div id="serialstabs" class="toptabs">
314 <ul class="nav nav-tabs" role="tablist">
316 <li role="presentation" class="active"><a href="#mana" aria-controls="mana" role="tab" data-toggle="tab">Mana ([% total || 0 | html %])</a></li>
318 <li role="presentation" class="active"><a href="#opened" aria-controls="opened" role="tab" data-toggle="tab">Open ([% openedsubscriptions.size || 0 | html %])</a></li>
319 <li role="presentation"><a href="#closed" aria-controls="closed" role="tab" data-toggle="tab">Closed ([% closedsubscriptions.size || 0 | html %])</a></li>
322 <div class="tab-content">
324 <div id="mana" role="tabpanel" class="tab-pane active" >
325 [% INCLUDE 'mana/mana-subscription-search-result.inc' %]
328 <div id="opened" role="tabpanel" class="tab-pane active" >
329 [% IF openedsubscriptions %]
330 [% INCLUDE subscriptions_table subscriptions = openedsubscriptions %]
332 <div class="dialog message">
333 <p>Your search returned no open subscriptions.</p>
337 <div id="closed" role="tabpanel" class="tab-pane" >
338 [% IF closedsubscriptions %]
339 [% INCLUDE subscriptions_table subscriptions = closedsubscriptions closed = 1 %]
341 <div class="dialog message">
342 <p>Your search returned no closed subscriptions.</p>
347 </div> <!-- /.tab-content -->
348 </div> <!-- /#serialstabs -->
350 <div class="dialog message">
351 <p>Your search returned no results.</p>
353 [% END # IF ( total ) %]
354 [% END # /IF done_searched %]
357 </div> <!-- /.col-sm-10.col-sm-push-2 -->
359 <div class="col-sm-2 col-sm-pull-10">
362 [% INCLUDE 'serials-menu.inc' %]
363 [% IF ( done_searched ) %]
364 [% UNLESS ( mana ) %]
366 <form action="/cgi-bin/koha/serials/serials-search.pl" method="get">
367 <fieldset class="brief">
368 <h4>Search subscriptions</h4>
371 <label for="issn">ISSN:</label>
372 <input type="text" id="issn" name="ISSN_filter" value="[% ISSN_filter | html %]" />
375 <label for="title">Title:</label>
376 <input type="text" id="title" name="title_filter" value="[% title_filter | html %]" />
378 [% IF ( marcflavour == "UNIMARC" ) %]
380 <label for="ean">EAN:</label>
381 <input type="text" id="ean" name="EAN_filter" value="[% EAN_filter | html %]" />
385 <label for="callnumber">Call number:</label>
386 <input type="text" id="callnumber" name="callnumber_filter" value="[% callnumber_filter | html %]" />
389 <label for="publisher">Publisher:</label>
390 <input type="text" id="publisher" name="publisher_filter" value="[% publisher_filter | html %]" />
393 <label for="bookseller">Vendor:</label>
394 <input type="text" id="bookseller" name="bookseller_filter" value="[% bookseller_filter | html %]" />
397 <label for="branch">Library:</label>
398 <select id="branch" name="branch_filter">
399 <option value="">All</option>
400 [%# FIXME Should not we filter the libraries? %]
401 [% PROCESS options_for_libraries libraries => Branches.all( selected => branch_filter, unfiltered => 1 ) %]
405 <label for="location">Location:</label>
406 [% PROCESS 'av-build-dropbox.inc' name="location_filter", category="LOC", default=location_filter, all=1 %]
409 <label for="to">Expires before:</label>
410 <input type="text" id="to" name="expiration_date_filter" value="[% expiration_date_filter | html %]" size="10" maxlength="10" class="flatpickr" />
413 [% FOR field IN additional_fields_for_subscription %]
415 <label for="additional_field_[% field.id | html %]ID"> [% field.name | html %]: </label>
416 [% IF field.authorised_value_category %]
417 <select id="additional_field_[% field.id | html %]" name="additional_field_[% field.id | html %]">
418 <option value="">All</option>
419 [% FOREACH av IN AuthorisedValues.GetAuthValueDropbox(field.authorised_value_category) %]
420 [% IF av.authorised_value == additional_field_filters.${field.id} %]
421 <option value="[% av.authorised_value | html %]" selected="selected">[% av.lib | html %]</option>
423 <option value="[% av.authorised_value | html %]">[% av.lib | html %]</option>
428 <input id="additional_field_[% field.id | html %]" type="text" value="[% additional_field_filters.${field.id} | html %]" name="additional_field_[% field.id | html %]" />
433 <input type="hidden" name="searched" value="1" />
434 <fieldset class="action">
435 <input type="submit" value="Search" />
438 </fieldset> <!-- /.brief -->
440 </div> <!-- /#advsearch -->
441 [% END # / UNLESS ( mana ) %]
442 [% END # / IF ( done_searched ) %]
444 </div> <!-- /.col-sm-2.col-sm-pull-10 -->
445 </div> <!-- /.row -->
447 [% MACRO jsinclude BLOCK %]
448 [% INCLUDE 'calendar.inc' %]
449 [% INCLUDE 'datatables.inc' %]
451 var subscriptionid = "[% subscriptionid | html %]";
453 [% Asset.js("js/serials-toolbar.js") | $raw %]
456 function itemSelectionBuildEditLink(div) {
457 var subscription_ids = new Array();
458 $("input[name='subscriptionid'][type='checkbox']:checked", div).each(function() {
459 subscription_ids.push($(this).val());
461 if (subscription_ids.length > 0) {
462 var url = "[% edit_action_link | html %]";
463 url += '&subscriptionid=' + subscription_ids.join('&subscriptionid=');
464 $('a.itemselection_action_modify').attr('href', url);
471 function itemSelectionBuildActionLinks(tab) {
472 var div = $("#" + tab);
473 var modify_link_ok = itemSelectionBuildEditLink(div);
474 if (modify_link_ok) {
475 $('.itemselection_actions', div).show();
477 $('.itemselection_actions', div).hide();
481 $(document).ready(function() {
482 var osrlt = $("#opened table").dataTable($.extend(true, {}, dataTablesDefaults, {
483 "sPaginationType": "full",
484 "order": [[ 2, "asc" ]],
486 { 'bSortable': false, "bSearchable": false, 'aTargets': [ 'NoSort' ] },
487 { 'sType': "anti-the", 'aTargets' : [ 'anti-the'] }
491 var csrlt = $("#closed table").dataTable($.extend(true, {}, dataTablesDefaults, {
492 // FIXME sort function of additional_fields!
493 "order": [[ 2, "asc" ]],
494 "sPaginationType": "full",
496 { 'bSortable': false, 'aTargets': [ 'NoSort' ] },
497 { 'sType': "anti-the", 'aTargets' : [ 'anti-the'] }
501 var manarlt = $("#mana_results_datatable").dataTable($.extend(true, {}, dataTablesDefaults, {
502 "sPaginationType": "full",
504 { 'bSortable': false, "bSearchable": false, 'aTargets': [ 'NoSort' ] },
505 { 'sType': "anti-the", 'aTargets' : [ 'anti-the'] }
509 osrlt.fnAddFilters("dt-filter", 750);
510 csrlt.fnAddFilters("dt-filter", 750);
511 manarlt.fnAddFilters("dt-filter", 750);
513 $("#reopensub").click(function(){
514 return confirm(_("Are you sure you want to reopen this subscription?"));
517 $('.select-all, .clear-all').on('click', function(e) {
519 var checkboxes = $(this).parents('form').find('input[type="checkbox"]');
520 checkboxes.prop('checked', $(this).hasClass('select-all'));
521 var tab = $(this).data("tab");
522 itemSelectionBuildActionLinks(tab);
525 itemSelectionBuildActionLinks("opened");
526 itemSelectionBuildActionLinks("closed");
527 $("input[name='subscriptionid'][type='checkbox']").change(function() {
528 var div = $(this).parents('form').parent().attr("id");
529 itemSelectionBuildActionLinks(div);
534 [% FOR field IN additional_fields_for_subscription %]
535 $("label[for=additional_field_[% field.id | $raw %]], input#additional_field_[% field.id | $raw %]").hide();
542 [% INCLUDE 'intranet-bottom.inc' %]