@@ -, +, @@ --- C4/Review.pm | 23 ++++++++++++- .../prog/en/modules/reviews/reviewswaiting.tt | 35 ++++++++----------- reviews/reviewswaiting.pl | 17 ++++++++- 3 files changed, 51 insertions(+), 24 deletions(-) --- a/C4/Review.pm +++ a/C4/Review.pm @@ -30,7 +30,7 @@ BEGIN { require Exporter; @ISA = qw(Exporter); @EXPORT = qw(getreview savereview updatereview numberofreviews numberofreviewsbybiblionumber - getreviews getallreviews approvereview deletereview); + getreviews getallreviews approvereview unapprovereview deletereview); } =head1 NAME @@ -44,7 +44,8 @@ C4::Review - Perl Module containing routines for dealing with reviews of items my $review=getreview($biblionumber,$borrowernumber); savereview($biblionumber,$borrowernumber,$review); updatereview($biblionumber,$borrowernumber,$review); - my $count=numberofreviews($biblionumber); + my $count=numberofreviews($status); + my $count=numberofreviewsbybiblionumber($biblionumber); my $reviews=getreviews($biblionumber); my $reviews=getallreviews($status); @@ -150,6 +151,24 @@ sub approvereview { $sth->execute( 1, $reviewid ); } +=head2 unapprovereview + + unapprovereview($reviewid); + +Takes a reviewid and marks that review as not approved + +=cut + +sub unapprovereview { + my ($reviewid) = @_; + my $dbh = C4::Context->dbh(); + my $query = "UPDATE reviews + SET approved=? + WHERE reviewid=?"; + my $sth = $dbh->prepare($query); + $sth->execute( 0, $reviewid ); +} + =head2 deletereview deletereview($reviewid); --- a/koha-tmpl/intranet-tmpl/prog/en/modules/reviews/reviewswaiting.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/reviews/reviewswaiting.tt @@ -1,29 +1,13 @@ [% INCLUDE 'doc-head-open.inc' %] -Koha › Tools › Comments waiting for Approval +Koha › Tools › Comments › [% IF ( status ) %] Approved comments[% ELSE %] Comments awaiting moderation[% END %] [% INCLUDE 'doc-head-close.inc' %] - - [% INCLUDE 'header.inc' %] [% INCLUDE 'cat-search.inc' %] +› Comments ›[% IF ( status ) %] Approved comments[% ELSE %] Comments awaiting moderation[% END %]
@@ -33,6 +17,14 @@ $.tablesorter.addParser({

Comments

+ +
+ +
+ [% IF ( reviews ) %] @@ -61,15 +53,18 @@ $.tablesorter.addParser({ [% review.review |html %] [% END %]
- Approve | + [% IF ( status ) %]Unapprove[% ELSE %]Approve[% END %] | Delete
+
[% pagination_bar %]
[% ELSE %] -No comments to moderate +[% IF ( status ) %]

No comments have been approved.

[% ELSE %]

No comments to moderate.

[% END %] [% END %] +
+
--- a/reviews/reviewswaiting.pl +++ a/reviews/reviewswaiting.pl @@ -39,16 +39,23 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( ); my $op = $query->param('op') || ''; +my $status = $query->param('status') || 0; my $reviewid = $query->param('reviewid'); +my $offset = $query->param('offset') || 0; +my $count = C4::Context->preference('numSearchResults') || 20; +my $total = numberofreviews($status); if ( $op eq 'approve' ) { approvereview($reviewid); } +elsif ( $op eq 'unapprove' ) { + unapprovereview($reviewid); +} elsif ( $op eq 'delete' ) { deletereview($reviewid); } -my $reviews = getallreviews(0); +my $reviews = getallreviews($status,$offset,$count); foreach ( @$reviews ) { my $borrowernumber = $_->{borrowernumber}; @@ -60,6 +67,12 @@ foreach ( @$reviews ) { $_->{firstname} = $borrowerData->{'firstname'}; } -$template->param( reviews => $reviews ); +my $url = "/cgi-bin/koha/reviews/reviewswaiting.pl?status=$status"; + +$template->param( + status => $status, + reviews => $reviews, + pagination_bar => pagination_bar( $url, ( int( $total / $count ) ) + ( ( $total % $count ) > 0 ? 1 : 0 ), $offset, "offset" ) +); output_html_with_http_headers $query, $cookie, $template->output; --