View | Details | Raw Unified | Return to bug 15839
Collapse All | Expand All

(-)a/C4/Review.pm (-24 / +1 lines)
Lines 30-36 BEGIN { Link Here
30
    require Exporter;
30
    require Exporter;
31
    @ISA    = qw(Exporter);
31
    @ISA    = qw(Exporter);
32
    @EXPORT = qw(getreview savereview updatereview numberofreviews numberofreviewsbybiblionumber
32
    @EXPORT = qw(getreview savereview updatereview numberofreviews numberofreviewsbybiblionumber
33
      getallreviews approvereview unapprovereview deletereview);
33
      approvereview unapprovereview deletereview);
34
}
34
}
35
35
36
=head1 NAME
36
=head1 NAME
Lines 46-52 C4::Review - Perl Module containing routines for dealing with reviews of items Link Here
46
  updatereview($biblionumber,$borrowernumber,$review);
46
  updatereview($biblionumber,$borrowernumber,$review);
47
  my $count=numberofreviews($status);
47
  my $count=numberofreviews($status);
48
  my $count=numberofreviewsbybiblionumber($biblionumber);
48
  my $count=numberofreviewsbybiblionumber($biblionumber);
49
  my $reviews=getallreviews($status, [$offset], [$row_count]);
50
49
51
=head1 DESCRIPTION
50
=head1 DESCRIPTION
52
51
Lines 141-168 sub numberofreviewsbybiblionumber { Link Here
141
    return $sth->fetchrow;
140
    return $sth->fetchrow;
142
}
141
}
143
142
144
=head2 getallreviews
145
146
  my $reviews=getallreviews($status, [$offset], [$row_count]);
147
148
Return all reviews where in the 'reviews' database : 'approved' = $status
149
150
If offset and row_count are fiven, it's return all reviews between the
151
$offset position and the ($offset + $row_count) position.
152
(By default : $offset = 0 and $row_count = 20)
153
154
=cut
155
156
sub getallreviews {
157
    my ( $status, $offset, $row_count ) = @_;
158
    my @params = ( $status, ( $offset ? $offset : 0 ), ( $row_count ? $row_count : 20 ) );
159
    my $dbh    = C4::Context->dbh;
160
    my $query  = "SELECT * FROM reviews WHERE approved=? order by datereviewed desc LIMIT ?, ?";
161
    my $sth    = $dbh->prepare($query);
162
    $sth->execute(@params);
163
    return $sth->fetchall_arrayref( {} );
164
}
165
166
=head2 approvereview
143
=head2 approvereview
167
144
168
  approvereview($reviewid);
145
  approvereview($reviewid);
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-review.tt (+1 lines)
Lines 62-67 Link Here
62
    //<![CDATA[
62
    //<![CDATA[
63
         $(document).ready(function() {
63
         $(document).ready(function() {
64
            [% IF WINDOW_CLOSE %]
64
            [% IF WINDOW_CLOSE %]
65
                opener.location.reload();
65
                window.close();
66
                window.close();
66
            [% END %]
67
            [% END %]
67
        });
68
        });
(-)a/opac/opac-showreviews.pl (-3 / +10 lines)
Lines 30-35 use C4::Review; Link Here
30
use C4::Biblio;
30
use C4::Biblio;
31
use C4::Members qw/GetMemberDetails/;
31
use C4::Members qw/GetMemberDetails/;
32
use Koha::DateUtils;
32
use Koha::DateUtils;
33
use Koha::Reviews;
33
use POSIX qw(ceil strftime);
34
use POSIX qw(ceil strftime);
34
35
35
my $template_name;
36
my $template_name;
Lines 38-45 my $format = $query->param("format") || ''; Link Here
38
my $count = C4::Context->preference('OPACnumSearchResults') || 20;
39
my $count = C4::Context->preference('OPACnumSearchResults') || 20;
39
my $results_per_page = $query->param('count') || $count;
40
my $results_per_page = $query->param('count') || $count;
40
my $offset = $query->param('offset') || 0;
41
my $offset = $query->param('offset') || 0;
41
my $page = $query->param('page') || 1;
42
my $page = $offset / $results_per_page + 1;
42
$offset = ($page-1)*$results_per_page if $page>1;
43
43
44
if ($format eq "rss") {
44
if ($format eq "rss") {
45
    $template_name = "opac-showreviews-rss.tt";
45
    $template_name = "opac-showreviews-rss.tt";
Lines 76-82 if ( C4::Context->preference('ShowReviewer') and C4::Context->preference('ShowRe Link Here
76
    }
76
    }
77
}
77
}
78
78
79
my $reviews = getallreviews(1,$offset,$results_per_page);
79
my $reviews = Koha::Reviews->search(
80
    { approved => 1 },
81
    {
82
        rows => $results_per_page,
83
        page => $page,
84
        order_by => { -desc => 'datereviewed' },
85
    }
86
)->unblessed;
80
my $marcflavour      = C4::Context->preference("marcflavour");
87
my $marcflavour      = C4::Context->preference("marcflavour");
81
my $hits = numberofreviews(1);
88
my $hits = numberofreviews(1);
82
my $i = 0;
89
my $i = 0;
(-)a/reviews/reviewswaiting.pl (-5 / +10 lines)
Lines 15-22 Link Here
15
# You should have received a copy of the GNU General Public License
15
# You should have received a copy of the GNU General Public License
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
17
17
18
use strict;
18
use Modern::Perl;
19
use warnings;
20
19
21
use CGI qw ( -utf8 );
20
use CGI qw ( -utf8 );
22
use C4::Auth;
21
use C4::Auth;
Lines 25-30 use C4::Context; Link Here
25
use C4::Review;
24
use C4::Review;
26
use C4::Members;
25
use C4::Members;
27
use C4::Biblio;
26
use C4::Biblio;
27
use Koha::Reviews;
28
28
29
my $query = new CGI;
29
my $query = new CGI;
30
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
30
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
Lines 43-49 my $status = $query->param('status') || 0; Link Here
43
my $reviewid = $query->param('reviewid');
43
my $reviewid = $query->param('reviewid');
44
my $page     = $query->param('page') || 1;
44
my $page     = $query->param('page') || 1;
45
my $count    = C4::Context->preference('numSearchResults') || 20;
45
my $count    = C4::Context->preference('numSearchResults') || 20;
46
my $offset   = ($page-1) * $count;
47
my $total    = numberofreviews($status);
46
my $total    = numberofreviews($status);
48
47
49
if ( $op eq 'approve' ) {
48
if ( $op eq 'approve' ) {
Lines 56-62 elsif ( $op eq 'delete' ) { Link Here
56
    deletereview($reviewid);
55
    deletereview($reviewid);
57
}
56
}
58
57
59
my $reviews = getallreviews($status,$offset,$count);
58
my $reviews = Koha::Reviews->search(
59
    { approved => $status },
60
    {
61
        rows => $count,
62
        page => $page,
63
        order_by => { -desc => 'datereviewed' },
64
    }
65
)->unblessed;
60
66
61
foreach ( @$reviews ) {
67
foreach ( @$reviews ) {
62
    my $borrowernumber = $_->{borrowernumber};
68
    my $borrowernumber = $_->{borrowernumber};
63
- 

Return to bug 15839