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