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 # if these parameters are missing, we can't continue
30 for my $key (qw( basketno biblionumber budget_id )) {
31 croak "Cannot insert order: Mandatory parameter $key is missing"
35 my $schema = Koha::Database->new->schema;
36 if ( !$self->{quantity} && !$schema->resultset('Aqbasket')->find( $self->{basketno} )->is_standing ) {
37 croak "Cannot insert order: Quantity is mandatory for non-standing orders";
40 $self->{quantityreceived} ||= 0;
41 $self->{entrydate} ||=
42 output_pref( { dt => dt_from_string, dateformat => 'iso' } );
44 my @columns = $schema->source('Aqorder')->columns;
46 $self->{ordernumber} ||= undef;
48 my $rs = $schema->resultset('Aqorder')->create(
51 exists $self->{$_} ? ( $_ => $self->{$_} ) : ()
55 $self->{ordernumber} = $rs->id;
57 unless ( $self->{parent_ordernumber} ) {
58 $self->{parent_ordernumber} = $self->{ordernumber};
59 $rs->update( { parent_ordernumber => $self->{parent_ordernumber} } );
66 my ( $self, $itemnumber ) = @_;
67 my $schema = Koha::Database->new->schema;
68 my $rs = $schema->resultset('AqordersItem');
69 $rs->create({ ordernumber => $self->{ordernumber}, itemnumber => $itemnumber });
72 # TODO Move code from ModItemOrder
74 die "not implemented yet";
78 die "not implemented yet";
81 # TODO Move code from ModOrder
83 die "not implemented yet";
86 # TODO Move code from DelOrder
88 die "not implemented yet";
91 # TODO Move code from TransferOrder
93 die "not implemented yet";