@@ -, +, @@ --- Koha/Acquisition/Order.pm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) --- a/Koha/Acquisition/Order.pm +++ a/Koha/Acquisition/Order.pm @@ -25,6 +25,7 @@ use Koha::Acquisition::Invoices; use Koha::Database; use Koha::DateUtils qw( dt_from_string output_pref ); use Koha::Items; +use Koha::Patrons; use Koha::Subscriptions; use base qw(Koha::Object); @@ -110,6 +111,14 @@ sub add_item { $rs->create({ ordernumber => $self->ordernumber, itemnumber => $itemnumber }); } +sub add_user { + my ( $self, $borrowernumber ) = @_; + + my $schema = Koha::Database->new->schema; + my $rs = $schema->resultset('AqorderUser'); + $rs->create({ ordernumber => $self->ordernumber, borrowernumber => $borrowernumber }); +} + =head3 basket my $basket = Koha::Acquisition::Orders->find( $id )->basket; @@ -177,6 +186,13 @@ sub items { return Koha::Items->search({ itemnumber => \@itemnumbers }); } +sub users { + my ( $self ) = @_; + my $users_rs = $self->_result->aqorder_users; + my @borrowernumbers = $users_rs->get_column( 'borrowernumber' )->all; + return Koha::Patrons->search({ borrowernumber=> \@borrowernumbers }); +} + sub duplicate_to { my ( $self, $basket, $default_values ) = @_; my $new_order; @@ -221,6 +237,10 @@ sub duplicate_to { my $new_item = Koha::Item->new($item_info)->store; $new_order->add_item( $new_item->itemnumber ); } + my $users = $self->users; # Do we want ça? + while ( my ($user) = $users->next ) { + $new_order->add_user( $user->borrowernumber ); + } } ); return $new_order; --