X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fir.pl;h=e052258e66bd70854c34505f12056cf99f2baf65;hb=8299e7bc0d4463d5ba08e1feaccd8faa60f5c5ae;hp=11bb82c4b83bf2112c1bb2b883e516caa7e02008;hpb=d7d74aaaba5a5228a0b7c843bb6c02bf1f887802;p=kivitendo-erp.git
diff --git a/bin/mozilla/ir.pl b/bin/mozilla/ir.pl
index 11bb82c4b..e052258e6 100644
--- a/bin/mozilla/ir.pl
+++ b/bin/mozilla/ir.pl
@@ -32,11 +32,13 @@
#======================================================================
use SL::IR;
+use SL::IS;
use SL::PE;
require "$form->{path}/io.pl";
require "$form->{path}/arap.pl";
require "$form->{path}/common.pl";
+require "bin/mozilla/drafts.pl";
1;
@@ -45,6 +47,8 @@ require "$form->{path}/common.pl";
sub add {
$lxdebug->enter_sub();
+ return $lxdebug->leave_sub() if (load_draft_maybe());
+
$form->{title} = $locale->text('Add Vendor Invoice');
&invoice_links;
@@ -273,7 +277,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"} .
@@ -399,6 +404,8 @@ sub form_header {
{storno}>
{storno_id}>
+| . ($form->{saved_message} ? qq|
$form->{saved_message}
| : "") . qq|
+
$form->{title} |
@@ -554,7 +561,7 @@ sub form_footer {
$tax .= qq|
$form->{"${item}_description"} |
- . $form->{"${item}_rate"} * 100 .qq|% |
+ . $form->{"${item}_rate"} * 100 .qq|%
$form->{"${item}_total"} |
|;
@@ -596,7 +603,7 @@ sub form_footer {
$tax .= qq|
Enthaltene $form->{"${item}_description"} |
- . $form->{"${item}_rate"} * 100 .qq|% |
+ . $form->{"${item}_rate"} * 100 .qq|%
$form->{"${item}_total"} |
@@ -780,12 +787,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|
text('Post') . qq|">|;
+ . $locale->text('Post') . qq|"> | .
+ NTI($cgi->submit('-name' => 'action', '-value' => $locale->text('Save draft'),
+ '-class' => 'submit'));
}
print $form->write_trigger(\%myconfig, scalar(@triggers) / 3, @triggers) .
@@ -816,7 +827,10 @@ sub form_footer {
{path}>
{login}>
{password}>
-|;
+|
+ . $cgi->hidden('-name' => 'draft_id', '-default' => [$form->{draft_id}])
+ . $cgi->hidden('-name' => 'draft_description', '-default' => [$form->{draft_description}]);
+
# button for saving history
if($form->{id} ne "") {
print qq|
@@ -871,7 +885,7 @@ sub update {
}
$i = $form->{rowcount};
- $exchangerate = ($form->{exchangerate}) ? $form->{exchangerate} : 1;
+ $exchangerate = ($form->{exchangerate} * 1) ? $form->{exchangerate} * 1 : 1;
if ( ($form->{"partnumber_$i"} eq "")
&& ($form->{"description_$i"} eq "")
@@ -962,6 +976,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} = "";
@@ -1070,7 +1092,7 @@ sub post {
relink_accounts();
- if (IR->post_invoice(\%myconfig, \%$form)){
+ if (IR->post_invoice(\%myconfig, \%$form)){
# saving the history
if(!exists $form->{addition} && $form->{id} ne "") {
$form->{addition} = "POSTED";
@@ -1078,6 +1100,7 @@ sub post {
$form->save_history($form->dbconnect(\%myconfig));
}
# /saving the history
+ remove_draft() if $form->{remove_draft};
$form->redirect( $locale->text('Invoice')
. " $form->{invnumber} "
. $locale->text('posted!'));