X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/cff1389b37e5adfde7734718a02290421aa1bf9a..d6beac43fc50cbbe7a0655a56f60bd50726ccbf8:/bin/mozilla/ar.pl diff --git a/bin/mozilla/ar.pl b/bin/mozilla/ar.pl index 148ac0be9..a8bdc566e 100644 --- a/bin/mozilla/ar.pl +++ b/bin/mozilla/ar.pl @@ -140,6 +140,12 @@ sub display_form { $main::lxdebug->leave_sub(); } +sub _retrieve_invoice_object { + return undef if !$::form->{id}; + return $::form->{invoice_obj} if $::form->{invoice_obj} && $::form->{invoice_obj}->id == $::form->{id}; + return SL::DB::Invoice->new(id => $::form->{id})->load; +} + sub create_links { $main::lxdebug->enter_sub(); @@ -150,7 +156,7 @@ sub create_links { my %myconfig = %main::myconfig; $form->create_links("AR", \%myconfig, "customer"); - $form->{invoice_obj} = $form->{id} ? SL::DB::Invoice->new(id => $form->{id})->load : undef; + $form->{invoice_obj} = _retrieve_invoice_object(); my %saved; if (!$params{dont_save}) { @@ -218,6 +224,8 @@ sub form_header { my $locale = $main::locale; my $cgi = $::request->{cgi}; + $form->{invoice_obj} = _retrieve_invoice_object(); + my ($title, $readonly, $exchangerate, $rows); my ($notes, $department, $customer, $employee, $amount, $project); my ($ARselected);