| 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 |