LP#1772680: Fixed issues with advanced search, Tab name, and wishlist
authorJaswinder Singh <jaswinder.singh0011@gmail.com>
Sun, 22 Jul 2018 23:00:40 +0000 (19:00 -0400)
committerChris Sharp <csharp@georgialibraries.org>
Mon, 16 Mar 2020 19:08:50 +0000 (15:08 -0400)
Signed-off-by: Jaswinder Singh <jaswinder.singh0011@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
LP#1772680: Minor fixes

Signed-off-by: Jaswinder Singh <jaswinder.singh0011@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Open-ILS/src/perlmods/lib/OpenILS/Application/EbookAPI/RBDigital.pm
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/RBDigitalSearch.pm
Open-ILS/src/templates/opac/ebook_api/rbdigital/parts/item_parser.tt2
Open-ILS/src/templates/opac/myopac/ebook_checkout.tt2 [changed mode: 0644->0755]
Open-ILS/src/templates/opac/parts/myopac/base.tt2
Open-ILS/src/templates/opac/parts/vendor_tabs.tt2

index f851f7e..5f40946 100755 (executable)
@@ -298,7 +298,8 @@ sub _build_search_URI {
         $media_format = '';
     }
 
-    if ($media_format eq 'eaudio' || $media_format eq 'ebook' || $media_format eq '') {
+    if (($media_format eq 'eaudio' || $media_format eq 'ebook' || $media_format eq '')
+        && scalar (@$search_inputs) == 0) {
         my $search_term = '';
         if ($search_type eq 'author' || $search_type eq 'genre') {
             $search_term = "&$search_type=$value_to_search";
index 7974443..831cc32 100755 (executable)
@@ -450,13 +450,12 @@ sub load_rbdigital_common {
         # Send back rbdigital_patron_id
         $self->ctx->{rbdigital_patron_id} = _get_patron_id($self->editor->authtoken, $session_id);
         $logger->info('EbookAPI: Got patron id: '. $self->ctx->{rbdigital_patron_id});
-
         # Call sub to get all the vendors to be displayed on the UI
         $self->ctx->{vendors} = _get_authorized_vendors($self->editor->authtoken, $session_id);
         $self->ctx->{wishlist} = _get_patron_wishlist($self->editor->authtoken, $session_id);
     } else {
         $self->ctx->{rbdigital_patron_id} = 0;
-        $self->ctx->{vendors} = [];
+        $self->ctx->{vendors} = _get_default_vendor();
     }
 }
 
index ad0fb65..91c3015 100755 (executable)
@@ -364,6 +364,22 @@ sub _get_authorized_vendors {
     return $vendors_req->recv->content;
 }
 
+#Get only default vendor from database
+sub _get_default_vendor {
+    my $vendor_key = 'default';
+    my $pcrud = OpenSRF::AppSession->create('open-ils.pcrud');
+    $pcrud->connect();
+    
+    my $digital_services_req = $pcrud->request('open-ils.pcrud.search.ebook_rds.atomic', "ANONYMOUS",
+        { 
+            vendor_key => $vendor_key,
+            is_enabled => 't' 
+        }
+    )->recv();
+
+    return $digital_services_req->{content};
+}
+
 sub _get_patron_id {
     my ($authtoken, $session_id) = @_;
 
index be741bc..690e096 100755 (executable)
@@ -33,7 +33,7 @@
     # Loop over AUTHORS array
     FOREACH item IN ebook_record_item.authors;
         IF item.text != '';
-            author_search_url = mkurl(ctx.opac_root _ vendor_search_uri, {qtype => 'author', query => item.text});
+            author_search_url = ctx.opac_root _ vendor_search_uri _ '?' _ 'qtype=author&query=' _ item.text;
             ebook_item.authors_detail = ebook_item.authors_detail _ 
                         '<span class="rdetail-author-div" typeof="Person" property="author" resource="#schemacontrib1"><a href="'_
                         author_search_url _
@@ -48,7 +48,7 @@
 
     # Loop over Narrators array
     FOREACH item IN ebook_record_item.narrators;
-        author_search_url = mkurl(ctx.opac_root _ vendor_search_uri, {qtype => 'author', query => item.text});
+        author_search_url = ctx.opac_root _ vendor_search_uri _ '?' _ 'qtype=author&query=' _ item.text;
         ebook_item.authors_detail = ebook_item.authors_detail _ 
                     '<span class="rdetail-author-div" typeof="Person" property="author" resource="#schemacontrib1"><a href="'_
                     author_search_url _
@@ -61,7 +61,7 @@
 
     # Get Genre information
     FOREACH item IN ebook_record_item.genres;
-        genre_search_url = mkurl(ctx.opac_root _ vendor_search_uri, {qtype => 'genre', query => item.token});
+        genre_search_url = ctx.opac_root _ vendor_search_uri _ '?' _ 'qtype=genre&query=' _ item.token;
         ebook_item.genres = ebook_item.genres _ '<a href="'_ genre_search_url _ '">' _ item.text _ '</a>';
         IF !loop.last();
             ebook_item.genres = ebook_item.genres _ ", ";
@@ -69,7 +69,7 @@
     END;
 
     # Get Series information
-    series_search_url = mkurl(ctx.opac_root _ vendor_search_uri, {qtype => 'series', query => ebook_record_item.series.token});
+    series_search_url = ctx.opac_root _ vendor_search_uri _ '?' _ 'qtype=series&query=' _ ebook_record_item.series.token;
     IF ebook_record_item.series.text; 
         ebook_item.series = ebook_item.series _ '<a href="'_ series_search_url _ '">' _ ebook_record_item.series.text _ '</a>';
     END;
index 93719dc..c848192 100755 (executable)
@@ -5,7 +5,7 @@
         {url => "messages", name => l("Messages")},
         {url => "circs", name => l("Items Checked Out")},
         {url => "holds", name => l("Holds")},
-        {url => "wishlist", name => l("Wishlist")},
+        {url => "wishlist", name => l("E-Wishlist")},
         {url => "prefs", name => l("Account Preferences")},
         {url => "lists", name => l("My Lists")}
     ];
index 4df5006..1dd7e3b 100755 (executable)
         <!-- Load Code for displaying the password prompt -->
         [% INCLUDE 'opac/ebook_api/rbdigital/register_modal.tt2'; %]
     [% END; %]
+[% ELSIF ctx.vendors.size > 0; %]
+    <!-- Read the first vendor name based on the display_order -->
+    [% vendor_name = ctx.vendors.0.name; %]
+    <div id="vendor_tabs">
+        <div id="acct_tabs">
+                <a id="lnkSearchResults_default" 
+                    href="[% mkurl(ctx.opac_root _ "/results") %]" class="acct-tab-on">[% vendor_name; %]</a>
+        </div>
+    </div>
 [% ELSE; %]
      <div id="vendor_tabs">
         <div id="acct_tabs">