From 44cf6637d7d9f4311319e08413339e174e3c8253 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 5 Mar 2013 13:52:20 +0100 Subject: [PATCH] Bug 9747: Fix sorting issues on z3950 search results MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit At least the BNF server returns results containing non-sorting characters (NSB SNE). In order to sort results according these characters, this patch adds a new Datatable function. Test plan: - search 'tintin' on the z3950 search (cataloguing/z3950_search.pl) - sort on title (default sort) and check that results are not well sorted. - apply this patch - do the same search and check that the first result is "Hergé. Les Aventures de Tintin..." The value of the cell is: ˆHergé. Les ‰Aventures de Tintin... --- koha-tmpl/intranet-tmpl/prog/en/js/datatables.js | 16 +++++++++++++++- .../prog/en/modules/cataloguing/z3950_search.tt | 1 + 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/js/datatables.js b/koha-tmpl/intranet-tmpl/prog/en/js/datatables.js index b350211..71f9b32 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/js/datatables.js +++ b/koha-tmpl/intranet-tmpl/prog/en/js/datatables.js @@ -470,4 +470,18 @@ jQuery.extend( jQuery.fn.dataTableExt.oSort, { } } ); -}()); \ No newline at end of file +}()); + +// Remove string between NSB NSB characters +$.fn.dataTableExt.oSort['nsb-nse-asc'] = function(a,b) { + var pattern = new RegExp("\x88.*\x89"); + a = a.replace(pattern, ""); + b = b.replace(pattern, ""); + return (a > b) ? 1 : ((a < b) ? -1 : 0); +} +$.fn.dataTableExt.oSort['nsb-nse-desc'] = function(a,b) { + var pattern = new RegExp("\x88.*\x89"); + a = a.replace(pattern, ""); + b = b.replace(pattern, ""); + return (b > a) ? 1 : ((b < a) ? -1 : 0); +} diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/z3950_search.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/z3950_search.tt index c30d23b..abeb441 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/z3950_search.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/z3950_search.tt @@ -33,6 +33,7 @@ $(document).ready(function(){ "sDom": 't', "aoColumnDefs": [ { "aTargets": [ -1,-2,-3 ], "bSortable": false, "bSearchable": false }, + { "aTargets": [ 1 ], "sType": "nsb-nse" }, ], "aaSorting": [[ 1, "asc" ]], "bPaginate": false -- 1.7.10.4