Lines 183-223
END_SQL
Link Here
|
183 |
return; |
183 |
return; |
184 |
} |
184 |
} |
185 |
|
185 |
|
186 |
=head2 SetMessagingPreferencesFromDefaults |
|
|
187 |
|
188 |
C4::Members::Messaging::SetMessagingPreferencesFromDefaults( { borrowernumber => $borrower->{'borrowernumber'} |
189 |
categorycode => 'CPL' } ); |
190 |
|
191 |
Given a borrowernumber and a patron category code (from the C<borrowernumber> and C<categorycode> keys |
192 |
in the parameter hashref), replace all of the patron's current messaging preferences with |
193 |
whatever defaults are defined for the patron category. |
194 |
|
195 |
=cut |
196 |
|
197 |
sub SetMessagingPreferencesFromDefaults { |
198 |
my $params = shift; |
199 |
|
200 |
foreach my $required ( qw( borrowernumber categorycode ) ) { |
201 |
unless ( exists $params->{ $required } ) { |
202 |
die "SetMessagingPreferencesFromDefaults called without required parameter: $required"; |
203 |
} |
204 |
} |
205 |
|
206 |
my $messaging_options = Koha::Patron::MessagePreferences->get_options; |
207 |
OPTION: foreach my $option ( @$messaging_options ) { |
208 |
my $default_pref = GetMessagingPreferences( { categorycode => $params->{categorycode}, |
209 |
message_name => $option->{'message_name'} } ); |
210 |
# FIXME - except for setting the borrowernumber, it really ought to be possible |
211 |
# to have the output of GetMessagingPreferences be able to be the input |
212 |
# to SetMessagingPreference |
213 |
my @message_transport_types = keys %{ $default_pref->{transports} }; |
214 |
$default_pref->{message_attribute_id} = $option->{'message_attribute_id'}; |
215 |
$default_pref->{message_transport_types} = \@message_transport_types; |
216 |
$default_pref->{borrowernumber} = $params->{borrowernumber}; |
217 |
SetMessagingPreference( $default_pref ); |
218 |
} |
219 |
} |
220 |
|
221 |
=head1 TABLES |
186 |
=head1 TABLES |
222 |
|
187 |
|
223 |
=head2 message_queue |
188 |
=head2 message_queue |