path based record display, primitive facet links
authorBill Erickson <berick@esilibrary.com>
Fri, 21 Jan 2011 22:27:26 +0000 (17:27 -0500)
committerBill Erickson <berick@esilibrary.com>
Fri, 21 Jan 2011 22:27:26 +0000 (17:27 -0500)
Open-ILS/src/perlmods/OpenILS/WWW/EGCatLoader.pm
Open-ILS/src/perlmods/OpenILS/WWW/EGWeb.pm
Open-ILS/web/templates/default/opac/record.tt2
Open-ILS/web/templates/default/opac/results.tt2

index 754616c..d9a71b6 100644 (file)
@@ -73,7 +73,7 @@ sub load {
     return $self->load_login if $path =~ /opac\/login/;
     return $self->load_logout if $path =~ /opac\/logout/;
     return $self->load_rresults if $path =~ /opac\/results/;
-    return $self->load_rdetail if $path =~ /opac\/rdetail/;
+    return $self->load_record if $path =~ /opac\/record/;
     return $self->load_myopac if $path =~ /opac\/myopac/;
     return $self->load_place_hold if $path =~ /opac\/place_hold/;
 
@@ -233,9 +233,11 @@ sub load_rresults {
 
     $ctx->{page} = 'rresult';
     my $page = $cgi->param('page') || 0;
+    my $facet = $cgi->param('facet');
     my $query = $cgi->param('query');
     my $limit = $cgi->param('limit') || 10; # XXX user settings
     my $args = {limit => $limit, offset => $page * $limit}; 
+    $query = "$query $facet" if $facet;
     my $results;
 
     try {
@@ -268,9 +270,9 @@ sub load_rresults {
 
     unless($cache{cmf}) {
         $cache{cmf} = $e->search_config_metabib_field({id => {'!=' => undef}});
-        $cache{cmc} = $e->search_config_metabib_class({name => {'!=' => undef}});
         $ctx->{metabib_field} = $cache{cmf};
-        $ctx->{metabib_class} = $cache{cmc};
+        #$cache{cmc} = $e->search_config_metabib_class({name => {'!=' => undef}});
+        #$ctx->{metabib_class} = $cache{cmc};
     }
 
     my @data;
@@ -304,8 +306,7 @@ sub load_rresults {
 
     for my $cmf_id (keys %$facets) {  # quick-n-dirty
         my ($cmf) = grep { $_->id eq $cmf_id } @{$cache{cmf}};
-        $facets->{$cmf->label} = $facets->{$cmf_id};
-        delete $facets->{$cmf_id};
+        $facets->{$cmf_id} = {cmf => $cmf, data => $facets->{$cmf_id}};
     }
     $ctx->{search_facets} = $facets;
 
@@ -314,7 +315,7 @@ sub load_rresults {
 
 # context additions: 
 #   record : bre object
-sub load_rdetail {
+sub load_record {
     my $self = shift;
 
     my $rec_id = $self->ctx->{page_args}->[0]
index 6d38a83..256350c 100644 (file)
@@ -21,7 +21,7 @@ sub import {
     my $self = shift;
     $web_config_file = shift;
     unless(-r $web_config_file) {
-        warn "Invalid web config $web_config_file";
+        warn "Invalid web config $web_config_file\n";
         return;
     }
     check_web_config();
@@ -80,7 +80,7 @@ sub run_context_loader {
         return Apache2::Const::HTTP_INTERNAL_SERVER_ERROR;
     }
 
-    $r->log->warn("context loader resulted in status $stat");
+    $r->log->info("context loader resulted in status $stat");
     return $stat;
 }
 
index 26e30dd..b12e9dd 100644 (file)
@@ -28,7 +28,7 @@
             </td>
         </tr>
         [% IF attrs.title %]<tr><td>Title</td><td>[% attrs.title %]</td></tr>[% END %]
-        [% IF attrs.author %]<tr><td>Author</td><td><a href='results?query=au:[% attrs.author | uri %]'>[% attrs.author %]</a></td></tr>[% END %]
+        [% IF attrs.author %]<tr><td>Author</td><td><a href='../results?query=au:[% attrs.author | uri %]'>[% attrs.author %]</a></td></tr>[% END %]
         [% IF attrs.isbn %]<tr><td>ISBN</td><td>[% attrs.isbn %]</td></tr>[% END %]
         [% IF attrs.issn %]<tr><td>ISSN</td><td>[% attrs.issn %]</td></tr>[% END %]
         [% IF attrs.upc %]<tr><td>UPC</td><td>[% attrs.upc %]</td></tr>[% END %]
                     s1 = node.childNodes.1.textContent;
                 %]
                 [% IF s0 %]
-                    <a href='results?query=su:[% s0 | url %]'>[% s0 %]</a>
+                    <a href='../results?query=su:[% s0 | url %]'>[% s0 %]</a>
                     [% IF s1 %]
                     <span>--</span>
-                    <a href='results?query=su:[% s1 | url %]'>[% s1 %]</a>
+                    <a href='../results?query=su:[% s1 | url %]'>[% s1 %]</a>
                     [% END %]
                     <br/>
                 [% END %]
index 956e4ea..2a495f5 100644 (file)
             </div>
             <div>
                 [% FOR facet_type IN ctx.search_facets.keys %]
-                    <b>[% facet_type %]</b>
+                    [% cmf = ctx.search_facets.$facet_type.cmf %]
+                    <b>[% cmf.label %]</b>
                     <ul>
-                        [% FOR facet IN ctx.search_facets.$facet_type.keys %]
-                            <li>[% facet %] / [% ctx.search_facets.$facet_type.$facet %]</li>
+                        [% FOR facet IN ctx.search_facets.$facet_type.data.keys %]
+                            [% facet_count = ctx.search_facets.$facet_type.data.$facet %]
+                            <li><a href='results?query=[% query | url %]&facet=[% cmf.field_class %]|[% cmf.name %][[% facet | url %]]'>[% facet_count %] / [% facet %]</a></li>
                         [% END %]
                     </ul>
                 [% END %]
@@ -87,7 +89,7 @@
                     </td>
                     <td width='auto'>
                         <div>
-                            <a href='rdetail/[% rec.bre.id %]'>[% attrs.title %]</a>
+                            <a href='record/[% rec.bre.id %]'>[% attrs.title %]</a>
                             <span style='padding-left:10px;'>[% rec.copy_counts.available %] / [% rec.copy_counts.visible %]</span>
                         </div>
                         <div>[% attrs.author %]</div>