X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FOrder.pm;h=fdaa1e8bf2f69ce65546e01ee6c71c5fcbd8a0b5;hb=332b5ec73395d63e194dd5719c77053cb3d1acb5;hp=cfe8af48c8fd310cc3107ebd6ed9d217536e9e6e;hpb=6c3afa9b81facff4307c35b8f9de6999bb5e298e;p=kivitendo-erp.git diff --git a/SL/DB/Order.pm b/SL/DB/Order.pm index cfe8af48c..fdaa1e8bf 100644 --- a/SL/DB/Order.pm +++ b/SL/DB/Order.pm @@ -47,6 +47,16 @@ __PACKAGE__->meta->add_relationship( class => 'SL::DB::Exchangerate', column_map => { currency_id => 'currency_id', transdate => 'transdate' }, }, + phone_notes => { + type => 'one to many', + class => 'SL::DB::Note', + column_map => { id => 'trans_id' }, + query_args => [ trans_module => 'oe' ], + manager_args => { + with_objects => [ 'employee' ], + sort_by => 'notes.itime', + } + }, ); SL::DB::Helper::Attr::make(__PACKAGE__, daily_exchangerate => 'numeric'); @@ -238,7 +248,7 @@ sub convert_to_invoice { my $invoice; if (!$self->db->with_transaction(sub { require SL::DB::Invoice; - $invoice = SL::DB::Invoice->new_from($self)->post(%params) || die; + $invoice = SL::DB::Invoice->new_from($self, %params)->post || die; $self->link_to_record($invoice); # TODO extend link_to_record for items, otherwise long-term no d.r.y. foreach my $item (@{ $invoice->items }) { @@ -345,7 +355,7 @@ sub new_from { my %args = ( map({ ( $_ => $source->$_ ) } qw(amount cp_id currency_id cusordnumber customer_id delivery_customer_id delivery_term_id delivery_vendor_id department_id exchangerate globalproject_id intnotes marge_percent marge_total language_id netamount notes ordnumber payment_id quonumber reqdate salesman_id shippingpoint shipvia taxincluded tax_point taxzone_id - transaction_description vendor_id + transaction_description vendor_id billing_address_id )), quotation => !!($destination_type =~ m{quotation$}), closed => 0, @@ -616,7 +626,7 @@ L. That invoice is posted, and C<$self> is linked to the new invoice via L. C<$self>'s C attribute is set to C, and C<$self> is saved. -The arguments in C<%params> are passed to L. +The arguments in C<%params> are passed to L. Returns the new invoice instance on success and C on failure. The whole process is run inside a transaction. On failure