X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FInvoice.pm;h=7f7269923833951288cd1ef1ab740f46888b2f3c;hb=c65e0af9ad9735073fcbce56100fa81712b75659;hp=526c79159a9772fb5f424c8721d845e9767edcde;hpb=e4b4622075414d6cb13fdc7577f99a2dcd78d3c4;p=kivitendo-erp.git diff --git a/SL/DB/Invoice.pm b/SL/DB/Invoice.pm index 526c79159..7f7269923 100644 --- a/SL/DB/Invoice.pm +++ b/SL/DB/Invoice.pm @@ -40,6 +40,18 @@ __PACKAGE__->meta->add_relationship( __PACKAGE__->meta->initialize; +__PACKAGE__->before_save('_before_save_set_invnumber'); + +# hooks + +sub _before_save_set_invnumber { + my ($self) = @_; + + $self->create_trans_number if !$self->invnumber; + + return 1; +} + # methods sub items { goto &invoiceitems; } @@ -105,7 +117,7 @@ sub new_from { my %args = ( map({ ( $_ => $source->$_ ) } qw(customer_id taxincluded shippingpoint shipvia notes intnotes salesman_id cusordnumber ordnumber quonumber department_id cp_id language_id payment_id delivery_customer_id delivery_vendor_id taxzone_id shipto_id - globalproject_id transaction_description currency_id)), + globalproject_id transaction_description currency_id delivery_term_id)), transdate => DateTime->today_local, gldate => DateTime->today_local, duedate => DateTime->today_local->add(days => $terms * 1), @@ -156,7 +168,6 @@ sub post { my %data = $self->calculate_prices_and_taxes; $self->_post_create_assemblyitem_entries($data{assembly_items}); - $self->create_trans_number; $self->save; $self->_post_add_acctrans($data{amounts_cogs});