Bugzilla – Attachment 130050 Details for
Bug 29713
Make item table when placing an item level hold sortable
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 29713: Make item table when placing an item level hold sortable
Bug-29713-Make-item-table-when-placing-an-item-lev.patch (text/plain), 21.37 KB, created by
Owen Leonard
on 2022-02-01 16:36:25 UTC
(
hide
)
Description:
Bug 29713: Make item table when placing an item level hold sortable
Filename:
MIME Type:
Creator:
Owen Leonard
Created:
2022-02-01 16:36:25 UTC
Size:
21.37 KB
patch
obsolete
>From 6569ee6714adc2a498e61acd6c64c5b41742d0c6 Mon Sep 17 00:00:00 2001 >From: Owen Leonard <oleonard@myacpl.org> >Date: Tue, 1 Feb 2022 16:34:38 +0000 >Subject: [PATCH] Bug 29713: Make item table when placing an item level hold > sortable > >This patch modifies the holds page in the OPAC so that users selecting a >specific item to place a hold on can sort the table of items. > >Note: This patch includes some whitespace changes, so diff accordingly. > >To test, apply the patch and go to Administration -> Circulation and >fine rules to make sure at least one item type in your system has >"OPAC item level holds" set to "allow." > >- Log in to the OPAC as a user who can place holds. >- Search the catalog for items which will accept item-level holds. >- Place a hold on one of the results, and click the "Show more options" > link on the holds page. >- Check the "specific item" radio button. >- A table of items should be displayed. Confirm that the table is > sortable. >- Perform the same test when placing a hold on multiple titles. Confirm > that each table of items is sortable. > >Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> >--- > .../bootstrap/en/modules/opac-reserve.tt | 193 +++++++++--------- > 1 file changed, 101 insertions(+), 92 deletions(-) > >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt >index 2d84cdffb4..424a26bac1 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt >@@ -345,112 +345,115 @@ > [% IF bibitemloo.itemholdable %] > <table class="copiesrow table table-bordered table-striped" id="copiesrow_[% bibitemloo.biblionumber | html %]"> > <caption>Select a specific item:</caption> >- <tr> >- <th>Copy number</th> >- [% IF ( item_level_itypes ) %] >- <th>Item type</th> >- [% END %] >- <th>Barcode</th> >- [% UNLESS ( singleBranchMode ) %] >- <th>Home library</th> >- <th>Last location</th> >- [% END %] >- [% IF ( itemdata_ccode ) %] >- <th>Collection</th> >- [% END %] >- <th>Call number</th> >- [% IF ( itemdata_enumchron ) %] >- <th>Vol info</th> >- [% END %] >- <th>Notes</th> >- <th>Information</th> >- </tr> >- >- [% FOREACH itemLoo IN bibitemloo.itemLoop %] >- <tr class="[% itemLoo.backgroundcolor | html %]"> >- <td class="copynumber"> >- [% IF ( itemLoo.available ) %] >- <input type="radio" class="checkitem checkitem_[% bibitemloo.biblionumber | html %]" name="checkitem_[% bibitemloo.biblionumber | html %]" value="[% itemLoo.itemnumber | html %]" /> >- [% ELSE %] >- <input disabled="disabled" type="radio" aria-label="Cannot be put on hold" class="checkitem" name="checkitem" value="[% itemLoo.itemnumber | html %]" >- style="display:none;" /> >- <i class="fa fa-remove danger" aria-hidden="true" title="Cannot be put on hold"></i> >- [% END %] >- >- [% IF ( itemLoo.copynumber ) %] >- [% itemLoo.copynumber | html %] >- [% END %] >- </td> >- >+ <thead> >+ <tr> >+ <th>Copy number</th> > [% IF ( item_level_itypes ) %] >- <td class="itype"> >- [% UNLESS ( Koha.Preference('OpacNoItemTypeImages') ) %] >- [% IF ( itemLoo.imageurl ) %] >- <img src="[% itemLoo.imageurl | html %]" alt="" /> >- [% END %] >- [% END %] >- [% itemLoo.translated_description | html %] >- </td> >+ <th>Item type</th> > [% END %] >- >- <td class="barcode">[% itemLoo.barcode | html %]</td> >+ <th>Barcode</th> > [% UNLESS ( singleBranchMode ) %] >- <td class="homebranch">[% Branches.GetName( itemLoo.homeBranchName ) | html %]</td> >- <td class="holdingbranch">[% Branches.GetName( itemLoo.holdingBranchName ) | html %]</td> >+ <th>Home library</th> >+ <th>Last location</th> > [% END %] > [% IF ( itemdata_ccode ) %] >- <td class="ccode"> [% IF ( itemLoo.ccode ) %][% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.ccode', authorised_value => itemLoo.ccode, opac => 1 ) | html %][% END %]</td> >+ <th>Collection</th> > [% END %] >- <td class="call_no">[% itemLoo.callNumber | html %]</td> >+ <th>Call number</th> > [% IF ( itemdata_enumchron ) %] >- <td class="vol_info">[% itemLoo.enumchron | html %]</td> >+ <th>Vol info</th> > [% END %] >- <td class="itemnotes"> >- [% itemLoo.itemnotes | html %] >- </td> >- <td class="information"> >- [% IF ( itemLoo.dateDue ) %] >- <span class="checkedout">Due [% itemLoo.dateDue | html %]</span> >- [% ELSIF ( itemLoo.transfertwhen ) %] >- <span class="intransit">In transit from [% Branches.GetName( itemLoo.transfertfrom ) | html %] to [% Branches.GetName( itemLoo.transfertto ) | html %] since [% itemLoo.transfertwhen | html %]</span> >- [% END %] >+ <th>Notes</th> >+ <th>Information</th> >+ </tr> >+ </thead> >+ <tbody> >+ [% FOREACH itemLoo IN bibitemloo.itemLoop %] >+ <tr class="[% itemLoo.backgroundcolor | html %]"> >+ <td class="copynumber" data-order="[% itemLoo.copynumber | html %]"> >+ [% IF ( itemLoo.available ) %] >+ <input type="radio" class="checkitem checkitem_[% bibitemloo.biblionumber | html %]" name="checkitem_[% bibitemloo.biblionumber | html %]" value="[% itemLoo.itemnumber | html %]" /> >+ [% ELSE %] >+ <input disabled="disabled" type="radio" aria-label="Cannot be put on hold" class="checkitem" name="checkitem" value="[% itemLoo.itemnumber | html %]" >+ style="display:none;" /> >+ <i class="fa fa-remove danger" aria-hidden="true" title="Cannot be put on hold"></i> >+ [% END %] >+ >+ [% IF ( itemLoo.copynumber ) %] >+ [% itemLoo.copynumber | html %] >+ [% END %] >+ </td> > >- [% IF ( itemLoo.message ) %] >- <span class="lost">Unavailable (lost or missing)</span> >+ [% IF ( item_level_itypes ) %] >+ <td class="itype"> >+ [% UNLESS ( Koha.Preference('OpacNoItemTypeImages') ) %] >+ [% IF ( itemLoo.imageurl ) %] >+ <img src="[% itemLoo.imageurl | html %]" alt="" /> >+ [% END %] >+ [% END %] >+ [% itemLoo.translated_description | html %] >+ </td> > [% END %] > >- [% IF ( itemLoo.notforloan ) %] >- <span class="notforloan">Not for loan ([% itemLoo.notforloanvalue | html %])</span> >+ <td class="barcode">[% itemLoo.barcode | html %]</td> >+ [% UNLESS ( singleBranchMode ) %] >+ <td class="homebranch">[% Branches.GetName( itemLoo.homeBranchName ) | html %]</td> >+ <td class="holdingbranch">[% Branches.GetName( itemLoo.holdingBranchName ) | html %]</td> >+ [% END %] >+ [% IF ( itemdata_ccode ) %] >+ <td class="ccode"> [% IF ( itemLoo.ccode ) %][% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.ccode', authorised_value => itemLoo.ccode, opac => 1 ) | html %][% END %]</td> > [% END %] >+ <td class="call_no">[% itemLoo.callNumber | html %]</td> >+ [% IF ( itemdata_enumchron ) %] >+ <td class="vol_info">[% itemLoo.enumchron | html %]</td> >+ [% END %] >+ <td class="itemnotes"> >+ [% itemLoo.itemnotes | html %] >+ </td> >+ <td class="information"> >+ [% IF ( itemLoo.dateDue ) %] >+ <span class="checkedout">Due [% itemLoo.dateDue | html %]</span> >+ [% ELSIF ( itemLoo.transfertwhen ) %] >+ <span class="intransit">In transit from [% Branches.GetName( itemLoo.transfertfrom ) | html %] to [% Branches.GetName( itemLoo.transfertto ) | html %] since [% itemLoo.transfertwhen | html %]</span> >+ [% END %] > >- [% IF ( itemLoo.reservedate ) %] >- <span class="waiting"> >- [% IF ( itemLoo.waitingdate ) %] >- Waiting >- [% ELSE %] >- On hold >- [% END %] >- for patron >- [% IF ( itemLoo.waitingdate ) %] >- at >- [% ELSE %] >- expected at >- [% END %] >- [% itemLoo.ExpectedAtLibrary | html %] since >- [% IF ( itemLoo.waitingdate ) %] >- [% itemLoo.waitingdate | $KohaDates %] >- [% ELSE %] >- [% IF ( itemLoo.reservedate ) %] >- [% itemLoo.reservedate | html %] >+ [% IF ( itemLoo.message ) %] >+ <span class="lost">Unavailable (lost or missing)</span> >+ [% END %] >+ >+ [% IF ( itemLoo.notforloan ) %] >+ <span class="notforloan">Not for loan ([% itemLoo.notforloanvalue | html %])</span> >+ [% END %] >+ >+ [% IF ( itemLoo.reservedate ) %] >+ <span class="waiting"> >+ [% IF ( itemLoo.waitingdate ) %] >+ Waiting >+ [% ELSE %] >+ On hold > [% END %] >- [% END %]. >- </span> >- [% ELSE %] >- <span class="notonhold">Not on hold</span> >- [% END # / IF ( itemLoo.reservedate )%] >- </td> >- </tr> >- [% END # / FOREACH itemLoo IN bibitemloo.itemLoop%] >+ for patron >+ [% IF ( itemLoo.waitingdate ) %] >+ at >+ [% ELSE %] >+ expected at >+ [% END %] >+ [% itemLoo.ExpectedAtLibrary | html %] since >+ [% IF ( itemLoo.waitingdate ) %] >+ [% itemLoo.waitingdate | $KohaDates %] >+ [% ELSE %] >+ [% IF ( itemLoo.reservedate ) %] >+ [% itemLoo.reservedate | html %] >+ [% END %] >+ [% END %]. >+ </span> >+ [% ELSE %] >+ <span class="notonhold">Not on hold</span> >+ [% END # / IF ( itemLoo.reservedate )%] >+ </td> >+ </tr> >+ [% END # / FOREACH itemLoo IN bibitemloo.itemLoop%] >+ </tbody> > </table> <!-- / #copiesrow_[% bibitemloo.biblionumber | html %] --> > [% END # / IF ( bibitemloo.itemholdable )%] > </div> <!-- / #hold-options-[% bibitemloo.biblionumber | html %] --> >@@ -472,6 +475,7 @@ > [% INCLUDE 'opac-bottom.inc' %] > [% BLOCK jsinclude %] > [% INCLUDE 'calendar.inc' %] >+ [% INCLUDE 'datatables.inc' %] > <script> > var MSG_NO_ITEM_SELECTED = _("Expecting a specific item selection."); > >@@ -673,6 +677,11 @@ > return true; > }); > >+ $(".copiesrow").each(function(){ >+ $(this).DataTable({ >+ dom: "t" >+ }); >+ }); > }); > </script> > [% END %] >-- >2.20.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 29713
:
129812
|
129815
|
130050
|
130864
|
131206
|
131410
|
132002