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 |
- |
|
|