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

(-)a/C4/Review.pm (-2 / +21 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
		getreviews getallreviews approvereview deletereview);
33
		getreviews getallreviews approvereview unapprovereview deletereview);
34
}
34
}
35
35
36
=head1 NAME
36
=head1 NAME
Lines 91-101 sub updatereview { Link Here
91
}
91
}
92
92
93
sub numberofreviews {
93
sub numberofreviews {
94
    my ($status) = @_;
94
    my $dbh            = C4::Context->dbh;
95
    my $dbh            = C4::Context->dbh;
95
    my $query          =
96
    my $query          =
96
      "SELECT count(*) FROM reviews WHERE approved=?";
97
      "SELECT count(*) FROM reviews WHERE approved=?";
97
    my $sth = $dbh->prepare($query);
98
    my $sth = $dbh->prepare($query);
98
    $sth->execute( 1 );
99
    $sth->execute( $status );
99
  return $sth->fetchrow;
100
  return $sth->fetchrow;
100
}
101
}
101
102
Lines 148-153 sub approvereview { Link Here
148
    $sth->execute( 1, $reviewid );
149
    $sth->execute( 1, $reviewid );
149
}
150
}
150
151
152
=head2 unapprovereview
153
154
  unapprovereview($reviewid);
155
156
Takes a reviewid and marks that review as not approved
157
158
=cut
159
160
sub unapprovereview {
161
    my ($reviewid) = @_;
162
    my $dbh        = C4::Context->dbh();
163
    my $query      = "UPDATE reviews
164
               SET approved=?
165
               WHERE reviewid=?";
166
    my $sth = $dbh->prepare($query);
167
    $sth->execute( 0, $reviewid );
168
}
169
151
=head2 deletereview
170
=head2 deletereview
152
171
153
  deletereview($reviewid);
172
  deletereview($reviewid);
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/reviews/reviewswaiting.tt (-20 / +15 lines)
Lines 1-29 Link Here
1
[% INCLUDE 'doc-head-open.inc' %]
1
[% INCLUDE 'doc-head-open.inc' %]
2
<title>Koha &rsaquo; Tools &rsaquo; Comments waiting for Approval</title>
2
<title>Koha &rsaquo; Tools &rsaquo; Comments &rsaquo; [% IF ( status ) %] Approved comments[% ELSE %] Comments awaiting moderation[% END %]</title>
3
[% INCLUDE 'doc-head-close.inc' %]
3
[% INCLUDE 'doc-head-close.inc' %]
4
<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
5
<script type="text/javascript">//<![CDATA[
6
$(document).ready(function() {
7
$.tablesorter.addParser({
8
    id: 'articles', 
9
    is: function(s) {return false;  }, 
10
    format: function(s) { return s.toLowerCase().replace(/^(the|an|a) /,''); }, 
11
    type: 'text' 
12
});
13
	$("#commentst").tablesorter({
14
		sortList: [[0,0]],
15
		headers: { 1: {sorter: 'articles'},2: { sorter: false },3: { sorter: false }}
16
	}); 
17
}); 
18
//]]>
19
</script>
20
</head>
4
</head>
21
<body>
5
<body>
22
[% INCLUDE 'header.inc' %]
6
[% INCLUDE 'header.inc' %]
23
[% INCLUDE 'cat-search.inc' %]
7
[% INCLUDE 'cat-search.inc' %]
24
8
25
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a>
9
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a>
26
&rsaquo; Comments Awaiting Moderation</div>
10
&rsaquo; <a href="/cgi-bin/koha/reviews/reviewswaiting.pl">Comments</a> &rsaquo;[% IF ( status ) %] Approved comments[% ELSE %] Comments awaiting moderation[% END %]</div>
27
11
28
<div id="doc3" class="yui-t2">
12
<div id="doc3" class="yui-t2">
29
   
13
   
