if ($type eq 'claimissues') {
$strsth = qq{
- SELECT serial.*,subscription.*, biblio.*, aqbooksellers.*,
+ SELECT serial.*,subscription.*, biblio.*, biblioitems.*, aqbooksellers.*,
aqbooksellers.id AS booksellerid
FROM serial
LEFT JOIN subscription ON serial.subscriptionid=subscription.subscriptionid
LEFT JOIN biblio ON serial.biblionumber=biblio.biblionumber
+ LEFT JOIN biblioitems ON serial.biblionumber = biblioitems.biblionumber
LEFT JOIN aqbooksellers ON subscription.aqbooksellerid=aqbooksellers.id
WHERE serial.serialid IN (
};
if (!@$externalid){
- carp "No Order selected";
- return { error => "no_order_selected" };
+ carp "No issues selected";
+ return { error => "no_issues_selected" };
}
$strsth .= join( ",", ('?') x @$externalid ) . ")";
- $action = "CLAIM ISSUE";
+ $action = "SERIAL CLAIM";
$sthorders = $dbh->prepare($strsth);
$sthorders->execute( @$externalid );
$dataorders = $sthorders->fetchall_arrayref( {} );
module => 'members',
letter_code => $letter_code,
branchcode => $externalid->{'branchcode'},
+ lang => $externalid->{lang} || 'default',
tables => {
'branches' => $library,
'borrowers' => $externalid->{'borrowernumber'},
my $values = $values_in ? { %$values_in } : {};
if ( $table eq 'borrowers' && $values->{'dateexpiry'} ){
- $values->{'dateexpiry'} = output_pref({ str => $values->{dateexpiry}, dateonly => 1 });
+ $values->{'dateexpiry'} = output_pref({ dt => dt_from_string( $values->{'dateexpiry'} ), dateonly => 1 });
}
if ( $table eq 'reserves' && $values->{'waitingdate'} ) {
}
$message->{to_address} = $patron->smsalertnumber; #Sometime this is set to email - sms should always use smsalertnumber
$message->{to_address} .= '@' . $sms_provider->domain();
- _update_message_to_address($message->{'message_id'},$message->{to_address});
+
+ # Check for possible from_address override
+ my $from_address = C4::Context->preference('EmailSMSSendDriverFromAddress');
+ if ($from_address && $message->{from_address} ne $from_address) {
+ $message->{from_address} = $from_address;
+ _update_message_from_address($message->{'message_id'}, $message->{from_address});
+ }
+
+ _update_message_to_address($message->{'message_id'}, $message->{to_address});
_send_message_by_email( $message, $params->{'username'}, $params->{'password'}, $params->{'method'} );
} else {
_send_message_by_sms( $message );
}
}
- my $utf8 = decode('MIME-Header', $message->{'subject'} );
- $message->{subject}= encode('MIME-Header', $utf8);
- my $subject = encode('UTF-8', $message->{'subject'});
+ # Encode subject line separately
+ $message->{subject} = encode('MIME-Header', $message->{'subject'} );
+ my $subject = $message->{'subject'};
+
my $content = encode('UTF-8', $message->{'content'});
my $content_type = $message->{'content_type'} || 'text/plain; charset="UTF-8"';
my $is_html = $content_type =~ m/html/io;
$dbh->do('UPDATE message_queue SET to_address=? WHERE message_id=?',undef,($to,$id));
}
+sub _update_message_from_address {
+ my ($message_id, $from_address) = @_;
+ my $dbh = C4::Context->dbh();
+ $dbh->do('UPDATE message_queue SET from_address = ? WHERE message_id = ?', undef, ($from_address, $message_id));
+}
+
sub _set_message_status {
my $params = shift or return;