Lines 103-109
Link Here
|
103 |
[% ELSIF view == "report" %] |
103 |
[% ELSIF view == "report" %] |
104 |
<div id="modified_holds_results-wrapper"> |
104 |
<div id="modified_holds_results-wrapper"> |
105 |
<div id="modified_holds_results" class="page-section"> |
105 |
<div id="modified_holds_results" class="page-section"> |
106 |
<table id="modified_holds"></table> |
106 |
<table id="modified_holds"> |
|
|
107 |
<thead> |
108 |
<tr> |
109 |
<th>Title</th> |
110 |
<th>Patron</th> |
111 |
<th>Pickup Location</th> |
112 |
<th>Priority</th> |
113 |
<th>Expiration Date</th> |
114 |
<th>Status</th> |
115 |
<th>Suspended</th> |
116 |
<th>Suspended Until</th> |
117 |
<th>Notes</th> |
118 |
<!-- Add other columns as needed --> |
119 |
</tr> |
120 |
</thead> |
121 |
<tbody> |
122 |
[% FOREACH hold IN updated_holds_obj %] |
123 |
<tr> |
124 |
<td>[% hold.biblio.title | html %]</td> |
125 |
<td>[% hold.borrower.firstname | html %] [% hold.borrower.surname | html %]</td> |
126 |
<td>[% hold.branch.branchname | html %]</td> |
127 |
<td>[% hold.priority | html %]</td> |
128 |
<td>[% hold.expirationdate | $KohaDates %]</td> |
129 |
<td> |
130 |
[% IF hold.found == 'F' %] |
131 |
<span>Fulfilled</span> |
132 |
[% ELSIF hold.cancellationdate %] |
133 |
<span>Cancelled</span> |
134 |
[% ELSIF hold.found == 'W' %] |
135 |
[% IF hold.cancellation_requests.count == 0 %] |
136 |
<span>Waiting</span> |
137 |
[% ELSE %] |
138 |
<span>Cancelled</span> |
139 |
[% END %] |
140 |
[% ELSIF hold.found == 'T' %] |
141 |
<span>In transit</span> |
142 |
[% ELSE %] |
143 |
<span>Pending</span> |
144 |
[% END %] |
145 |
</td> |
146 |
<td>[% IF hold.suspend %]Yes[% ELSE %]No[% END %]</td> |
147 |
<td>[% IF hold.suspend_until %][% hold.suspend_until | $KohaDates %][% ELSE %]-[% END %]</td> |
148 |
<td>[% hold.reservenotes | html %]</td> |
149 |
</tr> |
150 |
[% END %] |
151 |
</tbody> |
152 |
</table> |
107 |
</div> |
153 |
</div> |
108 |
<!-- /#modified_holds_results --> |
154 |
<!-- /#modified_holds_results --> |
109 |
<fieldset class="action"> |
155 |
<fieldset class="action"> |
Lines 582-712
Link Here
|
582 |
|
628 |
|
583 |
//Modified holds table |
629 |
//Modified holds table |
584 |
var table_settings = [% TablesSettings.GetTableSettings( 'circ', 'holds', 'modified_holds', 'json' ) | $raw %]; |
630 |
var table_settings = [% TablesSettings.GetTableSettings( 'circ', 'holds', 'modified_holds', 'json' ) | $raw %]; |
585 |
var filters = { |
631 |
$("#modified_holds").kohaTable({ |
586 |
"me.hold_id": function(){ |
632 |
pagingType: "full", |
587 |
return {"-in": hold_ids}; |
633 |
autoWidth: false |
588 |
} |
634 |
}, table_settings); |
589 |
} |
|
|
590 |
|
591 |
var holds_modified_table = $("#modified_holds").kohaTable({ |
592 |
"ajax": { |
593 |
"url": "/api/v1/holds" |
594 |
}, |
595 |
"embed": [ |
596 |
"biblio", |
597 |
"item", |
598 |
"pickup_library", |
599 |
"patron" |
600 |
], |
601 |
"destroy": true, |
602 |
"autoWidth": false, |
603 |
"processing": true, |
604 |
"columns": [ |
605 |
{ |
606 |
"data": "expiration_date", |
607 |
"name": "expiration_date", |
608 |
"type": "date", |
609 |
"title": _("Expiration date"), |
610 |
"orderable": true, |
611 |
"render": function( data, type, row, meta ) { |
612 |
return $date(data); |
613 |
} |
614 |
}, |
615 |
{ |
616 |
"data": "biblio.title", |
617 |
"name": "title", |
618 |
"title": _("Title"), |
619 |
"orderable": true, |
620 |
"render": function( data, type, row, meta ) { |
621 |
return '<a href="/cgi-bin/koha/catalogue/detail.pl?' + |
622 |
'biblionumber=' + encodeURIComponent( row.biblio_id ) + '">' + escape_str( data ) + '</a>'; |
623 |
} |
624 |
}, |
625 |
{ |
626 |
"data": "item.external_id", |
627 |
"name": "barcode", |
628 |
"title": _("Barcode"), |
629 |
"defaultContent": _(""), |
630 |
"orderable": true, |
631 |
"render": function( data, type, row, meta ) { |
632 |
if( row.item ){ |
633 |
let item_id = encodeURIComponent( row.item_id ); |
634 |
let biblio_id = encodeURIComponent( row.biblio_id ); |
635 |
return '<a href="/cgi-bin/koha/catalogue/moredetail.pl?' + |
636 |
'itemnumber='+ item_id +'&biblionumber='+ biblio_id +'&' + |
637 |
'bi='+ biblio_id +'#item'+ item_id +'">' + escape_str( data ) + '</a>' |
638 |
} |
639 |
} |
640 |
}, |
641 |
{ |
642 |
"data": "patron_id", |
643 |
"name": "patron", |
644 |
"title": _("Patron"), |
645 |
"orderable": true, |
646 |
"render": function( data, type, row, meta ) { |
647 |
let patron_to_html = $patron_to_html(row.patron, { url: true, display_cardnumber: true, hide_patron_name }); |
648 |
return patron_to_html; |
649 |
} |
650 |
}, |
651 |
{ |
652 |
"data": "status", |
653 |
"name": "status", |
654 |
"className": "found_status", |
655 |
"title": _("Status"), |
656 |
"orderable": true, |
657 |
"render": function( data, type, row, meta ) { |
658 |
let status = _("No status"); |
659 |
if ( data == "T" ) { |
660 |
status = _("In transit"); |
661 |
} else if( data == "P" ) { |
662 |
status = _("In processing"); |
663 |
} else if( data == "W" ) { |
664 |
status = _("Waiting"); |
665 |
} |
666 |
return status; |
667 |
} |
668 |
}, |
669 |
{ |
670 |
"data": "pickup_library_id", |
671 |
"name": "pickup_library", |
672 |
"title": _("Hold pickup library"), |
673 |
"orderable": true, |
674 |
"render": function( data, type, row, meta ) { |
675 |
return escape_str( row.pickup_library.name ); |
676 |
} |
677 |
}, |
678 |
{ |
679 |
"data": "suspended", |
680 |
"name": "suspended", |
681 |
"title": _("Suspended"), |
682 |
"orderable": true, |
683 |
"render": function( data, type, row, meta ) { |
684 |
return data == 0 ? _("No") : _("Yes"); |
685 |
} |
686 |
}, |
687 |
{ |
688 |
"data": "suspended_until", |
689 |
"name": "suspended_until", |
690 |
"title": _("Suspended until"), |
691 |
"orderable": true, |
692 |
"render": function( data, type, row, meta ) { |
693 |
return $date( data ); |
694 |
} |
695 |
}, |
696 |
{ |
697 |
"data": "notes", |
698 |
"name": "notes", |
699 |
"title": _("Notes"), |
700 |
"orderable": true, |
701 |
"render": function( data, type, row, meta ) { |
702 |
return escape_str( data ); |
703 |
} |
704 |
} |
705 |
] |
706 |
}, table_settings, 0, filters); |
707 |
|
708 |
var modified_message = '<div class="alert alert-info">'+hold_ids.length+' hold(s) have been modified!</div>'; |
709 |
$("#modified_holds_results-wrapper").prepend(modified_message); |
710 |
|
635 |
|
711 |
}); |
636 |
}); |
712 |
</script> |
637 |
</script> |