| Lines 198-208
          sub message_transport_types {
      
      
        Link Here | 
        
          | 198 |         if ($self->{'_message_transport_types'}) { | 198 |         if ($self->{'_message_transport_types'}) { | 
        
          | 199 |             return $self->{'_message_transport_types'}; | 199 |             return $self->{'_message_transport_types'}; | 
        
          | 200 |         } | 200 |         } | 
          
            
              | 201 |         map { $self->{'_message_transport_types'}->{$_->message_transport_type} = | 201 |         map { | 
            
              | 202 |                 Koha::Patron::Message::Transports->find({ | 202 |             my $transport = Koha::Patron::Message::Transports->find({ | 
            
              | 203 |                     message_attribute_id => $self->message_attribute_id, | 203 |                 message_attribute_id => $self->message_attribute_id, | 
            
              | 204 |                     message_transport_type => $_->message_transport_type, | 204 |                 message_transport_type => $_->message_transport_type, | 
            
              | 205 |                     is_digest => $self->wants_digest})->letter_code } | 205 |                 is_digest => $self->wants_digest | 
            
              |  |  | 206 |             }); | 
            
              | 207 |             unless ($transport) { | 
            
              | 208 |                 my $logger = Koha::Logger->get; | 
            
              | 209 |                 $logger->warn( | 
            
              | 210 |                     $self->message_name . ' has no transport with '. | 
            
              | 211 |                     $_->message_transport_type . ' (digest: '. | 
            
              | 212 |                     ($self->wants_digest ? 'yes':'no').').' | 
            
              | 213 |                 ); | 
            
              | 214 |             } | 
            
              | 215 |             $self->{'_message_transport_types'}->{$_->message_transport_type} | 
            
              | 216 |                 = $transport ? $transport->letter_code : ' '; | 
            
              | 217 |         } | 
        
          | 206 |         Koha::Patron::Message::Transport::Preferences->search({ | 218 |         Koha::Patron::Message::Transport::Preferences->search({ | 
        
          | 207 |             borrower_message_preference_id => $self->borrower_message_preference_id, | 219 |             borrower_message_preference_id => $self->borrower_message_preference_id, | 
        
          | 208 |         })->as_list; | 220 |         })->as_list; | 
  
    | Lines 354-360
          sub validate {
      
      
        Link Here | 
        
          | 354 |     if (defined $self->wants_digest) { | 366 |     if (defined $self->wants_digest) { | 
        
          | 355 |         my $transports = Koha::Patron::Message::Transports->search({ | 367 |         my $transports = Koha::Patron::Message::Transports->search({ | 
        
          | 356 |             message_attribute_id => $self->message_attribute_id, | 368 |             message_attribute_id => $self->message_attribute_id, | 
          
            
              | 357 |             is_digest            => $self->wants_digest, | 369 |             is_digest            => $self->wants_digest ? 1 : 0, | 
        
          | 358 |         }); | 370 |         }); | 
        
          | 359 |         Koha::Exceptions::BadParameter->throw( | 371 |         Koha::Exceptions::BadParameter->throw( | 
        
          | 360 |             error => (!$self->wants_digest ? 'No d' : 'D').'igest not available '. | 372 |             error => (!$self->wants_digest ? 'No d' : 'D').'igest not available '. | 
  
    | Lines 377-387
          sub _set_message_transport_types {
      
      
        Link Here | 
        
          | 377 |     $self->_validate_message_transport_types({ message_transport_types => $types }); | 389 |     $self->_validate_message_transport_types({ message_transport_types => $types }); | 
        
          | 378 |     foreach my $type (@$types) { | 390 |     foreach my $type (@$types) { | 
        
          | 379 |         unless (exists $self->{'_message_transport_types'}->{$type}) { | 391 |         unless (exists $self->{'_message_transport_types'}->{$type}) { | 
          
            
              | 380 |             $self->{'_message_transport_types'}->{$type} = | 392 |             my $transport = Koha::Patron::Message::Transports->find({ | 
            
              | 381 |             Koha::Patron::Message::Transports->find({ |  |  | 
        
          | 382 |                 message_attribute_id => $self->message_attribute_id, | 393 |                 message_attribute_id => $self->message_attribute_id, | 
        
          | 383 |                 message_transport_type => $type, | 394 |                 message_transport_type => $type, | 
          
            
              | 384 |                 is_digest => $self->wants_digest})->letter_code; | 395 |                 is_digest => $self->wants_digest | 
            
              |  |  | 396 |             }); | 
            
              | 397 |             unless ($transport) { | 
            
              | 398 |                 Koha::Exceptions::ObjectNotFound->throw( | 
            
              | 399 |                     error => 'No transport configured for '. | 
            
              | 400 |                         $type . ' (digest: '. | 
            
              | 401 |                         ($self->wants_digest ? 'yes':'no').').' | 
            
              | 402 |                 ); | 
            
              | 403 |             } | 
            
              | 404 |             $self->{'_message_transport_types'}->{$type} | 
            
              | 405 |                 = $transport->letter_code; | 
        
          | 385 |         } | 406 |         } | 
        
          | 386 |     } | 407 |     } | 
        
          | 387 |     return $self; | 408 |     return $self; | 
  
    | Lines 405-423
          sub _validate_message_transport_types {
      
      
        Link Here | 
        
          | 405 |                     parameter => 'message_transport_type', | 426 |                     parameter => 'message_transport_type', | 
        
          | 406 |                 ); | 427 |                 ); | 
        
          | 407 |             } | 428 |             } | 
            
              | 408 |             my $tmp = (ref($self) eq __PACKAGE__) ? $self->unblessed : $params; |  |  | 
            
              | 409 |             unless (Koha::Patron::Message::Transports->find({ | 
            
              | 410 |                     message_transport_type => $type, | 
            
              | 411 |                     message_attribute_id => $tmp->{'message_attribute_id'}, | 
            
              | 412 |                     is_digest => $tmp->{'wants_digest'}, | 
            
              | 413 |             })) { | 
            
              | 414 |                 Koha::Exceptions::BadParameter->throw( | 
            
              | 415 |                     error => "Message transport option '$type' (". | 
            
              | 416 |                     ($tmp->{'wants_digest'} ? 'digest':'no digest').") for ". | 
            
              | 417 |                     $self->message_name . 'does not exist', | 
            
              | 418 |                     parameter => 'message_transport_type', | 
            
              | 419 |                 ); | 
            
              | 420 |             } | 
        
          | 421 |         } | 429 |         } | 
        
          | 422 |         return $types; | 430 |         return $types; | 
        
          | 423 |     } | 431 |     } |