X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fir.pl;h=4f40da73f3eaf0f5b7809dbac9496b11462a3e12;hb=860bcda0f04f99d1f832b518011eb278520f1afe;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!'));