@@ -, +, @@ borrowernumber changes --- Koha/Illrequest.pm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) --- a/Koha/Illrequest.pm +++ a/Koha/Illrequest.pm @@ -1632,8 +1632,29 @@ possibly records the fact that something happened sub store { my ( $self, $attrs ) = @_; + my %updated_columns = $self->_result->get_dirty_columns; + + my @holds; + if( defined $updated_columns{'borrowernumber'} and + Koha::Patrons->find( $updated_columns{'borrowernumber'} ) ) + { + # borrowernumber has changed + my $old_illreq = $self->get_from_storage; + @holds = Koha::Holds->search( { + borrowernumber => $old_illreq->borrowernumber, + biblionumber => $self->biblio_id, + } )->as_list; + } + my $ret = $self->SUPER::store; + if ( scalar @holds ) { + # move holds to the changed borrowernumber + foreach my $hold ( @holds ) { + $hold->borrowernumber( $updated_columns{'borrowernumber'} )->store; + } + } + $attrs->{log_origin} = 'core'; if ($ret && defined $attrs) { --