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

(-)a/circ/add_message.pl (-21 / +19 lines)
Lines 21-28 use Modern::Perl; Link Here
21
21
22
use CGI qw ( -utf8 );
22
use CGI qw ( -utf8 );
23
23
24
use C4::Auth qw( get_template_and_user );
24
use C4::Auth    qw( get_template_and_user );
25
use C4::Output qw( output_and_exit );
25
use C4::Output  qw( output_and_exit );
26
use C4::Letters qw( GetPreparedLetter EnqueueLetter );
26
use C4::Letters qw( GetPreparedLetter EnqueueLetter );
27
use Koha::Patron::Message;
27
use Koha::Patron::Message;
28
use Koha::Patrons;
28
use Koha::Patrons;
Lines 30-39 use Koha::Patrons; Link Here
30
my $input = CGI->new;
30
my $input = CGI->new;
31
31
32
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
32
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
33
    {   template_name   => "circ/circulation.tt",
33
    {
34
        query           => $input,
34
        template_name => "circ/circulation.tt",
35
        type            => "intranet",
35
        query         => $input,
36
        flagsrequired   => { borrowers => 'edit_borrowers' },
36
        type          => "intranet",
37
        flagsrequired => { borrowers => 'edit_borrowers' },
37
    }
38
    }
38
);
39
);
39
40
Lines 47-57 my $borrower_subject = $input->param('borrower_subject'); Link Here
47
my $letter_code      = $input->param('select_patron_notice');
48
my $letter_code      = $input->param('select_patron_notice');
48
my $batch            = $input->param('batch');
49
my $batch            = $input->param('batch');
49
50
50
if ( $op eq 'cud-edit_message' && $message_id) {
51
if ( $op eq 'cud-edit_message' && $message_id ) {
51
    my $message = Koha::Patron::Messages->find($message_id);
52
    my $message = Koha::Patron::Messages->find($message_id);
52
    $message->update( { message => $borrower_message } ) if $message;
53
    $message->update( { message => $borrower_message } ) if $message;
53
}
54
} elsif ( $op eq 'cud-add_message' ) {
54
elsif( $op eq 'cud-add_message' ) {
55
    if ( $message_type eq 'L' or $message_type eq 'B' ) {
55
    if ( $message_type eq 'L' or $message_type eq 'B' ) {
56
        Koha::Patron::Message->new(
56
        Koha::Patron::Message->new(
57
            {
57
            {
Lines 64-72 elsif( $op eq 'cud-add_message' ) { Link Here
64
    }
64
    }
65
65
66
    if ( $message_type eq 'E' ) {
66
    if ( $message_type eq 'E' ) {
67
        my $logged_in_patron = Koha::Patrons->find( $loggedinuser );
67
        my $logged_in_patron = Koha::Patrons->find($loggedinuser);
68
        if ( !$logged_in_patron->has_permission({ borrowers => 'send_messages_to_borrowers' }) ) {
68
        if ( !$logged_in_patron->has_permission( { borrowers => 'send_messages_to_borrowers' } ) ) {
69
            C4::Output::output_and_exit( $input, $cookie, $template, 'insufficient_permission' )
69
            C4::Output::output_and_exit( $input, $cookie, $template, 'insufficient_permission' );
70
        }
70
        }
71
71
72
        my $letter = {
72
        my $letter = {
Lines 74-96 elsif( $op eq 'cud-add_message' ) { Link Here
74
            content => $borrower_message
74
            content => $borrower_message
75
        };
75
        };
76
76
77
        my $patron = Koha::Patrons->find( $borrowernumber );
77
        my $patron = Koha::Patrons->find($borrowernumber);
78
78
79
        if ( $letter_code ) {
79
        if ($letter_code) {
80
            $letter = C4::Letters::GetPreparedLetter(
80
            $letter = C4::Letters::GetPreparedLetter(
81
                module      => 'add_message',
81
                module      => 'add_message',
82
                letter_code => $letter_code,
82
                letter_code => $letter_code,
83
                lang        => $patron->lang,
83
                lang        => $patron->lang,
84
                tables      => {
84
                tables      => { 'borrowers' => $borrowernumber },
85
                    'borrowers'   => $borrowernumber
86
                },
87
            );
85
            );
88
        }
86
        }
89
87
90
        C4::Letters::EnqueueLetter(
88
        C4::Letters::EnqueueLetter(
91
            {
89
            {
92
                letter         => $letter,
90
                letter                 => $letter,
93
                borrowernumber => $borrowernumber,
91
                borrowernumber         => $borrowernumber,
94
                message_transport_type => 'email',
92
                message_transport_type => 'email',
95
            }
93
            }
96
        ) or warn "can't enqueue letter";
94
        ) or warn "can't enqueue letter";
Lines 98-105 elsif( $op eq 'cud-add_message' ) { Link Here
98
}
96
}
99
97
100
my $url = $input->referer;
98
my $url = $input->referer;
101
if ( $url ) {
99
if ($url) {
102
    if ( $url =~ m|circulation\.pl$| ) {
100
    if ( $url =~ m|circulation\.pl$| ) {
101
103
        # Trick for POST form from batch checkouts
102
        # Trick for POST form from batch checkouts
104
        $url .= "?borrowernumber=$borrowernumber";
103
        $url .= "?borrowernumber=$borrowernumber";
105
        $url .= "&batch=1" if $batch;
104
        $url .= "&batch=1" if $batch;
106
- 

Return to bug 29393