Lines 61-81
sub GetMessagingPreferences {
Link Here
|
61 |
return unless exists $params->{message_name}; |
61 |
return unless exists $params->{message_name}; |
62 |
return unless exists $params->{borrowernumber} xor exists $params->{categorycode}; # yes, xor |
62 |
return unless exists $params->{borrowernumber} xor exists $params->{categorycode}; # yes, xor |
63 |
|
|
|
64 |
my $sql = <<'END_SQL'; |
63 |
my $sql = <<'END_SQL'; |
65 |
SELECT borrower_message_preferences.*, |
64 |
SELECT borrower_message_preferences.*, |
66 |
borrower_message_transport_preferences.message_transport_type, |
65 |
borrower_message_transport_preferences.message_transport_type, |
67 |
message_attributes.*, |
66 |
message_attributes.message_name, |
68 |
message_transports.* |
67 |
message_attributes.takes_days, |
69 |
FROM borrower_message_preferences |
68 |
message_transports.is_digest, |
70 |
LEFT JOIN borrower_message_transport_preferences |
69 |
message_transports.letter_module, |
71 |
ON borrower_message_transport_preferences.borrower_message_preference_id = borrower_message_preferences.borrower_message_preference_id |
70 |
message_transports.letter_code |
72 |
LEFT JOIN message_attributes |
71 |
FROM borrower_message_preferences |
73 |
ON message_attributes.message_attribute_id = borrower_message_preferences.message_attribute_id |
72 |
LEFT JOIN borrower_message_transport_preferences |
74 |
LEFT JOIN message_transports |
73 |
ON borrower_message_transport_preferences.borrower_message_preference_id = borrower_message_preferences.borrower_message_preference_id |
75 |
ON message_transports.message_attribute_id = message_attributes.message_attribute_id |
74 |
LEFT JOIN message_attributes |
76 |
AND message_transports.message_transport_type = borrower_message_transport_preferences.message_transport_type |
75 |
ON message_attributes.message_attribute_id = borrower_message_preferences.message_attribute_id |
77 |
WHERE message_attributes.message_name = ? |
76 |
LEFT JOIN message_transports |
|
|
77 |
ON message_transports.message_attribute_id = message_attributes.message_attribute_id |
78 |
AND message_transports.message_transport_type = borrower_message_transport_preferences.message_transport_type |
79 |
WHERE message_attributes.message_name = ? |
78 |
END_SQL |
80 |
END_SQL |
79 |
my @bind_params = ( $params->{'message_name'} ); |
81 |
my @bind_params = ( $params->{'message_name'} ); |
Lines 93-102
END_SQL
Link Here
|
93 |
my %transports; # helps build a list of unique message_transport_types |
95 |
my %transports; # helps build a list of unique message_transport_types |
94 |
ROW: while ( my $row = $sth->fetchrow_hashref() ) { |
96 |
ROW: while ( my $row = $sth->fetchrow_hashref() ) { |
95 |
next ROW unless $row->{'message_attribute_id'}; |
97 |
next ROW unless $row->{'message_attribute_id'}; |
96 |
# warn( Data::Dumper->Dump( [ $row ], [ 'row' ] ) ); |
|
|
97 |
$return->{'days_in_advance'} = $row->{'days_in_advance'} if defined $row->{'days_in_advance'}; |
98 |
$return->{'days_in_advance'} = $row->{'days_in_advance'} if defined $row->{'days_in_advance'}; |
98 |
$return->{'wants_digest'} = $row->{'wants_digest'} if defined $row->{'wants_digest'}; |
99 |
$return->{'wants_digest'} = $row->{'wants_digest'} if defined $row->{'wants_digest'}; |
99 |
$return->{'letter_code'} = $row->{'letter_code'}; |
100 |
$return->{'letter_code'} = $row->{'letter_code'}; |
100 |
$transports{$row->{'message_transport_type'}} = 1; |
101 |
$transports{$row->{'message_transport_type'}} = 1; |
101 |
} |
102 |
} |
102 |
@{$return->{'transports'}} = keys %transports; |
103 |
@{$return->{'transports'}} = keys %transports; |
103 |
- |
|
|