X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/ff159a4d47b9a2d10744dcfc23da2c63605c8a32..eeb5375ee7727c956cc357cc8f90b19d1bfe80b9:/SL/DB/Manager/Invoice.pm diff --git a/SL/DB/Manager/Invoice.pm b/SL/DB/Manager/Invoice.pm index 5dc943f85..39836dd6b 100644 --- a/SL/DB/Manager/Invoice.pm +++ b/SL/DB/Manager/Invoice.pm @@ -16,11 +16,14 @@ sub type_filter { my $type = lc(shift || ''); return (or => [ invoice => 0, invoice => undef ]) if $type eq 'ar_transaction'; + return (type => 'invoice_for_advance_payment' ) if $type eq 'invoice_for_advance_payment'; + return (and => [ type => 'invoice_for_advance_payment', amount => { lt => 0 } ]) if $type eq 'invoice_for_advance_payment_storno'; + return (type => 'final_invoice' ) if $type eq 'final_invoice'; return (and => [ invoice => 1, amount => { ge => 0 }, or => [ storno => 0, storno => undef ] ]) if $type =~ m/^(?:sales_)?invoice$/; return (and => [ invoice => 1, amount => { lt => 0 }, or => [ storno => 0, storno => undef ] ]) if $type eq 'credit_note'; return (and => [ invoice => 1, amount => { lt => 0 }, storno => 1 ]) if $type =~ m/(?:invoice_)?storno/; return (and => [ invoice => 1, amount => { ge => 0 }, storno => 1 ]) if $type eq 'credit_note_storno'; - return (amount => {gt => 'paid'}) if $type eq 'open'; + return (amount => {gt => \'paid'}) if $type eq 'open'; die "Unknown type $type"; }