Bugzilla – Attachment 20385 Details for
Bug 9456
Add callnumber column to the cart
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 9456 - Add callnumber column to the cart
Bug-9456---Add-callnumber-column-to-the-cart.patch (text/plain), 6.93 KB, created by
Jonathan Druart
on 2013-08-16 07:32:50 UTC
(
hide
)
Description:
Bug 9456 - Add callnumber column to the cart
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2013-08-16 07:32:50 UTC
Size:
6.93 KB
patch
obsolete
>From 9605e3eafde556b96351e6a0eb3a5fc7bb359820 Mon Sep 17 00:00:00 2001 >From: Kyle M Hall <kyle@bywatersolutions.com> >Date: Fri, 25 Jan 2013 09:57:30 -0500 >Subject: [PATCH] Bug 9456 - Add callnumber column to the cart > >This patch adds call-number sorting to the staff client cart. Sortining is enabled >on the 'Items' column which uses a custom sorting routine to sort the callnumbers. >If the sort is ascending, each column will be sorted by the highest ordered >callnumber for that row. Likewise, if the sort is descending the table will be >sorted by the lowest valued callnumber for that row. > >Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> >--- > .../intranet-tmpl/prog/en/css/staff-global.css | 8 ++ > .../intranet-tmpl/prog/en/modules/basket/basket.tt | 105 ++++++++++++++++---- > 2 files changed, 93 insertions(+), 20 deletions(-) > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css b/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css >index e792cab..eb6f55b 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css >+++ b/koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css >@@ -2579,6 +2579,14 @@ fieldset.rows table.mceListBox { > box-shadow: 0px 3px 2px 0px rgba(0, 0, 0, .5); > } > >+.inline { >+ display : inline; >+} >+ >+.nowrap { >+ white-space: nowrap; >+} >+ > .tag_editor { > background: transparent url("../../img/edit-tag.png") top left no-repeat; > display : block; >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/basket/basket.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/basket/basket.tt >index c07cc74..0b6c89a 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/basket/basket.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/basket/basket.tt >@@ -9,9 +9,35 @@ > @import url([% themelang %]/css/print.css); > </style> > [% ELSE %][% INCLUDE 'doc-head-close.inc' %] >+ <style type="text/css"> >+ td table { >+ font-size: 85%; >+ border: 0; >+ } >+ td table th:first-child, >+ td table th.sorting:first-child, >+ td table th.sorting_asc:first-child, >+ td table th.sorting_desc:first-child { >+ border-right : 1px solid #99BEC9; >+ } >+ td table th, >+ td table th.sorting, >+ td table th.sorting_asc, >+ td table th.sorting_desc { >+ background-color: #E6F0F2; >+ border-color: #99BEC9; >+ border-width: 0px 0px 1px 0px; >+ } >+ td table td { >+ border-width: 0px 0px 1px 0px; >+ border-color: #B8D7E0; >+ } >+ </style> > <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script> >- <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script> >- <script type="text/javascript"> >+<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" /> >+<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script> >+[% INCLUDE 'datatables-strings.inc' %] >+<script type="text/javascript" src="[% themelang %]/js/datatables.js"></script> <script type="text/javascript"> > //<![CDATA[ > > function placeHold () { >@@ -62,10 +88,52 @@ function placeHold () { > $(".holdsep").text("| "); > $(".hold").text(_("Place Hold")); > $("#downloadcartc").empty(); >- yuiToolbar(); >- $("#itemst").tablesorter({ >- headers: { 0: { sorter: false }} >- }); >+ >+ /* Define two custom functions (asc and desc) for string sorting */ >+ jQuery.fn.dataTableExt.oSort['callnumbers-asc'] = function(x,y) { >+ var x_array = x.split("<div>"); >+ var y_array = y.split("<div>"); >+ >+ /* Pop the first elements, they are empty strings */ >+ x_array.shift(); >+ y_array.shift(); >+ >+ x_array.sort(); >+ y_array.sort(); >+ >+ x = x_array.shift(); >+ y = y_array.shift(); >+ >+ return ((x < y) ? -1 : ((x > y) ? 1 : 0)); >+ }; >+ >+ jQuery.fn.dataTableExt.oSort['callnumbers-desc'] = function(x,y) { >+ var x_array = x.split("<div>"); >+ var y_array = y.split("<div>"); >+ >+ /* Pop the first elements, they are empty strings */ >+ x_array.shift(); >+ y_array.shift(); >+ >+ x_array.sort(); >+ y_array.sort(); >+ >+ x = x_array.pop(); >+ y = y_array.pop(); >+ >+ return ((x < y) ? 1 : ((x > y) ? -1 : 0)); >+ }; >+ >+ $("#itemst").dataTable($.extend(true, {}, dataTablesDefaults, { >+ "sDom": 't', >+ "aoColumnDefs": [ >+ { "aTargets": [ 0 ], "bSortable": false, "bSearchable": false }, >+ { "aTargets": [ 3 ], "sType": 'callnumbers' }, >+ ], >+ "aaSorting": [[ 1, "asc" ]], >+ "bPaginate": false >+ })); >+ > }); > //]]> > </script> >@@ -279,23 +347,19 @@ function placeHold () { > | <a href="#" onclick="placeHold(); return false;">Place hold</a> > [% END %] > >- > [% END %] >+ > </p> > <table id="itemst"> > <thead><tr> > [% UNLESS ( print_basket ) %]<th> </th>[% END %] > <th>Title</th> > <th>Item type</th> >- <th>Location</th> >+ <th>Items</th> > </tr></thead> > > [% FOREACH BIBLIO_RESULT IN BIBLIO_RESULTS %] >- [% IF ( BIBLIO_RESULT.even ) %] >- <tr class="highlight"> >- [% ELSE %] > <tr> >- [% END %] > [% UNLESS ( print_basket ) %]<td> > <input type="checkbox" value="[% BIBLIO_RESULT.biblionumber %]" name="bib[% BIBLIO_RESULT.biblionumber %]" id="bib[% BIBLIO_RESULT.biblionumber %]" onclick="selRecord(value,checked);" /> > >@@ -317,14 +381,15 @@ function placeHold () { > > </td> > <td>[% BIBLIO_RESULT.description %]</td> >- <td>[% IF ( BIBLIO_RESULT.ITEM_RESULTS ) %][% FOREACH ITEM_RESULT IN BIBLIO_RESULT.ITEM_RESULTS %] >- <p> >- [% ITEM_RESULT.branchname %] [% ITEM_RESULT.location_description %] >- [% IF ( ITEM_RESULT.itemcallnumber ) %] >- ([% ITEM_RESULT.itemcallnumber %]) >- [% END %] >- </p> >- [% END %][% ELSE %]This record has no items.[% END %]</td> >+ <td> >+ [% IF ( BIBLIO_RESULT.ITEM_RESULTS ) %] >+ [% FOREACH ITEM_RESULT IN BIBLIO_RESULT.ITEM_RESULTS %] >+ <div><span class="nowrap"><strong>[% ITEM_RESULT.itemcallnumber %]</strong> [% ITEM_RESULT.branchname %] <span class="shelvingloc inline">[% ITEM_RESULT.location_description %]</span></span></div> >+ [% END %] >+ [% ELSE %] >+ This record has no items. >+ [% END %] >+ </td> > </tr> > [% END %] > </table></form> >-- >1.7.10.4
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 9456
:
14779
|
14780
|
14782
|
14783
|
14861
|
14903
|
14904
|
15542
|
15544
|
15727
|
15728
|
15759
|
15760
|
15813
|
15844
|
15845
|
15846
|
15847
|
15848
|
15937
|
15938
|
15941
|
15943
|
15944
|
15949
|
15950
|
16630
|
16631
|
16734
|
17994
|
17995
|
17996
|
17997
|
19123
|
19124
|
19125
|
19126
|
19146
|
19844
|
19845
|
19846
|
19847
|
19848
|
19849
|
20341
| 20385 |
20386
|
20387
|
20388
|
20389
|
20390