X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fir.pl;h=4f40da73f3eaf0f5b7809dbac9496b11462a3e12;hb=98ad02ca3b8d9e9c00775b4768e7060388efbed1;hp=bb419895642d5cc20fe2c8e43a95061e22bceace;hpb=bde667c235b2347bdd1322f118b032a2f0d93367;p=kivitendo-erp.git diff --git a/bin/mozilla/ir.pl b/bin/mozilla/ir.pl index bb4198956..4f40da73f 100644 --- a/bin/mozilla/ir.pl +++ b/bin/mozilla/ir.pl @@ -32,6 +32,7 @@ #====================================================================== use SL::IR; +use SL::IS; use SL::PE; require "$form->{path}/io.pl"; @@ -239,6 +240,9 @@ sub form_header { #quote selectvendor Bug 133 $form->{"selectvendor"} = $form->quote($form->{"selectvendor"}); + #substitute \n and \r to \s (bug 543) + $form->{"selectvendor"} =~ s/[\n\r]/ /g; + $form->{exchangerate} = $form->format_amount(\%myconfig, $form->{exchangerate}); @@ -276,7 +280,8 @@ sub form_header { "all" => 0, "old_id" => \@old_project_ids }); - my (%labels, @values); + my %labels; + my @values = (undef); foreach my $item (@{ $form->{"ALL_CONTACTS"} }) { push(@values, $item->{"cp_id"}); $labels{$item->{"cp_id"}} = $item->{"cp_name"} . @@ -328,7 +333,10 @@ sub form_header { $vendor = ($form->{selectvendor}) - ? qq|\n| + ? qq|\n| : qq||; $department = qq| @@ -559,7 +567,7 @@ sub form_footer { $tax .= qq| $form->{"${item}_description"} | - . $form->{"${item}_rate"} * 100 .qq|% + . $form->{"${item}_rate"} * 100 .qq|% $form->{"${item}_total"} |; @@ -601,7 +609,7 @@ sub form_footer { $tax .= qq| Enthaltene $form->{"${item}_description"} | - . $form->{"${item}_rate"} * 100 .qq|% + . $form->{"${item}_rate"} * 100 .qq|% $form->{"${item}_total"} @@ -785,12 +793,14 @@ sub form_footer { $closedto = $form->datetonum($form->{closedto}, \%myconfig); if ($form->{id}) { + my $show_storno = !$form->{storno} && !IS->has_storno(\%myconfig, $form, "ap"); + print qq| |; print qq| -| unless ($form->{storno}); +| if ($show_storno); if ($form->{radier}) { print qq| {"description_$i"} eq "") @@ -972,6 +982,14 @@ sub storno { $form->error($locale->text('Cannot storno storno invoice!')); } + if (IS->has_storno(\%myconfig, $form, "ap")) { + $form->error($locale->text("Invoice has already been storno'd!")); + } + + invoice_links(); + prepare_invoice(); + relink_accounts(); + $form->{storno_id} = $form->{id}; $form->{storno} = 1; $form->{id} = ""; @@ -1088,7 +1106,7 @@ sub post { $form->save_history($form->dbconnect(\%myconfig)); } # /saving the history - remove_draft(); + remove_draft() if $form->{remove_draft}; $form->redirect( $locale->text('Invoice') . " $form->{invnumber} " . $locale->text('posted!'));