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