# walk through the options and update them with these borrower_preferences
my $messaging_options = C4::Members::Messaging::GetMessagingOptions();
PREF: foreach my $option ( @$messaging_options ) {
- my $pref = C4::Members::Messaging::GetMessagingPreferences( { %{ $target_params },
- message_name => $option->{'message_name'} } );
+ my $pref = C4::Members::Messaging::GetMessagingPreferences( { %{ $target_params }, message_name => $option->{'message_name'} } );
# make a hashref of the days, selecting one.
if ( $option->{'takes_days'} ) {
my $days_in_advance = $pref->{'days_in_advance'} ? $pref->{'days_in_advance'} : 0;
return unless exists $params->{message_name};
return unless exists $params->{borrowernumber} xor exists $params->{categorycode}; # yes, xor
-
my $sql = <<'END_SQL';
SELECT borrower_message_preferences.*,
borrower_message_transport_preferences.message_transport_type,
- message_attributes.*,
- message_transports.*
- FROM borrower_message_preferences
- LEFT JOIN borrower_message_transport_preferences
- ON borrower_message_transport_preferences.borrower_message_preference_id = borrower_message_preferences.borrower_message_preference_id
- LEFT JOIN message_attributes
- ON message_attributes.message_attribute_id = borrower_message_preferences.message_attribute_id
- LEFT JOIN message_transports
- ON message_transports.message_attribute_id = message_attributes.message_attribute_id
- AND message_transports.message_transport_type = borrower_message_transport_preferences.message_transport_type
- WHERE message_attributes.message_name = ?
+ message_attributes.message_name,
+ message_attributes.takes_days,
+ message_transports.is_digest,
+ message_transports.letter_module,
+ message_transports.letter_code
+FROM borrower_message_preferences
+LEFT JOIN borrower_message_transport_preferences
+ON borrower_message_transport_preferences.borrower_message_preference_id = borrower_message_preferences.borrower_message_preference_id
+LEFT JOIN message_attributes
+ON message_attributes.message_attribute_id = borrower_message_preferences.message_attribute_id
+LEFT JOIN message_transports
+ON message_transports.message_attribute_id = message_attributes.message_attribute_id
+AND message_transports.message_transport_type = borrower_message_transport_preferences.message_transport_type
+WHERE message_attributes.message_name = ?
END_SQL
my @bind_params = ( $params->{'message_name'} );
my %transports; # helps build a list of unique message_transport_types
ROW: while ( my $row = $sth->fetchrow_hashref() ) {
next ROW unless $row->{'message_attribute_id'};
- # warn( Data::Dumper->Dump( [ $row ], [ 'row' ] ) );
$return->{'days_in_advance'} = $row->{'days_in_advance'} if defined $row->{'days_in_advance'};
$return->{'wants_digest'} = $row->{'wants_digest'} if defined $row->{'wants_digest'};
- $return->{'letter_code'} = $row->{'letter_code'};
+ $return->{'letter_code'} = $row->{'letter_code'};
$transports{$row->{'message_transport_type'}} = 1;
}
@{$return->{'transports'}} = keys %transports;