From: Lebbeous Fogle-Weekley Date: Wed, 10 Aug 2011 18:25:58 +0000 (-0400) Subject: Working bookbag sorting TODO: check anon list retrieval/sorting X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=e36a5e060e2c01895950bac96ec9f2451fa074dd;p=evergreen%2Fequinox.git Working bookbag sorting TODO: check anon list retrieval/sorting Signed-off-by: Lebbeous Fogle-Weekley --- diff --git a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm index 45fb5e5b9c..3cf6c41427 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm @@ -1120,6 +1120,9 @@ sub load_myopac_bookbags { my $e = $self->editor; my $ctx = $self->ctx; + my $sorter = $self->cgi->param("sort"); + my $modifier = ($sorter =~ /\.(.+$)/) ? $1 : undef; + $e->xact_begin; # replication... my $rv = $self->load_mylist; @@ -1149,7 +1152,10 @@ sub load_myopac_bookbags { foreach my $bookbag (@{$ctx->{bookbags}}) { my $query = sprintf( - "container(bre,bookbag,%d,%s)", $bookbag->id, $e->authtoken + "container(bre,bookbag,%d,%s)%s%s", + $bookbag->id, $e->authtoken, + ($sorter ? " sort($sorter)" : ""), + ($modifier ? "#$modifier" : "") ); my $results = $U->simplereq( "open-ils.search", "open-ils.search.biblio.multiclass.query", @@ -1159,6 +1165,12 @@ sub load_myopac_bookbags { # now we have record ids, but we need the cbrebi objects too my $record_id_list = [ map { pop @$_ } @{$results->{ids}} ]; + # We're done with this bookbag if it has no items + unless (@$record_id_list) { + $bookbag->items([]); + next; + } + my $items = $e->search_container_biblio_record_entry_bucket_item([ { "target_biblio_record_entry" => $record_id_list, diff --git a/Open-ILS/web/templates/default/opac/myopac/lists.tt2 b/Open-ILS/web/templates/default/opac/myopac/lists.tt2 index 17ef572d7f..c8053345d3 100644 --- a/Open-ILS/web/templates/default/opac/myopac/lists.tt2 +++ b/Open-ILS/web/templates/default/opac/myopac/lists.tt2 @@ -61,6 +61,16 @@ +

[% l("Your existing lists") %]

+

+

+ + [% INCLUDE "default/opac/parts/filtersort.tt2" + value=CGI.param('sort') %] + +
+

+ [% INCLUDE "default/opac/parts/anon_list.tt2" %] [% IF ctx.bookbags.size %]
@@ -118,8 +128,12 @@ inputs[i].checked = this.checked;}"/> - [% l('Title') %] - [% l('Author(s)') %] + + [% l('Title') %] + + + [% l('Author(s)') %] + +