From f897f95f9c5252e151d2fdb66a0a99c5556cdb41 Mon Sep 17 00:00:00 2001
From: Lebbeous Fogle-Weekley
Date: Wed, 10 Aug 2011 14:25:58 -0400
Subject: [PATCH] Working bookbag sorting TODO: check anon list
retrieval/sorting
Signed-off-by: Lebbeous Fogle-Weekley
---
.../perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm | 14 +++++++++++++-
Open-ILS/web/templates/default/opac/myopac/lists.tt2 | 20 +++++++++++++++++---
.../templates/default/opac/parts/advanced/search.tt2 | 2 +-
.../web/templates/default/opac/parts/filtersort.tt2 | 8 ++++----
4 files changed, 35 insertions(+), 9 deletions(-)
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 c8cf9848ca..adde100312 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
@@ -1205,6 +1205,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;
@@ -1237,7 +1240,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",
@@ -1247,6 +1253,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 303bb1a2cd..3708751fa7 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/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)') %]
+ |
|