2 [% USE AuthorisedValues %]
7 [% INCLUDE 'doc-head-open.inc' %]
8 <title>Koha › Serials [% biblionumber %]</title>
9 [% INCLUDE 'doc-head-close.inc' %]
10 [% Asset.css("css/datatables.css") %]
11 <style type="text/css">input.dt-filter { width : 100%; font-size : 85%; }</style>
14 <body id="ser_serials-home" class="ser">
15 [% INCLUDE 'header.inc' %]
16 [% INCLUDE 'serials-search.inc' %]
18 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › [% IF ( done_searched ) %]<a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a> › Search results[% ELSE %]Serials [% END %] </div>
21 [% FOREACH param IN CGI.params.pairs %]
22 [% escaped_value = BLOCK %][% param.value | uri %][% END %]
23 [% url_params.push(param.key _ '=' _ escaped_value) %]
25 [% SET referrer = '/cgi-bin/koha/serials/serials-search.pl?' %]
26 [% referrer = BLOCK %][% referrer | url %][% url_params.join("&") |uri %][% END %]
27 [% SET edit_action_link = '/cgi-bin/koha/serials/subscription-batchedit.pl?referrer=' _ referrer %]
29 [% BLOCK subscriptions_table %]
33 [% SET tab = 'closed' %]
35 [% SET tab = 'opened' %]
37 [% IF CAN_user_serials_edit_subscription %]
39 <a class="select-all" href="#" data-tab="[% tab %]"><i class="fa fa-check"></i> Select all</a>
41 <a class="clear-all" href="#" data-tab="[% tab %]"><i class="fa fa-remove"></i> Clear all</a>
42 <span class="itemselection_actions">
44 <a class="itemselection_action_modify"><i class="fa fa-pencil"></i> Edit selected serials</a>
53 <th class="anti-the">Title</th>
59 <th class="title-string">Expiration date</th>
61 [% FOR field IN additional_fields_for_subscription %]
62 <th>[% field.name %]</th>
64 <th class="NoSort">Actions</th>
70 <td><input type="text" class="dt-filter" data-column_num="0" placeholder="Search ISSN" /></td>
71 <td><input type="text" class="dt-filter" data-column_num="1" placeholder="Search title" /></td>
72 <td><input type="text" class="dt-filter" data-column_num="2" placeholder="Search notes" /></td>
73 <td><input type="text" class="dt-filter" data-column_num="3" placeholder="Search library" /></td>
74 <td><input type="text" class="dt-filter" data-column_num="4" placeholder="Search location" /></td>
75 <td><input type="text" class="dt-filter" data-column_num="5" placeholder="Search callnumber" /></td>
77 <td><input type="text" class="dt-filter" data-column_num="6" placeholder="Search expiration date" /></td>
79 [% FOR field IN additional_fields_for_subscription %]
80 <td><input type="text" class="dt-filter" data-column_num="[% loop.count + 6 %]" placeholder="Search [% field.name %]" /></td>
86 [% FOREACH subscription IN subscriptions %]
87 [% UNLESS subscription.cannotdisplay %]
90 [% UNLESS subscription.cannotedit %]
91 <input type="checkbox" name="subscriptionid" value="[% subscription.subscriptionid %]" />
93 <input type="checkbox" name="subscriptionid" value="[% subscription.subscriptionid %]" disabled="disabled" title="You cannot edit this subscription" />
97 [% IF ( subscription.issn ) %][% subscription.issn %]
100 <td><a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% subscription.subscriptionid %]" class="button" title="subscription detail">[% subscription.title |html %]</a>
102 <td>[% IF ( subscription.publicnotes ) %][% subscription.publicnotes %][% END %]
103 [% IF ( subscription.internalnotes ) %]([% subscription.internalnotes %])[% END %]
106 [% IF ( subscription.branchcode ) %][% Branches.GetName( subscription.branchcode ) %][% END %]
109 [% IF ( subscription.location ) %][% AuthorisedValues.GetByCode( 'LOC', subscription.location ) %][% END %]
112 [% IF ( subscription.callnumber ) %][% subscription.callnumber %][% END %]
116 [% IF ( subscription.enddate ) %]
117 <span title="[% subscription.enddate %]">[% subscription.enddate | $KohaDates %]</span>
119 <span title="0000-00-00"></span>
124 [% FOR field IN additional_fields_for_subscription %]
125 [% IF field.authorised_value_category %]
126 <td>[% AuthorisedValues.GetByCode( field.authorised_value_category, subscription.additional_fields.${field.name} ) %]</td>
128 <td>[% subscription.additional_fields.${field.name} %]</td>
133 <div class="dropdown">
135 <a class="btn btn-default btn-xs dropdown-toggle" id="closedsubactions[% subscription.subscriptionid %]" role="button" data-toggle="dropdown" href="#">
136 Actions <b class="caret"></b>
138 <ul class="dropdown-menu pull-right" role="menu" aria-labelledby="closedsubactions[% subscription.subscriptionid %]">
140 [% IF ( routing && CAN_user_serials_routing ) %]
141 [% UNLESS ( subscription.cannotedit ) %]
143 <a href="/cgi-bin/koha/serials/serials-search.pl?subscriptionid=[% subscription.subscriptionid %]&op=reopen&routing=[% subscription.routing %]&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>
146 [% END # IF ( routing && CAN_user_serials_routing ) %]
149 <a href="/cgi-bin/koha/serials/serials-collection.pl?subscriptionid=[% subscription.subscriptionid %]"><i class="fa fa-list-alt"></i> Issue history</a>
154 <div class="btn-group">
155 [% IF ( CAN_user_serials_receive_serials ) %]
156 [%# There should be no space between these two buttons, it would render badly %]
157 <a class="btn btn-default btn-xs" role="button"
158 href="/cgi-bin/koha/serials/serials-edit.pl?subscriptionid=[% subscription.subscriptionid %]&serstatus=1,3,7"><i
159 class="fa fa-inbox"></i> Serial receive</a><a
160 class="btn btn-default btn-xs dropdown-toggle" id="subactions[% subscription.subscriptionid %]" role="button"
161 data-toggle="dropdown" href="#"><b class="caret"></b></a>
163 <a class="btn btn-default btn-xs dropdown-toggle" id="subactions[% subscription.subscriptionid %]" role="button" data-toggle="dropdown" href="#">Actions <b class="caret"></b></a>
165 <ul class="dropdown-menu pull-right" role="menu" aria-labelledby="subactions[% subscription.subscriptionid %]">
167 [% IF ( routing && CAN_user_serials_routing ) %]
168 [% IF ( subscription.cannotedit ) %]
170 [% IF ( subscription.routingedit ) %]
172 <a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid %]"><i class="fa fa-pencil"></i> Edit routing list ([% subscription.routingedit %])</a>
176 <a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid %]&op=new"> <i class="fa fa-plus"></i> New routing list</a>
180 [% END # IF ( routing && CAN_user_serials_routing ) %]
183 <a href="/cgi-bin/koha/serials/serials-collection.pl?subscriptionid=[% subscription.subscriptionid %]"><i class="fa fa-list-alt"></i> Issue history</a>
199 <div id="doc3" class="yui-t2">
203 [% INCLUDE 'serials-toolbar.inc' %]
205 [% IF ( done_searched ) %]
206 <h2>Serials subscriptions ([% total %] found)</h2>
208 <h2>Serials subscriptions search</h2>
211 [% UNLESS ( done_searched ) %]
212 <div id="advsearch" style="padding-bottom:3em;">
213 <form action="/cgi-bin/koha/serials/serials-search.pl" method="get">
214 <fieldset class="rows">
215 <legend>Search subscriptions</legend>
218 <label for="issn">ISSN:</label>
219 <input type="text" id="issn" name="ISSN_filter" value="[% ISSN_filter | html %]" />
222 <label for="title">Title:</label>
223 <input type="text" id="title" name="title_filter" value="[% title_filter | html %]" />
225 [% IF ( marcflavour == "UNIMARC" ) %]
227 <label for="ean">EAN:</label>
228 <input type="text" id="ean" name="EAN_filter" value="[% EAN_filter | html %]" />
232 <label for="callnumber">Call number:</label>
233 <input type="text" id="callnumber" name="callnumber_filter" value="[% callnumber_filter | html %]" />
236 <label for="publisher">Publisher:</label>
237 <input type="text" id="publisher" name="publisher_filter" value="[% publisher_filter | html %]" />
240 <label for="bookseller">Vendor:</label>
241 <input type="text" id="bookseller" name="bookseller_filter" value="[% bookseller_filter | html %]" />
244 <label for="branch">Library:</label>
245 <select id="branch" name="branch_filter">
246 <option value="">All</option>
247 [%# FIXME Should not we filter the libraries? %]
248 [% PROCESS options_for_libraries libraries => Branches.all( selected => branch_filter, unfiltered => 1 ) %]
252 <label for="location">Location:</label>
253 [% PROCESS 'av-build-dropbox.inc' name="location_filter", category="LOC", default=location_filter, all=1 %]
256 <label for="to">Expires before:</label>
257 <input type="text" id="to" name="expiration_date_filter" value="[% expiration_date_filter | $KohaDates %]" size="10" maxlength="10" class="datepickerto" />
259 [% FOR field IN additional_fields_for_subscription %]
261 <label for="additional_field_[% field.id %]"> [% field.name %]: </label>
262 [% IF field.authorised_value_choices %]
263 <select id="additional_field_[% field.id %]" name="additional_field_[% field.id %]_filter">
264 <option value="">All</option>
265 [% FOREACH av IN field.authorised_value_choices %]
266 <option value="[% av.authorised_value %]">[% av.lib %]</option>
270 <input id="additional_field_[% field.id %]" type="text" value="[% additional_fields.${field.name} %]" name="additional_field_[% field.id %]_filter" />
275 <input type="hidden" name="searched" value="1" />
276 <fieldset class="action">
277 <input type="submit" value="Search" />
283 [% IF ( done_searched ) %]
285 <div id="serialstabs" class="toptabs" style="clear:both;">
286 <ul class="ui-tabs-nav">
287 <li><a href="#opened">Open ([% openedsubscriptions.size || 0 %])</a></li>
288 <li><a href="#closed">Closed ([% closedsubscriptions.size || 0 %])</a></li>
291 [% IF openedsubscriptions %]
292 [% INCLUDE subscriptions_table subscriptions = openedsubscriptions %]
294 <div class="dialog message">
295 <p>Your search returned no open subscriptions.</p>
300 [% IF closedsubscriptions %]
301 [% INCLUDE subscriptions_table subscriptions = closedsubscriptions closed = 1 %]
303 <div class="dialog message">
304 <p>Your search returned no closed subscriptions.</p>
310 <div class="dialog message">
311 <p>Your search returned no results.</p>
319 [% INCLUDE 'serials-menu.inc' %]
320 [% IF ( done_searched ) %]
322 <form action="/cgi-bin/koha/serials/serials-search.pl" method="get">
323 <fieldset class="brief">
324 <h4>Search subscriptions</h4>
327 <label for="issn">ISSN:</label>
328 <input type="text" id="issn" name="ISSN_filter" value="[% ISSN_filter | html %]" />
331 <label for="title">Title:</label>
332 <input type="text" id="title" name="title_filter" value="[% title_filter | html %]" />
334 [% IF ( marcflavour == "UNIMARC" ) %]
336 <label for="ean">EAN:</label>
337 <input type="text" id="ean" name="EAN_filter" value="[% EAN_filter | html %]" />
341 <label for="callnumber">Call number:</label>
342 <input type="text" id="callnumber" name="callnumber_filter" value="[% callnumber_filter | html %]" />
345 <label for="publisher">Publisher:</label>
346 <input type="text" id="publisher" name="publisher_filter" value="[% publisher_filter | html %]" />
349 <label for="bookseller">Vendor:</label>
350 <input type="text" id="bookseller" name="bookseller_filter" value="[% bookseller_filter | html %]" />
353 <label for="branch">Library:</label>
354 <select id="branch" name="branch_filter">
355 <option value="">All</option>
356 [%# FIXME Should not we filter the libraries? %]
357 [% PROCESS options_for_libraries libraries => Branches.all( selected => branch_filter, unfiltered => 1 ) %]
361 <label for="location">Location:</label>
362 [% PROCESS 'av-build-dropbox.inc' name="location_filter", category="LOC", default=location_filter, all=1 %]
365 <label for="to">Expires before:</label>
366 <input type="text" id="to" name="expiration_date_filter" value="[% expiration_date_filter | $KohaDates %]" size="10" maxlength="10" class="datepickerto" />
369 [% FOR field IN additional_fields_for_subscription %]
371 <label for="additional_field_[% field.id %]ID"> [% field.name %]: </label>
372 [% IF field.authorised_value_choices %]
373 <select id="additional_field_[% field.id %]" name="additional_field_[% field.id %]_filter">
374 <option value="">All</option>
375 [% FOREACH av IN field.authorised_value_choices %]
376 [% IF av.authorised_value == additional_field_filters.${field.name}.value %]
377 <option value="[% av.authorised_value %]" selected="selected">[% av.lib %]</option>
379 <option value="[% av.authorised_value %]">[% av.lib %]</option>
384 <input id="additional_field_[% field.id %]" type="text" value="[% additional_field_filters.${field.name}.value %]" name="additional_field_[% field.id %]_filter" />
389 <input type="hidden" name="searched" value="1" />
390 <fieldset class="action">
391 <input type="submit" value="Search" />
400 [% MACRO jsinclude BLOCK %]
401 [% INCLUDE 'calendar.inc' %]
402 [% INCLUDE 'datatables.inc' %]
403 <script type="text/javascript">
404 var subscriptionid = "[% subscriptionid %]";
405 var MSG_CLOSE_SUBSCRIPTION = _("Are you sure you want to close this subscription?");
406 var MSG_REOPEN_SUBSCRIPTION = _("Are you sure you want to reopen this subscription?");
407 var CONFIRM_DELETE_SUBSCRIPTION = _("Are you sure you want to delete this subscription?");
409 [% Asset.js("js/serials-toolbar.js") %]
410 <script type="text/javascript">
412 function itemSelectionBuildEditLink(div) {
413 var subscription_ids = new Array();
414 $("input[name='subscriptionid'][type='checkbox']:checked", div).each(function() {
415 subscription_ids.push($(this).val());
417 if (subscription_ids.length > 0) {
418 var url = "[% edit_action_link %]";
419 url += '&subscriptionid=' + subscription_ids.join('&subscriptionid=');
420 $('a.itemselection_action_modify').attr('href', url);
427 function itemSelectionBuildActionLinks(tab) {
428 var div = $("#" + tab);
429 var modify_link_ok = itemSelectionBuildEditLink(div);
430 if (modify_link_ok) {
431 $('.itemselection_actions', div).show();
433 $('.itemselection_actions', div).hide();
437 $(document).ready(function() {
438 var osrlt = $("#opened table").dataTable($.extend(true, {}, dataTablesDefaults, {
439 "sPaginationType": "four_button",
441 { 'bSortable': false, "bSearchable": false, 'aTargets': [ 'NoSort' ] },
442 { "sType": "title-string", "aTargets" : [ "title-string" ] },
443 { 'sType': "anti-the", 'aTargets' : [ 'anti-the'] }
447 var csrlt = $("#closed table").dataTable($.extend(true, {}, dataTablesDefaults, {
448 // FIXME sort function of additional_fields!
449 "sPaginationType": "four_button",
451 { 'bSortable': false, 'aTargets': [ 'NoSort' ] },
452 { 'sType': "anti-the", 'aTargets' : [ 'anti-the'] }
456 osrlt.fnAddFilters("dt-filter", 750);
457 csrlt.fnAddFilters("dt-filter", 750);
459 $('#serialstabs').tabs();
460 $("#reopensub").click(function(){
461 return confirm(_("Are you sure you want to reopen this subscription?"));
464 $('.select-all, .clear-all').on('click', function(e) {
466 var checkboxes = $(this).parents('form').find('input[type="checkbox"]');
467 checkboxes.prop('checked', $(this).hasClass('select-all'));
468 var tab = $(this).data("tab");
469 itemSelectionBuildActionLinks(tab);
472 itemSelectionBuildActionLinks("opened");
473 itemSelectionBuildActionLinks("closed");
474 $("input[name='subscriptionid'][type='checkbox']").change(function() {
475 var div = $(this).parents('form').parent().attr("id");
476 itemSelectionBuildActionLinks(div);
483 [% INCLUDE 'intranet-bottom.inc' %]