LP#1772680: Fixed issues dealing with search feature and new User
authorJaswinder Singh <jaswinder.singh0011@gmail.com>
Fri, 22 Jun 2018 20:24:38 +0000 (16:24 -0400)
committerGalen Charlton <gmc@equinoxinitiative.org>
Fri, 16 Nov 2018 19:01:12 +0000 (14:01 -0500)
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/RBDigitalSearch.pm
Open-ILS/src/templates/opac/ebook_api/rbdigital/parts/filtersort.tt2
Open-ILS/src/templates/opac/ebook_api/rbdigital/register_modal.tt2
Open-ILS/src/templates/opac/parts/vendor_tabs.tt2

index a3e582e..21f4c5f 100755 (executable)
@@ -182,10 +182,7 @@ sub do_patron_auth {
         # try to authenticate the user with a username
         $patron_id = $self-> _get_patron_id($username);
         
-        if ($patron_id < 1) {
-            # TODO: Remove/Replace the below line
-            $patron_id = 99999;
-        }
+        $logger->error("EbookAPI: Unable to get RBDigital Patron ID found for $username/$email");
     }
     return $patron_id;
 }
@@ -291,6 +288,8 @@ sub _build_search_URI {
     
     if ($sort_by ne '') {
         $sort_string = "&sort-by=$sort_by&sort-order=$sort_order";
+    } else {
+        $sort_string = '&sort-by=title'; #Default to Title sort
     }
 
     # convert book to ebook
@@ -298,7 +297,7 @@ sub _build_search_URI {
         $media_format = 'ebook';
     }
 
-    if ($media_format eq 'eaudio' || $media_format eq 'ebook') {
+    if ($media_format eq 'eaudio' || $media_format eq 'ebook' || $media_format eq '') {
         $uri = "search/$media_format?search-source=quick-all&page-size=$page_size".
             "&page-index=$page_index&all=$value_to_search&mediatype=$media_format".$sort_string;
     } elsif ($media_format eq '' && scalar (@$search_inputs) == 0) {
@@ -810,6 +809,11 @@ sub get_patron_checkouts {
     my $session_id = $self->{session_id};
     my $req;
     
+    if ($patron_id == 0) {
+        $logger->info("EbookAPI: Patron ID is 0. Returning with an API call");
+        return;
+    }
+
     $logger->info("EbookAPI: Getting checkout list for Patron: $patron_id from RBDigital.");
     $req = {
         method => 'GET',
@@ -853,6 +857,12 @@ sub get_patron_holds {
     my $base_uri = $self->{base_uri};
     my $library_id = $self->{library_id};
     my $session_id = $self->{session_id};
+
+    if ($patron_id == 0) {
+        $logger->info("EbookAPI: Patron ID is 0. Returning with an API call");
+        return;
+    }
+
     my $req = {
         method => 'GET',
         uri    => "$base_uri/libraries/$library_id/patrons/$patron_id/holds",
index 9011b33..c432060 100755 (executable)
@@ -229,7 +229,7 @@ sub load_rbdigital_results {
 
     $logger->info('EbookAPI: RBDigitalSearch Checking media type');
     # Check if RBDigital can perform requested query
-    if ($media_format eq 'eaudio' || $media_format eq 'ebook' || $media_format eq 'book' || $media_format eq 'music' || $media_format eq '') {
+    if ($media_format eq 'eaudio' || $media_format eq 'ebook' || $media_format eq 'book' || $media_format eq 'music' || $media_format eq '' ) {
         $logger->info('EbookAPI: RBDigitalSearch Invoking search method');
 
         $results = _search ($self->editor->authtoken, $session_id,
@@ -360,7 +360,7 @@ sub _get_patron_id {
         return $api_request->recv->content;
     }
     
-    return 1;
+    return 0;
 }
 
 sub _get_ebook_session_id {
index 596c82d..577d09c 100755 (executable)
@@ -18,7 +18,4 @@
         <option value='pubdate.descending'[% value == 'pubdate.descending' ? ' selected="selected"' : '' %]>[% l("Date: Newest to Oldest") %]</option>
         <option value='pubdate'[% value == 'pubdate' ? ' selected="selected"' : '' %]>[% l("Date: Oldest to Newest") %]</option>
     </optgroup>
-    <optgroup label='[% l("Sort by Popularity") %]'>
-        <option value='popularity'[% value == 'popularity' ? ' selected="selected"' : '' %]>[% l("Most Popular") %]</option>
-    </optgroup>
 </select>
index e932ef8..ce74ae8 100755 (executable)
@@ -2,7 +2,6 @@
   <!-- Modal -->
   <div id="rbdigitalRegisterModal" class="modal fade" role="dialog">
     <div class="modal-dialog">
-    
       <!-- Modal content-->
       <div class="modal-content">
         <div class="modal-header">
@@ -13,7 +12,7 @@
           <form id="frmRegisterRBDigital" role="form">
             <div class="form-group">
               <label for="usrname"><span class="glyphicon glyphicon-user"></span> Username</label>
-              <input type="text" class="form-control" id="userrname" placeholder="Enter email" value="[% ctx.user.usrname | html %]" disabled>
+              <input type="text" class="form-control" id="userrname" placeholder="Enter email" value="[% ctx.user.usrname | html; %]" disabled>
             </div>
             <div id="divPassword" class="form-group">
               <label for="psw"><span class="glyphicon glyphicon-eye-open"></span> New Password</label>
@@ -58,4 +57,6 @@
           <button id="btnCloseRegisterSuccess" type="submit" class="btn btn-danger btn-default pull-right" data-dismiss="modal"><span class="glyphicon glyphicon-remove"></span> Close</button>
         </div>
       </div>
+    </div>
+  </div>
 </div>
\ No newline at end of file
index a0693ac..64fedf7 100755 (executable)
@@ -20,9 +20,8 @@
         </div>
     </div>
     <input type="hidden" id="rbdigitalPatronId" value="[% ctx.rbdigital_patron_id %]">
-    [% IF ctx.rbdigital_patron_id == 0 %]
+    [% IF ctx.rbdigital_patron_id == 0; %]
         <!-- Load Code for displaying the password prompt -->
-        [%- INCLUDE 'opac/ebook_api/rbdigital/register_modal.tt2' %]
-    [% END;%]
-    
+        [% INCLUDE 'opac/ebook_api/rbdigital/register_modal.tt2'; %]
+    [% END; %]
 [% END; %]