X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/f2354caba6501475fb0f09c8fb1fe970ea430c22..1465da30:/bin/mozilla/is.pl
diff --git a/bin/mozilla/is.pl b/bin/mozilla/is.pl
index 530c4776e..aa75ebe25 100644
--- a/bin/mozilla/is.pl
+++ b/bin/mozilla/is.pl
@@ -34,6 +34,7 @@
use SL::FU;
use SL::IS;
use SL::PE;
+use SL::OE;
use Data::Dumper;
use List::Util qw(max sum);
@@ -45,7 +46,6 @@ require "bin/mozilla/drafts.pl";
use strict;
my $edit;
-#my $payment;
my $print_post;
1;
@@ -156,6 +156,14 @@ sub invoice_links {
$ref->{name} = $form->quote($ref->{name});
}
+ # Load data for a specific order and update form fields
+ my $order_data = OE->get_order_data_by_ordnumber(%$form);
+
+ # Copy the fields we need to %form
+ for my $key (qw(payment_id salesman_id orddate taxzone_id quonumber)) {
+ $form->{$key} = $order_data->{$key};
+ }
+
$form->restore_vars(qw(id));
IS->retrieve_invoice(\%myconfig, \%$form);
@@ -163,24 +171,22 @@ sub invoice_links {
$form->restore_vars(qw(taxincluded)) if $form->{id};
$form->restore_vars(qw(salesman_id)) if $main::editing;
+
# build vendor/customer drop down comatibility... don't ask
if (@{ $form->{"all_customer"} }) {
$form->{"selectcustomer"} = 1;
$form->{customer} = qq|$form->{customer}--$form->{"customer_id"}|;
}
- $form->{oldcustomer} = "$form->{customer}--$form->{customer_id}";
- $form->{selectcustomer} = 1;
+ $form->{"oldcustomer"} = $form->{customer};
- # departments
-# if ($form->{all_departments}) {
-# $form->{selectdepartment} = "\n"
-# } @{ $form->{all_departments} };
-# }
+ if ($form->{"oldcustomer"} !~ m/--\d+$/ && $form->{"customer_id"}) {
+ $form->{"oldcustomer"} .= qq|--$form->{"customer_id"}|
+ }
+
+
+# $form->{oldcustomer} = "$form->{customer}--$form->{customer_id}";
+# $form->{selectcustomer} = 1;
$form->{employee} = "$form->{employee}--$form->{employee_id}";
@@ -408,7 +414,7 @@ sub form_footer {
# follow ups
if ($form->{id}) {
$form->{follow_ups} = FU->follow_ups('trans_id' => $form->{id}) || [];
- $form->{follow_ups_unfinished} = sum map { $_->{due} * 1 } @{ $form->{follow_ups} };
+ $form->{follow_ups_unfinished} = ( sum map { $_->{due} * 1 } @{ $form->{follow_ups} } ) || 0;
}
# payments
@@ -459,7 +465,7 @@ sub update {
my ($recursive_call) = shift;
- map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) } qw(exchangerate creditlimit creditremaining) unless $recursive_call;
+# map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) } qw(exchangerate creditlimit creditremaining) unless $recursive_call;
$form->{print_and_post} = 0 if $form->{second_run};
my $taxincluded = "checked" if $form->{taxincluded};
@@ -880,8 +886,8 @@ sub credit_note {
map { $form->{"select$_"} = "" } ($form->{vc}, 'currency');
- map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) }
- qw(creditlimit creditremaining);
+# map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) }
+# qw(creditlimit creditremaining);
my $currency = $form->{currency};
&invoice_links;