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

(-)a/Koha/Review.pm (-7 / +7 lines)
Lines 68-91 sub _type { Link Here
68
    return 'Review';
68
    return 'Review';
69
}
69
}
70
70
71
=head3 SendReviewAlert
71
=head3 send_review_alert
72
72
73
    $review->SendReviewAlert($parameters);
73
    $review->send_review_alert($parameters);
74
74
75
Queue an outgoing email alert when a borrower posts a review,
75
Queue an outgoing email alert when a borrower posts a review,
76
using the passed parameters in a hash reference.
76
using the passed parameters in a hash reference.
77
77
78
=cut
78
=cut
79
79
80
sub SendReviewAlert {
80
sub send_review_alert {
81
    my ( $self, $params ) = @_;
81
    my ( $self, $params ) = @_;
82
82
83
    my $borrowernumber = $params->{borrowernumber};
83
    my $borrowernumber = $params->{borrowernumber};
84
    my $reviewid = $params->{reviewid};
84
    my $reviewid = $params->{reviewid};
85
    my $biblionumber = $params->{biblionumber};
85
    my $biblionumber = $params->{biblionumber};
86
86
87
    my $moderatorEmail = C4::Context->preference('CommentModeratorsEmail');
87
    my $moderator_email = C4::Context->preference('CommentModeratorsEmail');
88
    unless ($moderatorEmail) {
88
    if (!$moderator_email) {
89
        carp 'CommentModeratorsEmail is not set!';
89
        carp 'CommentModeratorsEmail is not set!';
90
        return;
90
        return;
91
    }
91
    }
Lines 100-106 sub SendReviewAlert { Link Here
100
            'biblioitems' => $biblionumber,
100
            'biblioitems' => $biblionumber,
101
        }
101
        }
102
    );
102
    );
103
    unless ($letter) {
103
    if (!$letter) {
104
        carp 'COMMENT_CREATED member letter not found!';
104
        carp 'COMMENT_CREATED member letter not found!';
105
        return;
105
        return;
106
    }
106
    }
Lines 109-115 sub SendReviewAlert { Link Here
109
        letter                 => $letter,
109
        letter                 => $letter,
110
        borrowernumber         => $borrowernumber,
110
        borrowernumber         => $borrowernumber,
111
        message_transport_type => 'email',
111
        message_transport_type => 'email',
112
        to_address             => $moderatorEmail,
112
        to_address             => $moderator_email,
113
    });
113
    });
114
114
115
    return 1;
115
    return 1;
(-)a/opac/opac-review.pl (-1 / +1 lines)
Lines 106-112 if ( !@errors && $submitting ) { Link Here
106
                $affectedreview = $newreview;
106
                $affectedreview = $newreview;
107
            }
107
            }
