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

(-)a/C4/Form/MessagingPreferences.pm (+45 lines)
Lines 148-153 PREF: foreach my $option (@$messaging_options) { Link Here
148
    $template->param( messaging_preferences => $messaging_options );
148
    $template->param( messaging_preferences => $messaging_options );
149
}
149
}
150
150
151
=head2 restore_form_values
152
153
    C4::Form::MessagingPreferences::restore_form_values({ borrowernumber => 51 }, $template, $input);
154
155
Restores patron message preferences if error occurs while creating a patron.
156
157
C<$input> is the CGI query object.
158
159
C<$template> is the Template::Toolkit object for the response.
160
161
=cut
162
163
sub restore_form_values {
164
    my ( $input, $template ) = @_;
165
    my $messaging_options = C4::Members::Messaging::GetMessagingOptions();
166
    foreach my $option (@$messaging_options) {
167
        $option->{ $option->{'message_name'} } = 1;
168
169
        my $message_attribute_id = $option->{'message_attribute_id'};
170
        if ( $option->{'takes_days'} ) {
171
            my $selected_value  = $input->param( $message_attribute_id . '-DAYS' );
172
            my $days_in_advance = $selected_value ? $selected_value : 0;
173
            $option->{days_in_advance} = $days_in_advance;
174
            @{ $option->{'select_days'} } = map {
175
                {
176
                    day      => $_,
177
                    selected => $_ == $days_in_advance
178
                }
179
            } ( 0 .. MAX_DAYS_IN_ADVANCE );
180
        }
181
182
        my @transport_types = $input->multi_param($message_attribute_id);
183
        foreach my $transport_type (@transport_types) {
184
            $option->{ 'transports_' . $transport_type } = 1;
185
        }
186
187
        if ( $option->{'has_digest'} ) {
188
            if ( List::Util::first { $_ == $message_attribute_id } $input->multi_param('digest') ) {
189
                $option->{'digest'} = 1;
190
            }
191
        }
192
    }
193
    $template->param( messaging_preferences => $messaging_options );
194
}
195
151
=head1 TODO
196
=head1 TODO
152
197
153
=over 4
198
=over 4
(-)a/members/memberentry.pl (-4 / +11 lines)
Lines 838-847 if ( C4::Context->preference('ExtendedPatronAttributes') ) { Link Here
838
}
838
}
839
839
840
if ( C4::Context->preference('EnhancedMessagingPreferences') ) {
840
if ( C4::Context->preference('EnhancedMessagingPreferences') ) {
841
    if ( $op eq 'add_form' ) {
841
    unless ( $nok && $input->param('setting_messaging_prefs') ) {
842
        C4::Form::MessagingPreferences::set_form_values( { categorycode => $categorycode }, $template );
842
        if ( $op eq 'add_form' ) {
843
            C4::Form::MessagingPreferences::set_form_values( { categorycode => $categorycode }, $template );
844
        } else {
845
            C4::Form::MessagingPreferences::set_form_values( { borrowernumber => $borrowernumber }, $template );
846
        }
843
    } else {
847
    } else {
844
        C4::Form::MessagingPreferences::set_form_values( { borrowernumber => $borrowernumber }, $template );
848
        if ( $op eq 'add_form' ) {
849
            C4::Form::MessagingPreferences::restore_form_values( $input, $template );
850
        } else {
851
            C4::Form::MessagingPreferences::restore_form_values( $input, $template );
852
        }
845
    }
853
    }
846
    $template->param( SMSSendDriver         => C4::Context->preference("SMSSendDriver") );
854
    $template->param( SMSSendDriver         => C4::Context->preference("SMSSendDriver") );
847
    $template->param( SMSnumber             => $data{'smsalertnumber'} );
855
    $template->param( SMSnumber             => $data{'smsalertnumber'} );
848
- 

Return to bug 34776