View | Details | Raw Unified | Return to bug 4254
Collapse All | Expand All

(-)a/C4/Form/MessagingPreferences.pm (-2 / +1 lines)
Lines 121-128 sub set_form_values { Link Here
121
    # walk through the options and update them with these borrower_preferences
121
    # walk through the options and update them with these borrower_preferences
122
    my $messaging_options = C4::Members::Messaging::GetMessagingOptions();
122
    my $messaging_options = C4::Members::Messaging::GetMessagingOptions();
123
    PREF: foreach my $option ( @$messaging_options ) {
123
    PREF: foreach my $option ( @$messaging_options ) {
124
        my $pref = C4::Members::Messaging::GetMessagingPreferences( { %{ $target_params },
124
        my $pref = C4::Members::Messaging::GetMessagingPreferences( { %{ $target_params }, message_name => $option->{'message_name'} } );
125
                                                                    message_name       => $option->{'message_name'} } );
126
        # make a hashref of the days, selecting one.
125
        # make a hashref of the days, selecting one.
127
        if ( $option->{'takes_days'} ) {
126
        if ( $option->{'takes_days'} ) {
128
            my $days_in_advance = $pref->{'days_in_advance'} ? $pref->{'days_in_advance'} : 0;
127
            my $days_in_advance = $pref->{'days_in_advance'} ? $pref->{'days_in_advance'} : 0;
(-)a/C4/Members/Messaging.pm (-17 / +17 lines)
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
-

Return to bug 4254