@@ -, +, @@ --- C4/Utils/DataTables.pm | 7 ++++++- .../prog/en/modules/virtualshelves/shelves.tt | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) --- a/C4/Utils/DataTables.pm +++ a/C4/Utils/DataTables.pm @@ -104,10 +104,15 @@ sub dt_build_orderby { return unless @orderbys; + my @sanitized_orderbys; + + # Trick for virtualshelves, should not be extended + push @sanitized_orderbys, 'count asc' if grep {$_ eq 'count asc'} @orderbys; + push @sanitized_orderbys, 'count desc' if grep {$_ eq 'count desc'} @orderbys; + # Must be "branches.branchname asc", "borrowers.firstname desc", etc. @orderbys = grep { /^\w+\.\w+ (asc|desc)$/ } @orderbys; - my @sanitized_orderbys; for my $orderby (@orderbys) { my ($identifier, $direction) = split / /, $orderby, 2; my ($table, $column) = split /\./, $identifier, 2; --- a/koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/shelves.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/virtualshelves/shelves.tt @@ -523,6 +523,24 @@ },{ 'name': 'template_path', 'value': 'virtualshelves/tables/shelves_results.tt', + },{ + 'name': 'shelfname_sorton', + 'value': 'vs.shelfname', + },{ + 'name': 'is_shared_sorton', + 'value': 'vs.category', + },{ + 'name': 'owner_sorton', + 'value': 'vs.owner', + },{ + 'name': 'sortby_sorton', + 'value': 'vs.sortfield', + },{ + 'name': 'created_on_sorton', + 'value': 'vs.created_on', + },{ + 'name': 'modification_time_sorton', + 'value': 'vs.lastmodified', }); $.ajax({ 'dataType': 'json', --