Bug 15839: Koha::Reviews - Remove getallreviews
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Tue, 16 Feb 2016 15:56:03 +0000 (15:56 +0000)
committerKyle M Hall <kyle@bywatersolutions.com>
Fri, 9 Sep 2016 10:29:57 +0000 (10:29 +0000)
Signed-off-by: Marc Veron <veron@veron.ch>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

C4/Review.pm
koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-review.tt
opac/opac-showreviews.pl
reviews/reviewswaiting.pl

index 6f40ec1..9b27c44 100644 (file)
@@ -28,7 +28,7 @@ BEGIN {
     require Exporter;
     @ISA    = qw(Exporter);
     @EXPORT = qw(getreview savereview updatereview numberofreviews numberofreviewsbybiblionumber
-      getallreviews approvereview unapprovereview deletereview);
+      approvereview unapprovereview deletereview);
 }
 
 =head1 NAME
@@ -44,7 +44,6 @@ C4::Review - Perl Module containing routines for dealing with reviews of items
   updatereview($biblionumber,$borrowernumber,$review);
   my $count=numberofreviews($status);
   my $count=numberofreviewsbybiblionumber($biblionumber);
-  my $reviews=getallreviews($status, [$offset], [$row_count]);
 
 =head1 DESCRIPTION
 
@@ -139,28 +138,6 @@ sub numberofreviewsbybiblionumber {
     return $sth->fetchrow;
 }
 
-=head2 getallreviews
-
-  my $reviews=getallreviews($status, [$offset], [$row_count]);
-
-Return all reviews where in the 'reviews' database : 'approved' = $status
-
-If offset and row_count are fiven, it's return all reviews between the
-$offset position and the ($offset + $row_count) position.
-(By default : $offset = 0 and $row_count = 20)
-
-=cut
-
-sub getallreviews {
-    my ( $status, $offset, $row_count ) = @_;
-    my @params = ( $status, ( $offset ? $offset : 0 ), ( $row_count ? $row_count : 20 ) );
-    my $dbh    = C4::Context->dbh;
-    my $query  = "SELECT * FROM reviews WHERE approved=? order by datereviewed desc LIMIT ?, ?";
-    my $sth    = $dbh->prepare($query);
-    $sth->execute(@params);
-    return $sth->fetchall_arrayref( {} );
-}
-
 =head2 approvereview
 
   approvereview($reviewid);
index c5ecd82..b6f968d 100644 (file)
@@ -62,6 +62,7 @@
     //<![CDATA[
          $(document).ready(function() {
             [% IF WINDOW_CLOSE %]
+                opener.location.reload();
                 window.close();
             [% END %]
         });
index 628fec8..69c0869 100755 (executable)
@@ -30,6 +30,7 @@ use C4::Review;
 use C4::Biblio;
 use C4::Members qw/GetMemberDetails/;
 use Koha::DateUtils;
+use Koha::Reviews;
 use POSIX qw(ceil strftime);
 
 my $template_name;
@@ -38,8 +39,7 @@ my $format = $query->param("format") || '';
 my $count = C4::Context->preference('OPACnumSearchResults') || 20;
 my $results_per_page = $query->param('count') || $count;
 my $offset = $query->param('offset') || 0;
-my $page = $query->param('page') || 1;
-$offset = ($page-1)*$results_per_page if $page>1;
+my $page = $offset / $results_per_page + 1;
 
 if ($format eq "rss") {
     $template_name = "opac-showreviews-rss.tt";
@@ -76,7 +76,14 @@ if ( C4::Context->preference('ShowReviewer') and C4::Context->preference('ShowRe
     }
 }
 
-my $reviews = getallreviews(1,$offset,$results_per_page);
+my $reviews = Koha::Reviews->search(
+    { approved => 1 },
+    {
+        rows => $results_per_page,
+        page => $page,
+        order_by => { -desc => 'datereviewed' },
+    }
+)->unblessed;
 my $marcflavour      = C4::Context->preference("marcflavour");
 my $hits = numberofreviews(1);
 my $i = 0;
index e3d6c8d..b534391 100755 (executable)
@@ -15,8 +15,7 @@
 # You should have received a copy of the GNU General Public License
 # along with Koha; if not, see <http://www.gnu.org/licenses>.
 
-use strict;
-use warnings;
+use Modern::Perl;
 
 use CGI qw ( -utf8 );
 use C4::Auth;
@@ -25,6 +24,7 @@ use C4::Context;
 use C4::Review;
 use C4::Members;
 use C4::Biblio;
+use Koha::Reviews;
 
 my $query = new CGI;
 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
@@ -43,7 +43,6 @@ my $status   = $query->param('status') || 0;
 my $reviewid = $query->param('reviewid');
 my $page     = $query->param('page') || 1;
 my $count    = C4::Context->preference('numSearchResults') || 20;
-my $offset   = ($page-1) * $count;
 my $total    = numberofreviews($status);
 
 if ( $op eq 'approve' ) {
@@ -56,7 +55,14 @@ elsif ( $op eq 'delete' ) {
     deletereview($reviewid);
 }
 
-my $reviews = getallreviews($status,$offset,$count);
+my $reviews = Koha::Reviews->search(
+    { approved => $status },
+    {
+        rows => $count,
+        page => $page,
+        order_by => { -desc => 'datereviewed' },
+    }
+)->unblessed;
 
 foreach ( @$reviews ) {
     my $borrowernumber = $_->{borrowernumber};