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