108
            if ($reviewid) {
108
            if ($reviewid) {
109
                $affectedreview->SendReviewAlert(
109
                $affectedreview->send_review_alert(
110
                    {
110
                    {
111
                        'borrowernumber' => $borrowernumber,
111
                        'borrowernumber' => $borrowernumber,
112
                        'reviewid'       => $reviewid,
112
                        'reviewid'       => $reviewid,
(-)a/t/db_dependent/Koha/Reviews.t (-11 / +10 lines)
Lines 73-99 is( $retrieved_review_1_1->review, $new_review_1_1->review, 'Find a review by id Link Here
73
$retrieved_review_1_1->delete;
73
$retrieved_review_1_1->delete;
74
is( Koha::Reviews->search->count, $nb_of_reviews + 2, 'Delete should have deleted the review' );
74
is( Koha::Reviews->search->count, $nb_of_reviews + 2, 'Delete should have deleted the review' );
75
75
76
# Test SendReview Alert
76
# Test send_review_alert
77
77
78
# empty CommentModeratorsEmail
78
# empty CommentModeratorsEmail
79
t::lib::Mocks::mock_preference('CommentModeratorsEmail',undef);
79
t::lib::Mocks::mock_preference('CommentModeratorsEmail',undef);
80
warning_like {
80
warning_like {
81
$new_review_1_2->SendReviewAlert({
81
$new_review_1_2->send_review_alert({
82
    borrowernumber => $patron_1->{borrowernumber},
82
    borrowernumber => $patron_1->{borrowernumber},
83
    biblionumber   => $biblio_2->{biblionumber},
83
    biblionumber   => $biblio_2->{biblionumber},
84
    reviewid       => $new_review_1_2->reviewid
84
    reviewid       => $new_review_1_2->reviewid
85
}) } qr/CommentModeratorsEmail is not set!/, 'SendReviewAlert triggered expected CommentModeratorsEmail warning.';
85
}) } qr/CommentModeratorsEmail is not set!/, 'send_review_alert triggered expected CommentModeratorsEmail warning.';
86
is( Koha::Notice::Messages->search->count, $nb_of_messages, 'SendReviewAlert lacking CommentModeratorsEmail triggered nothing.' );
86
is( Koha::Notice::Messages->search->count, $nb_of_messages, 'send_review_alert lacking CommentModeratorsEmail triggered nothing.' );
87
87
88
# set CommentModeratorsEmail
88
# set CommentModeratorsEmail
89
t::lib::Mocks::mock_preference('CommentModeratorsEmail','test@test.test');
89
t::lib::Mocks::mock_preference('CommentModeratorsEmail','test@test.test');
90
warning_is {
90
warning_is {
91
$new_review_1_2->SendReviewAlert({
91
$new_review_1_2->send_review_alert({
92
    borrowernumber => $patron_1->{borrowernumber},
92
    borrowernumber => $patron_1->{borrowernumber},
93
    biblionumber   => $biblio_2->{biblionumber},
93
    biblionumber   => $biblio_2->{biblionumber},
94
    reviewid       => $new_review_1_2->reviewid
94
    reviewid       => $new_review_1_2->reviewid
95
}) } '', 'SendReviewAlert triggered no warnings as expected.';
95
}) } '', 'send_review_alert triggered no warnings as expected.';
96
is( Koha::Notice::Messages->search->count, $nb_of_messages+1, 'SendReviewAlert triggered notice.' );
96
is( Koha::Notice::Messages->search->count, $nb_of_messages+1, 'send_review_alert triggered notice.' );
97
97
98
# letter missing
98
# letter missing
99
Koha::Notice::Templates->search({
99
Koha::Notice::Templates->search({
Lines 101-114 Koha::Notice::Templates->search({ Link Here
101
    code => 'COMMENT_CREATED'
101
    code => 'COMMENT_CREATED'
102
})->delete;
102
})->delete;
103
warnings_like {
103
warnings_like {
104
$new_review_1_2->SendReviewAlert({
104
$new_review_1_2->send_review_alert({
105
    borrowernumber => $patron_1->{borrowernumber},
105
    borrowernumber => $patron_1->{borrowernumber},
106
    biblionumber   => $biblio_2->{biblionumber},
106
    biblionumber   => $biblio_2->{biblionumber},
107
    reviewid       => $new_review_1_2->reviewid
107
    reviewid       => $new_review_1_2->reviewid
108
}) }
108
}) }
109
[ qr/No members COMMENT_CREATED letter transported by email/,
109
[ qr/No members COMMENT_CREATED letter transported by email/,
110
  qr/COMMENT_CREATED member letter not found!/ ] , 'SendReviewAlert triggered expected COMMENT_CREATED warnings.';
110
  qr/COMMENT_CREATED member letter not found!/ ] , 'send_review_alert triggered expected COMMENT_CREATED warnings.';
111
is( Koha::Notice::Messages->search->count, $nb_of_messages+1, 'SendReviewAlert lacking letter triggered nothing new.' );
111
is( Koha::Notice::Messages->search->count, $nb_of_messages+1, 'send_review_alert lacking letter triggered nothing new.' );
112
112
113
$schema->storage->txn_rollback;
113
$schema->storage->txn_rollback;
114
114
115
- 

Return to bug 1985