1 package Koha
::Acquisition
::Order
;
6 use Koha
::DateUtils
qw( dt_from_string output_pref );
10 use base
qw( Class::Accessor );
12 # TODO fetch order from itemnumber (GetOrderFromItemnnumber)
13 # TODO Move code from GetOrder
15 my ( $class, $params ) = @_;
16 my $ordernumber = $params->{ordernumber
};
17 return unless $ordernumber;
18 my $schema = Koha
::Database
->new->schema;
21 $schema->resultset('Aqorder')->find( { ordernumber
=> $ordernumber },
22 { result_class
=> 'DBIx::Class::ResultClass::HashRefInflator' } );
23 return $class->new( $order );
29 my $schema = Koha
::Database
->new->schema;
30 # Override quantity for standing orders
31 $self->{quantity
} = 1 if ( $self->{basketno
} && $schema->resultset('Aqbasket')->find( $self->{basketno
} )->is_standing );
33 # if these parameters are missing, we can't continue
34 for my $key (qw( basketno quantity biblionumber budget_id )) {
35 croak
"Cannot insert order: Mandatory parameter $key is missing"
39 $self->{quantityreceived
} ||= 0;
40 $self->{entrydate
} ||=
41 output_pref
( { dt
=> dt_from_string
, dateformat
=> 'iso' } );
43 my @columns = $schema->source('Aqorder')->columns;
45 $self->{ordernumber
} ||= undef;
47 my $rs = $schema->resultset('Aqorder')->create(
50 exists $self->{$_} ?
( $_ => $self->{$_} ) : ()
54 $self->{ordernumber
} = $rs->id;
56 unless ( $self->{parent_ordernumber
} ) {
57 $self->{parent_ordernumber
} = $self->{ordernumber
};
58 $rs->update( { parent_ordernumber
=> $self->{parent_ordernumber
} } );
65 my ( $self, $itemnumber ) = @_;
66 my $schema = Koha
::Database
->new->schema;
67 my $rs = $schema->resultset('AqordersItem');
68 $rs->create({ ordernumber
=> $self->{ordernumber
}, itemnumber
=> $itemnumber });
71 # TODO Move code from ModItemOrder
73 die "not implemented yet";
77 die "not implemented yet";
80 # TODO Move code from ModOrder
82 die "not implemented yet";
85 # TODO Move code from DelOrder
87 die "not implemented yet";
90 # TODO Move code from TransferOrder
92 die "not implemented yet";