| Lines 321-366
          sub assign_item_for_booking {
      
      
        Link Here | 
        
          | 321 |     return $bookable_items->single->itemnumber; | 321 |     return $bookable_items->single->itemnumber; | 
        
          | 322 | } | 322 | } | 
        
          | 323 |  | 323 |  | 
            
              | 324 | =head3 place_booking |  |  | 
            
              | 325 |  | 
            
              | 326 |   my $booking = $biblio->place_booking( | 
            
              | 327 |     { | 
            
              | 328 |         patron     => $patron, | 
            
              | 329 |         start_date => $datetime, | 
            
              | 330 |         end_date   => $datetime | 
            
              | 331 |     } | 
            
              | 332 |   ); | 
            
              | 333 |  | 
            
              | 334 | Add a booking for this item for the dates passed. | 
            
              | 335 |  | 
            
              | 336 | Returns the Koha::Booking object or throws an exception if the item cannot be booked for the given dates. | 
            
              | 337 |  | 
            
              | 338 | =cut | 
            
              | 339 |  | 
            
              | 340 | sub place_booking { | 
            
              | 341 |     my ( $self, $params ) = @_; | 
            
              | 342 |  | 
            
              | 343 |     # check for mandatory params | 
            
              | 344 |     my @mandatory = ( 'start_date', 'end_date', 'patron' ); | 
            
              | 345 |     for my $param (@mandatory) { | 
            
              | 346 |         unless ( defined( $params->{$param} ) ) { | 
            
              | 347 |             Koha::Exceptions::MissingParameter->throw( error => "The $param parameter is mandatory" ); | 
            
              | 348 |         } | 
            
              | 349 |     } | 
            
              | 350 |     my $patron = $params->{patron}; | 
            
              | 351 |  | 
            
              | 352 |     # New booking object | 
            
              | 353 |     my $booking = Koha::Booking->new( | 
            
              | 354 |         { | 
            
              | 355 |             start_date => $params->{start_date}, | 
            
              | 356 |             end_date   => $params->{end_date}, | 
            
              | 357 |             patron_id  => $patron->borrowernumber, | 
            
              | 358 |             biblio_id  => $self->biblionumber | 
            
              | 359 |         } | 
            
              | 360 |     )->store(); | 
            
              | 361 |     return $booking; | 
            
              | 362 | } | 
            
              | 363 |  | 
        
          | 364 | =head3 can_be_transferred | 324 | =head3 can_be_transferred | 
        
          | 365 |  | 325 |  | 
        
          | 366 | $biblio->can_be_transferred({ to => $to_library, from => $from_library }) | 326 | $biblio->can_be_transferred({ to => $to_library, from => $from_library }) |