+[% USE raw %]
+[% USE Asset %]
+[% USE AuthorisedValues %]
+[% USE Branches %]
+[% USE KohaDates %]
+[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
-<title>Koha › Serials › Serial collection information for [% bibliotitle %]</title>
+<title>Koha › Serials › Serial collection information for [% bibliotitle | html %]</title>
[% INCLUDE 'doc-head-close.inc' %]
-
-<script type="text/javascript">
-//<![CDATA[
-function print_slip(subscriptionid,issue){
- var myurl = 'routing-preview.pl?ok=1&subscriptionid='+subscriptionid+'&issue='+issue;
- window.open(myurl,'PrintSlip','width=500,height=500,toolbar=no,scrollbars=yes');
-}
-function addsubscriptionid()
-{
- var tab=new Array();
- var serialids = document.edition.serialid;
- for (i=0; i<serialids.length; i++){
- if (serialids[i].checked == true){
- var found=false;
- for (var val in tab){
- if (tab[val] == document.getElementsByName("subs")[i].getAttribute('val')){found = true;}
- }
- if (found == false){
- tab=tab.concat((document.getElementsByName("subs")[i].getAttribute('val')));
- }
- }
- }
- var string="";
- for (var val in tab){
- string = string + tab[val] + ",";
- }
- string=string.substring(0,string.length -1);
- document.edition.subscriptionid.value=string;
-}
-function popup(subscriptionid) {
- newin=window.open('subscription-renew.pl?mode=popup&subscriptionid='+subscriptionid,'popup','width=500,height=400,toolbar=false,scrollbars=yes');
-}
-
-function generateNext(subscriptionid) {
- if(confirm(_("Do you really want to generate next serial?"))){
- document.location = 'serials-collection.pl?op=gennext&subscriptionid='+subscriptionid;
- }
-}
-
-$(document).ready(function() {
- $('#subscription_years').tabs();
-});
-
-
-//]]>
-</script>
</head>
-<body id="ser_serials-collection" class="yui-skin-sam ser">
+
+<body id="ser_serials-collection" class="ser">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'serials-search.inc' %]
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a> › Serial collection information for <i>[% bibliotitle %]</i></div>
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/serials/serials-home.pl">Serials</a> › Serial collection information for <i>[% bibliotitle | html %]</i></div>
-<div id="doc3" class="yui-t2">
-
- <div id="bd">
- <div id="yui-main">
- <div class="yui-b">
+<div class="main container-fluid">
+ <div class="row">
+ <div class="col-sm-10 col-sm-push-2">
+ <main>
+ [% INCLUDE 'modals/serials_multi_receiving.inc' %]
[% UNLESS ( popup ) %]
[% INCLUDE 'serials-toolbar.inc' %]
- <h1>Serial collection information for <i>[% bibliotitle %]</i>
- [% IF location %] ([% location %] ) [% END %]
- [% IF ( callnumber ) %]callnumber: [% callnumber %][% END %]</h1>
+ <h1>Serial collection information for <i>[% bibliotitle | html %]</i>
+ [% IF location %] ([% AuthorisedValues.GetByCode( 'LOC', location ) | html %]) [% END %]
+ [% IF ( callnumber ) %]callnumber: [% callnumber | html %][% END %]</h1>
[% END %]
[% IF ( subscriptions ) %]
<th>Library</th>
<th>Call number</th>
<th>Notes</th>
- [% IF ( routing && CAN_user_serials_routing ) %]<th>Routing</th>[% END %]
- <th>Renew</th>
+ <th> </th>
</tr>
[% FOREACH subscription IN subscriptions %]
- [% UNLESS ( loop.odd ) %]<tr class="highlight">[% ELSE %]<tr>[% END %]
- <td><a href="subscription-detail.pl?subscriptionid=[% subscription.subscriptionid %]"># [% subscription.subscriptionid %]</a> </td>
- <td> [% IF ( subscription.periodicity1 ) %]
- 1/day
- [% END %]
- [% IF ( subscription.periodicity2 ) %]
- 1/week
- [% END %]
- [% IF ( subscription.periodicity3 ) %]
- 1/2 weeks
- [% END %]
- [% IF ( subscription.periodicity4 ) %]
- 1/3 weeks
- [% END %]
- [% IF ( subscription.periodicity5 ) %]
- 1/Month
- [% END %]
- [% IF ( subscription.periodicity6 ) %]
- 1/2 Months (6/year)
+ <tr>
+ <td><a href="subscription-detail.pl?subscriptionid=[% subscription.subscriptionid | uri %]"># [% subscription.subscriptionid | html %]</a> </td>
+ <td>[% subscription.frequency.description | html %]</td>
+ <td>[% subscription.numberpattern.label | html %]</td>
+ <td>[% IF subscription.branchcode %][% Branches.GetName( subscription.branchcode ) | html %][% END %]</td>
+ <td> [% subscription.callnumber | html %]</td>
+ <td> [% subscription.notes | html %]
+ [% UNLESS subscription.closed %]
+ [% IF ( subscription.subscriptionexpired ) %]
+ <br /><span class="problem"> Subscription expired</span>
[% END %]
- [% IF ( subscription.periodicity7 ) %]
- 1/quarter
- [% END %]
- [% IF ( subscription.periodicity8 ) %]
- 1/quarter
- [% END %]
- [% IF ( subscription.periodicity9 ) %]
- 2/year
- [% END %]
- [% IF ( subscription.periodicity10 ) %]
- 1/year
- [% END %]
- [% IF ( subscription.periodicity11 ) %]
- 1/2 years
- [% END %]</td>
- <td>
- [% IF ( subscription.numberpattern1 ) %]
- Number
- [% END %]
- [% IF ( subscription.numberpattern2 ) %]
- Volume, number, issue
- [% END %]
- [% IF ( subscription.numberpattern3 ) %]
- Volume, number
- [% END %]
- [% IF ( subscription.numberpattern4 ) %]
- Volume, issue
- [% END %]
- [% IF ( subscription.numberpattern5 ) %]
- Number, issue
+ [% ELSE %]
+ <br /> Subscription closed
+ [% END %]
+ </td>
+ [% IF ( subscription.abouttoexpire ) || ( subscription.subscriptionexpired ) %]<td class="problem actions">[% ELSE %]<td class="actions">[% END %]
+ [% UNLESS subscription.closed %]
+ [% IF ( routing && CAN_user_serials_routing ) %]
+ [% IF ( subscription.hasRouting ) %]
+ <a class="btn btn-default btn-xs" href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid | html %]"><i class="fa fa-pencil"></i> Edit routing list</a>
+ [% ELSE %]
+ <a class="btn btn-default btn-xs" href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid | html %]&op=new"><i class="fa fa-plus"></i> Create routing list</a>
[% END %]
- [% IF ( subscription.numberpattern6 ) %]
- Seasonal only
+ [% END %]
+ [% IF ( subscription.abouttoexpire ) %]<a class="btn btn-default btn-xs" href="/cgi-bin/koha/serials/subscription-renew.pl?subscriptionid=[% subscription.subscriptionid | html %]" onclick="popup([% subscription.subscriptionid | html %]); return false;"><i class="fa fa-refresh"></i> Renew</a>
+ [% ELSE %]
+ [% IF ( subscription.subscriptionexpired ) %]<a class="btn btn-default btn-xs" href="/cgi-bin/koha/serials/subscription-renew.pl?subscriptionid=[% subscription.subscriptionid | html %]" onclick="popup([% subscription.subscriptionid | html %]); return false;"><i class="fa fa-refresh"></i> Renew</a>
+ [% ELSE %]
+
[% END %]
- [% IF ( subscription.numberpattern7 ) %]
- None of the above
- [% END %]</td>
- <td> [% subscription.branchcode %]</td>
- <td> [% subscription.callnumber %]</td>
- <td> [% subscription.notes %] [% IF ( subscription.subscriptionexpired ) %]<br /><span class="problem"> Subscription expired</span>
- [% END %]
- </td>
- [% IF ( routing && CAN_user_serials_routing ) %]
- <td>
- <a href="/cgi-bin/koha/serials/routing.pl?subscriptionid=[% subscription.subscriptionid %]">Edit routing list</a>
- </td>
- [% END %]
- [% IF ( subscription.abouttoexpire ) %]<td class="problem"> <a href="/cgi-bin/koha/serials/subscription-renew.pl?subscriptionid=[% subscription.subscriptionid %]" onclick="popup([% subscription.subscriptionid %]); return false;">Renew</a></td>
- [% ELSE %]
- [% IF ( subscription.subscriptionexpired ) %]<td class="problem"> <a href="/cgi-bin/koha/serials/subscription-renew.pl?subscriptionid=[% subscription.subscriptionid %]" onclick="popup([% subscription.subscriptionid %]); return false;">Renew</a></td>
+ [% END %]
[% ELSE %]
- <td> </td>
+
[% END %]
- [% END %]
-
+ </td>
</tr>
[% END %]
[% IF ( subscr ) %]
[% IF ( subscriptioncount > 1 ) %]
-<tr ><td colspan="8"> <a href="serials-collection.pl?biblionumber=[% biblionumber %]">See any subscription attached to this biblio</a></td>
+<tr ><td colspan="8"> <a href="serials-collection.pl?biblionumber=[% biblionumber | uri %]">See any subscription attached to this biblio</a></td>
</tr>
[% END %]
[% END %]
<ul>
[% FOREACH year IN years %]
[% IF ( year.year ) %]
- <li><a href="#subscription-year-[% year.year %]">[% year.year %]</a></li>
+ [% IF year.year == 'manage' %]
+ <li><a href="#subscription-year-manage">Manage</a></li>
+ [% ELSE %]
+ <li><a href="#subscription-year-[% year.year | uri %]">[% year.year | html %]</a></li>
+ [% END %]
[% END %]
[% END %]
</ul>
[% FOREACH year IN years %]
-<div id="subscription-year-[% year.year %]">
+<div id="subscription-year-[% year.year | html %]">
[% IF ( CAN_user_serials_receive_serials ) %]
<p>
- <input type="submit" value="Edit serials" />
- <input type="button" value="Generate Next" onclick="javascript:generateNext([% subscriptionidlist %])" />
+ <div class="btn-group"><input type="submit" value="Edit serials" class="btn btn-default btn-sm" /></div>
+ [% UNLESS subscription.closed %]
+ <div class="btn-group"><input type="button" value="Generate next" onclick="javascription:generateNext([% subscriptionidlist | html %])" class="btn btn-default btn-sm" /></div>
+ [% IF ( subscriptions.size == 1 and !serialsadditems ) %]
+ <div class="btn-group"><input type="button" value="Multi receiving" href="#multi_receiving" class="btn btn-default btn-sm" data-toggle="modal"></div>
+ [% END %]
+ [% END %]
</p>
[% END %]
-
- <table>
- <tr>
+ <span class="checkall">
+ <a class="CheckAll" href="#" onclick="CheckAll('subscription-year-[% year.year | html %]'); return false;">Select all</a>
+ </span> |
+ <span class="clearall">
+ <a class="CheckNone" href="#" onclick="CheckNone('subscription-year-[% year.year | html %]'); return false;">Clear all</a>
+ </span>
+ <table class="subscription-year-table">
+ <thead>
+ <tr>
+ [% IF ( CAN_user_serials_receive_serials ) %]<th>Edit</th>[% END %]
[% IF ( subscriptions.size > 1 ) %]
<th># Subs</th>
[% END %]
- <th>Date published
+ <th class="title-string">Date published
</th>
- <th>Date received
+ <th class="title-string">Date published (text)
+ </th>
+ <th class="title-string">Date received
</th>
<th>Number
</th>
<th>Library
</th>
[% IF ( routing ) %]<th>Routing</th>[% END %]
- [% IF ( CAN_user_serials_receive_serials ) %]<th>Edit</th>[% END %]
</tr>
+ </thead>
+ <tbody>
[% FOREACH serial IN year.serials %]
- [% UNLESS ( loop.odd ) %]<tr class="highlight">[% ELSE %]<tr>[% END %]
+ <tr>
+ [% IF ( CAN_user_serials_receive_serials ) %]
+ <td>
+ [% UNLESS CAN_user_serials_receive_serials %]
+ disabled
+ [% ELSE %]
+ [% IF ( serial.subscriptionexpired ) %]
+ <input type="checkbox" name="serialid" value="[% serial.serialid | html %]" disabled="disabled" />
+ [% ELSE %]
+ [% IF ( serial.checked ) %]
+ <input type="checkbox" class="checkboxed" name="serialid" checked="checked" value="[% serial.serialid | html %]" />
+ [% ELSE %]
+ <input type="checkbox" class="checkboxed" name="serialid" value="[% serial.serialid | html %]" />
+ [% END %]
+ [% END %]
+ [% END %]
+ </td>
+ [% END %]
[% IF ( subscriptions.size > 1 ) %]
- <td><a href="serials-collection.pl?subscriptionid=[% serial.subscriptionid %]">[% serial.subscriptionid %]</a></td>
+ <td><a href="serials-collection.pl?subscriptionid=[% serial.subscriptionid | uri %]">[% serial.subscriptionid | html %]</a></td>
[% END %]
<td>
- [% serial.publisheddate %]
+ <span title="[% serial.publisheddate | html %]">
+ [% IF serial.publisheddate %]
+ [% serial.publisheddate | $KohaDates %]
+ [% ELSE %]
+ Unknown
+ [% END %]
+ </span>
</td>
<td>
- [% serial.planneddate %]
+ [% IF serial.publisheddatetext %]
+ <span title="[% serial.publisheddatetext | html %]">
+ [% serial.publisheddatetext | html %]
+ </span>
+ [% END %]
</td>
<td>
- [% serial.serialseq %]
+ <span title="[% serial.planneddate | html %]">
+ [% IF serial.planneddate %]
+ [% serial.planneddate | $KohaDates %]
+ [% ELSE %]
+ Unknown
+ [% END %]
+ </span>
</td>
<td>
- [% IF ( serial.status1 ) %]Expected[% END %][% IF ( serial.status2 ) %]Arrived[% END %][% IF ( serial.status3 ) %]Late[% END %][% IF ( serial.status4 ) %]Missing[% END %][% IF ( serial.status5 ) %]Not Available[% END %][% IF ( serial.status7 ) %]Claimed[% END %]
+ [% IF ( matches = serial.serialseq.match('(.*)Spring(.*)') ) %]
+ [% matches.0 | html %]Spring[% matches.1 | html %]
+ [% ELSIF ( matches = serial.serialseq.match('(.*)Summer(.*)') ) %]
+ [% matches.0 | html %]Summer[% matches.1 | html %]
+ [% ELSIF ( matches = serial.serialseq.match('(.*)Fall(.*)') ) %]
+ [% matches.0 | html %]Fall[% matches.1 | html %]
+ [% ELSIF ( matches = serial.serialseq.match('(.*)Winter(.*)') ) %]
+ [% matches.0 | html %]Winter[% matches.1 | html %]
+ [% ELSIF ( matches = prediction.number.match('(.*)Spr(.*)') ) %]
+ [% matches.0 | html %]Spr[% matches.1 | html %]
+ [% ELSIF ( matches = prediction.number.match('(.*)Sum(.*)') ) %]
+ [% matches.0 | html %]Sum[% matches.1 | html %]
+ [% ELSIF ( matches = prediction.number.match('(.*)Fal(.*)') ) %]
+ [% matches.0 | html %]Fal[% matches.1 | html %]
+ [% ELSIF ( matches = prediction.number.match('(.*)Win(.*)') ) %]
+ [% matches.0 | html %]Win[% matches.1 | html %]
+ [% ELSE %]
+ [% serial.serialseq | html %]
+ [% END %]
</td>
<td>
- [% serial.notes %]
+ [% IF ( serial.status1 ) %]Expected[% END %]
+ [% IF ( serial.status2 ) %]Arrived[% END %]
+ [% IF ( serial.status3 ) %]Late[% END %]
+ [% IF ( serial.status4 ) %]Missing[% END %]
+ [% IF ( serial.status41 ) %]Missing (never received)[% END %]
+ [% IF ( serial.status42 ) %]Missing (sold out)[% END %]
+ [% IF ( serial.status43 ) %]Missing (damaged)[% END %]
+ [% IF ( serial.status44 ) %]Missing (lost)[% END %]
+ [% IF ( serial.status5 ) %]Not issued[% END %]
+ [% IF ( serial.status6 ) %]Delete[% END %]
+ [% IF ( serial.status7 ) %]Claimed[% END %]
+ [% IF ( serial.status8 ) %]Stopped[% END %]
</td>
<td>
- [% serial.branchcode %]
+ [% serial.notes | html %]
</td>
- [% IF ( routing ) %]
<td>
- <a href="" onclick="print_slip([% serial.subscriptionid |html %], '[% serial.serialseq |html %] ([% serial.planneddate %])'); return false" >Print list</a>
+ [% Branches.GetName( serial.branchcode ) | html %]
</td>
- [% END %]
- [% IF ( CAN_user_serials_receive_serials ) %]
- <td>
- [% IF ( serial.cannotedit ) %]
- disabled
- [% ELSE %]
- [% IF ( serial.subscriptionexpired ) %]
- <input type="checkbox" name="serialid" value="[% serial.serialid %]" disabled="disabled" />
- [% ELSE %]
- [% IF ( serial.checked ) %]
- <input type="checkbox" name="serialid" checked="checked" value="[% serial.serialid %]" />
- [% ELSE %]
- <input type="checkbox" name="serialid" value="[% serial.serialid %]" />
- [% END %]
- [% END %]
- [% END %]
+ [% IF ( routing ) %]
+ <td class="actions">
+ <a href="" onclick="print_slip([% serial.subscriptionid | html %], '[% serial.serialseq.replace("'", "\\'") | html %] ([% serial.publisheddate | $KohaDates %])'); return false" class="btn btn-default btn-xs"><i class="fa fa-print"></i> Print list</a>
</td>
- [% END %]
+ [% END %]
</tr>
- [% END %]
- </table>
+ [% END %]
+ </tbody>
+ </table>
</div>
[% END %]
- <input type="hidden" name="subscriptionid" value="[% subscriptionidlist %]" />
+ <input type="hidden" name="subscriptionid" value="[% subscriptionidlist | html %]" />
</div>
</form>
[% END %]
-</div>
-</div>
+ </main>
+ </div> <!-- /.col-sm-10.col-sm-push-2 -->
+
+ <div class="col-sm-2 col-sm-pull-10">
+ <aside>
+ [% INCLUDE 'serials-menu.inc' %]
+ </aside>
+ </div> <!-- /.col-sm-2.col-sm-pull-10 -->
+ </div> <!-- /.row -->
+
+[% MACRO jsinclude BLOCK %]
+ [% INCLUDE 'datatables.inc' %]
+ <script>
+ var subscriptionid = "[% subscriptionid | html %]";
+ var MSG_CLOSE_SUBSCRIPTION = _("Are you sure you want to close this subscription?");
+ var MSG_REOPEN_SUBSCRIPTION = _("Are you sure you want to reopen this subscription?");
+ var CONFIRM_DELETE_SUBSCRIPTION = _("Are you sure you want to delete this subscription?");
+ </script>
+ [% Asset.js("js/serials-toolbar.js") | $raw %]
+ [% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") | $raw %]
+
+ <script>
+
+ function print_slip(subscriptionid,issue){
+ var myurl = 'routing-preview.pl?ok=1&subscriptionid='+subscriptionid+'&issue='+issue;
+ window.open(myurl,'PrintSlip','width=500,height=500,toolbar=no,scrollbars=yes');
+ }
+
+ function popup(subscriptionid) {
+ newin=window.open('subscription-renew.pl?mode=popup&subscriptionid='+subscriptionid,'popup','width=500,height=400,toolbar=false,scrollbars=yes');
+ }
+
+ function generateNext(subscriptionid) {
+ if(confirm(_("Do you really want to generate next serial?"))){
+ document.location = 'serials-collection.pl?op=gennext&subscriptionid='+subscriptionid;
+ }
+ }
+
+ function CheckAll( node ) {
+ $("#"+node).checkCheckboxes();
+ return false;
+ }
+ function CheckNone( node ) {
+ $("#"+node).unCheckCheckboxes();
+ return false;
+ }
+ $(document).ready(function() {
+ $('#subscription_years').tabs();
+ $(".subscription-year-table").dataTable($.extend(true, {}, dataTablesDefaults, {
+ "aoColumnDefs": [
+ { "aTargets": [ 0,-1 ], "bSortable": false, "bSearchable": false },
+ { "sType": "title-string", "aTargets" : [ "title-string" ] }
+ ],
+ "aaSorting": [[0, 'desc']],
+ "sDom": 't',
+ "bAutoWidth": false,
+ "bPaginate": false,
+ "bInfo": false,
+ "bFilter": false,
+ } ));
+
+ $('#multi_receiving').on('show', function () {
+ $(this).find(".modal-body").html($(".serials_multi_receiving")[0].outerHTML);
+ });
+
+ $("form[name='edition']").on('submit', function(e){
+ if ( $(this).find("input[name='serialid']:checked").size() == 0 ) {
+ e.preventDefault();
+ alert(_("You must select at least one serial to edit"));
+ return 0;
+ }
+ return 1;
+ });
+ });
+
+ </script>
+[% END %]
-<div class="yui-b">
-[% INCLUDE 'serials-menu.inc' %]
-</div>
-</div>
[% INCLUDE 'intranet-bottom.inc' %]