Lines 33-38 $.tablesorter.addParser({ Link Here
33
17
34
<h1>Comments</h1>
18
<h1>Comments</h1>
35
19
20
<!-- The manual invoice and credit buttons -->
21
<div class="toptabs">
22
<ul class="ui-tabs-nav">
23
    [% IF ( status ) %]<li class="ui-tabs-selected">[% ELSE %]<li>[% END %]<a href="/cgi-bin/koha/reviews/reviewswaiting.pl?status=1">Approved comments</a></li>
24
    [% IF ( status ) %]<li>[% ELSE %]<li class="ui-tabs-selected">[% END %]<a href="/cgi-bin/koha/reviews/reviewswaiting.pl" >Comments awaiting moderation</a></li>
25
</ul>
26
<div class="tabs-container">
27
36
[% IF ( reviews ) %]
28
[% IF ( reviews ) %]
37
<table id="commentst">
29
<table id="commentst">
38
    <thead><tr>
30
    <thead><tr>
Lines 61-75 $.tablesorter.addParser({ Link Here
61
            [% review.review |html %]
53
            [% review.review |html %]
62
        </td>
54
        </td>
63
        <td>
55
        <td>
64
            <a href="/cgi-bin/koha/reviews/reviewswaiting.pl?op=approve&amp;reviewid=[% review.reviewid %]">Approve</a> |
56
            [% IF ( status ) %]<a href="/cgi-bin/koha/reviews/reviewswaiting.pl?op=unapprove&amp;reviewid=[% review.reviewid %]">Unapprove</a>[% ELSE %]<a href="/cgi-bin/koha/reviews/reviewswaiting.pl?op=approve&amp;reviewid=[% review.reviewid %]">Approve</a>[% END %] |
65
            <a href="/cgi-bin/koha/reviews/reviewswaiting.pl?op=delete&amp;reviewid=[% review.reviewid %]">Delete</a>
57
            <a href="/cgi-bin/koha/reviews/reviewswaiting.pl?op=delete&amp;reviewid=[% review.reviewid %]">Delete</a>
66
        </td>
58
        </td>
67
    </tr>
59
    </tr>
68
    [% END %]</tbody>
60
    [% END %]</tbody>
69
</table>
61
</table>
62
 <div class="pages">[% pagination_bar %]</div>
70
[% ELSE %]
63
[% ELSE %]
71
<b>No comments to moderate</b>
64
[% IF ( status ) %]<p><b>No comments have been approved.</b></p>[% ELSE %]<p><b>No comments to moderate.</b></p>[% END %]
72
[% END %]
65
[% END %]
66
</div>
67
</div>
73
68
74
</div>
69
</div>
75
</div>
70
</div>
(-)a/reviews/reviewswaiting.pl (-3 / +15 lines)
Lines 39-54 my ( $template, $loggedinuser, $cookie ) = get_template_and_user( Link Here
39
);
39
);
40
40
41
my $op       = $query->param('op') || '';
41
my $op       = $query->param('op') || '';
42
my $status   = $query->param('status') || 0;
42
my $reviewid = $query->param('reviewid');
43
my $reviewid = $query->param('reviewid');
44
my $offset   = $query->param('offset') || 0;
45
my $count    = C4::Context->preference('numSearchResults') || 20;
46
my $total    = numberofreviews($status);
43
47
44
if ( $op eq 'approve' ) {
48
if ( $op eq 'approve' ) {
45
    approvereview($reviewid);
49
    approvereview($reviewid);
46
}
50
}
51
elsif ( $op eq 'unapprove' ) {
52
    unapprovereview($reviewid);
53
}
47
elsif ( $op eq 'delete' ) {
54
elsif ( $op eq 'delete' ) {
48
    deletereview($reviewid);
55
    deletereview($reviewid);
49
}
56
}
50
57
51
my $reviews = getallreviews(0);
58
my $reviews = getallreviews($status,$offset,$count);
52
59
53
foreach ( @$reviews ) {
60
foreach ( @$reviews ) {
54
    my $borrowernumber = $_->{borrowernumber};
61
    my $borrowernumber = $_->{borrowernumber};
Lines 60-65 foreach ( @$reviews ) { Link Here
60
    $_->{firstname}   = $borrowerData->{'firstname'};
67
    $_->{firstname}   = $borrowerData->{'firstname'};
61
}
68
}
62
69
63
$template->param( reviews => $reviews );
70
my $url = "/cgi-bin/koha/reviews/reviewswaiting.pl?status=$status";
71
72
$template->param(
73
    status => $status,
74
    reviews => $reviews,
75
    pagination_bar => pagination_bar( $url, ( int( $total / $count ) ) + ( ( $total % $count ) > 0 ? 1 : 0 ), $offset, "offset" )
76
);
64
77
65
output_html_with_http_headers $query, $cookie, $template->output;
78
output_html_with_http_headers $query, $cookie, $template->output;
66
- 

Return to bug 1623