show kcls-style mat-type images for holds
authorsenator <lebbeous@esilibrary.com>
Thu, 27 Jan 2011 20:49:27 +0000 (15:49 -0500)
committersenator <lebbeous@esilibrary.com>
Thu, 27 Jan 2011 20:49:27 +0000 (15:49 -0500)
Open-ILS/src/perlmods/OpenILS/WWW/EGCatLoader.pm
Open-ILS/web/templates/default/opac/myopac/holds.tt2

index aabc73d..666cb66 100644 (file)
@@ -17,6 +17,44 @@ my $U = 'OpenILS::Application::AppUtils';
 
 my %cache; # proc-level cache
 
+sub _icon_by_mattype {  # XXX This is KCLS specific stuff that needs to be
+                        # genericized later.
+    my $mattype = shift;
+
+    my %type_map = (
+        "a" => "media_book.jpg",
+        "b" => "media_magazines.jpg",
+        "c" => "media_printedmusic.jpg",
+        "d" => "media_microform.jpg",
+        "e" => "media_equipment.jpg",
+        "f" => "media_films.jpg",
+        "g" => "",
+        "h" => "media_dvd.jpg",
+        "i" => "media_bookoncassette.jpg",
+        "j" => "media_musiccd.jpg",
+        "k" => "media_musiccassette.jpg",
+        "l" => "media_musicrecord.jpg",
+        "m" => "media_software.jpg",
+        "n" => "media_bookoncd.jpg",
+        "o" => "media_kit.jpg",
+        "p" => "media_newspaper.jpg",
+        "q" => "media_largeprint.jpg",
+        "r" => "media_3dobject.jpg",
+        "s" => "media_slide.jpg",
+        "t" => "media_online.jpg",
+        "u" => "media_eaudio.jpg",
+        "v" => "media_ebooktext.jpg",
+        "w" => "media_eaudio.jpg",
+        "x" => "media_downloadmusic.jpg",
+        "y" => "media_downloadvideo.jpg",
+        "z" => "media_map.jpg",
+        "2" => "media_cassettewithbook.jpg",
+        "5" => "media_cdwithbook.jpg"
+    );
+
+    return $type_map{$mattype};
+}
+
 sub new {
     my($class, $apache, $ctx) = @_;
 
@@ -542,6 +580,8 @@ sub load_myopac_holds {
 
     $ctx->{holds} = $self->fetch_user_holds(undef, 0, 1, $limit, $offset);
 
+    $ctx->{"icon_by_mattype"} = \&_icon_by_mattype;
+
     return Apache2::Const::OK;
 }
 
index 4d57ed6..50e3d01 100644 (file)
                 <td>[% attrs.title %]</td>
                 <td>[% attrs.author %]</td>
                 <td>
-                    [% format_desc = ctx.find_citm(attrs.mattype).value; %]<!-- XXX in situations where we might show M-type holds, this won't be good enough -->
+                    [%
+                        format_desc = ctx.find_citm(attrs.mattype).value;
+                        icon_filename = ctx.icon_by_mattype(attrs.mattype);
+                        IF icon_filename;
+                    %]<!-- XXX in situations where we might show M-type holds, this won't be good enough -->
                     <img alt="[% format_desc %]" title="[% format_desc %]"
-                        src="[% ctx.icon_by_mattype(attrs.mattype) %]" />
+                        src="/images/mattype/[% icon_filename %]" />
+                    [%  END %]
                 </td>
                 <td>[% ctx.find_aou(hold.hold.hold.pickup_lib).name %]</td>
                 <td>[% hold.hold.hold.status %]<!-- see myOShowHoldStatus() in skin/default/js/myopac.js --></td>