X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=bin%2Fmozilla%2Fis.pl;h=b90209f948f79bd4edf3281eae992348b7b9fab4;hb=b71b35308c2f7c628666e4a69e6c3b90cefc5ed0;hp=258e620489720dfb3664e55517e7539ba4e14aa8;hpb=9d7c784cbec4b2d0281148376f8c287c3cd58d61;p=kivitendo-erp.git
diff --git a/bin/mozilla/is.pl b/bin/mozilla/is.pl
index 258e62048..b90209f94 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) if $form->{ordnumber};
+
+ # 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};
+
+ if ($form->{"oldcustomer"} !~ m/--\d+$/ && $form->{"customer_id"}) {
+ $form->{"oldcustomer"} .= qq|--$form->{"customer_id"}|
+ }
- # departments
-# if ($form->{all_departments}) {
-# $form->{selectdepartment} = "\n"
-# } @{ $form->{all_departments} };
-# }
+
+# $form->{oldcustomer} = "$form->{customer}--$form->{customer_id}";
+# $form->{selectcustomer} = 1;
$form->{employee} = "$form->{employee}--$form->{employee_id}";
@@ -287,16 +293,6 @@ sub form_header {
$form->{salesman_id} = $form->{old_salesman_id} if $form->{old_salesman_id};
$form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
- $form->{radier} = ($form->current_date(\%myconfig) eq $form->{gldate}) ? 1 : 0;
-
- $payment = qq||;
- foreach my $item (@{ $form->{payment_terms} }) {
- if ($form->{payment_id} eq $item->{id}) {
- $payment .= qq||;
- } else {
- $payment .= qq||;
- }
- }
my $set_duedate_url = "$form->{script}?action=set_duedate";
@@ -315,6 +311,7 @@ sub form_header {
"taxzones" => "ALL_TAXZONES",
"currencies" => "ALL_CURRENCIES",
"customers" => "ALL_CUSTOMERS",
+ "departments" => "all_departments",
"price_factors" => "ALL_PRICE_FACTORS");
$TMPL_VAR{sales_employee_labels} = sub { $_[0]->{name} || $_[0]->{login} };
@@ -414,14 +411,10 @@ sub form_footer {
}
}
- # unfortunately locales doesn't support extended syntax
+ # follow ups
if ($form->{id}) {
- my $follow_ups = FU->follow_ups('trans_id' => $form->{id});
- if (@{ $follow_ups} ) {
- $form->{follow_up_text} = $locale->text("There are #1 unfinished follow-ups of which #2 are due.",
- scalar(@{ $follow_ups }),
- sum map { $_->{due} * 1 } @{ $follow_ups });
- }
+ $form->{follow_ups} = FU->follow_ups('trans_id' => $form->{id}) || [];
+ $form->{follow_ups_unfinished} = ( sum map { $_->{due} * 1 } @{ $form->{follow_ups} } ) || 0;
}
# payments
@@ -472,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};
@@ -893,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;
@@ -924,10 +917,10 @@ sub yes {
if (IS->delete_invoice(\%myconfig, \%$form, $main::spool)) {
# saving the history
- if(!exists $form->{addition}) {
+ if(!exists $form->{addition}) {
$form->{snumbers} = qq|invnumber_| . $form->{invnumber};
- $form->{addition} = "DELETED";
- $form->save_history($form->dbconnect(\%myconfig));
+ $form->{addition} = "DELETED";
+ $form->save_history($form->dbconnect(\%myconfig));
}
# /saving the history
$form->redirect($locale->text('Invoice deleted!'));