X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=bin%2Fmozilla%2Fis.pl;h=b90209f948f79bd4edf3281eae992348b7b9fab4;hb=dc8f62cf5df4a7f8473e7d76fdd98846cea5721f;hp=0e67ed4750ab20c337b26949530390b47bd0cc4e;hpb=4cc5904b3ed7efd6a3d1c1f77ed23bf589fe7d0d;p=kivitendo-erp.git diff --git a/bin/mozilla/is.pl b/bin/mozilla/is.pl index 0e67ed475..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; @@ -89,6 +89,7 @@ sub edit { $main::lxdebug->enter_sub(); my $form = $main::form; + my $locale = $main::locale; $main::auth->assert('invoice_edit'); @@ -96,7 +97,14 @@ sub edit { $form->{javascript} = qq||; #/show hhistory button - $edit = 1; + if ($form->{type} eq "credit_note") { + $form->{title} = $locale->text('Edit Credit Note'); + $form->{title} = $locale->text('Edit Storno Credit Note') if $form->{storno}; + } else { + $form->{title} = $locale->text('Edit Sales Invoice'); + $form->{title} = $locale->text('Edit Storno Invoice') if $form->{storno}; + } + my ($language_id, $printer_id); if ($form->{print_and_post}) { $form->{action} = "print"; @@ -139,66 +147,47 @@ sub invoice_links { } } - my $payment_id; - if ($form->{payment_id}) { - $payment_id = $form->{payment_id}; - } - my $language_id; - if ($form->{language_id}) { - $language_id = $form->{language_id}; - } - my $taxzone_id; - if ($form->{taxzone_id}) { - $taxzone_id = $form->{taxzone_id}; - } - my $id; - if ($form->{id}) { - $id = $form->{id}; - } - my $shipto_id; - if ($form->{shipto_id}) { - $shipto_id = $form->{shipto_id}; - } + $form->backup_vars(qw(payment_id language_id taxzone_id salesman_id taxincluded cp_id intnotes id shipto_id)); - my $cp_id = $form->{cp_id}; IS->get_customer(\%myconfig, \%$form); #quote all_customer Bug 133 foreach my $ref (@{ $form->{all_customer} }) { $ref->{name} = $form->quote($ref->{name}); } - if ($id) { - $form->{id} = $id; + + # 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); - $form->{cp_id} = $cp_id; + $form->restore_vars(qw(payment_id language_id taxzone_id intnotes cp_id shipto_id)); + $form->restore_vars(qw(taxincluded)) if $form->{id}; + $form->restore_vars(qw(salesman_id)) if $main::editing; - if ($payment_id) { - $form->{payment_id} = $payment_id; - } - if ($language_id) { - $form->{language_id} = $language_id; - } - if ($taxzone_id) { - $form->{taxzone_id} = $taxzone_id; - } - if ($shipto_id) { - $form->{shipto_id} = $shipto_id; - } - $form->{oldcustomer} = "$form->{customer}--$form->{customer_id}"; + # build vendor/customer drop down comatibility... don't ask + if (@{ $form->{"all_customer"} }) { + $form->{"selectcustomer"} = 1; + $form->{customer} = qq|$form->{customer}--$form->{"customer_id"}|; + } - # 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}"; # forex @@ -207,41 +196,35 @@ sub invoice_links { foreach my $key (keys %{ $form->{AR_links} }) { foreach my $ref (@{ $form->{AR_links}{$key} }) { - $form->{"select$key"} .= -"\n"; + $form->{"select$key"} .= "\n"; } if ($key eq "AR_paid") { next unless $form->{acc_trans}{$key}; for my $i (1 .. scalar @{ $form->{acc_trans}{$key} }) { - $form->{"AR_paid_$i"} = - "$form->{acc_trans}{$key}->[$i-1]->{accno}--$form->{acc_trans}{$key}->[$i-1]->{description}"; + $form->{"AR_paid_$i"} = "$form->{acc_trans}{$key}->[$i-1]->{accno}--$form->{acc_trans}{$key}->[$i-1]->{description}"; # reverse paid - $form->{"paid_$i"} = $form->{acc_trans}{$key}->[$i - 1]->{amount} * -1; - $form->{"datepaid_$i"} = - $form->{acc_trans}{$key}->[$i - 1]->{transdate}; - $form->{"forex_$i"} = $form->{"exchangerate_$i"} = - $form->{acc_trans}{$key}->[$i - 1]->{exchangerate}; - $form->{"source_$i"} = $form->{acc_trans}{$key}->[$i - 1]->{source}; - $form->{"memo_$i"} = $form->{acc_trans}{$key}->[$i - 1]->{memo}; + $form->{"paid_$i"} = $form->{acc_trans}{$key}->[$i - 1]->{amount} * -1; + $form->{"datepaid_$i"} = $form->{acc_trans}{$key}->[$i - 1]->{transdate}; + $form->{"exchangerate_$i"} = $form->{acc_trans}{$key}->[$i - 1]->{exchangerate}; + $form->{"forex_$i"} = $form->{"exchangerate_$i"}; + $form->{"source_$i"} = $form->{acc_trans}{$key}->[$i - 1]->{source}; + $form->{"memo_$i"} = $form->{acc_trans}{$key}->[$i - 1]->{memo}; $form->{paidaccounts} = $i; } } else { - $form->{$key} = - "$form->{acc_trans}{$key}->[0]->{accno}--$form->{acc_trans}{$key}->[0]->{description}"; + $form->{$key} = "$form->{acc_trans}{$key}->[0]->{accno}--$form->{acc_trans}{$key}->[0]->{description}"; } - } $form->{paidaccounts} = 1 unless (exists $form->{paidaccounts}); $form->{AR} = $form->{AR_1} unless $form->{id}; - $form->{locked} = - ($form->datetonum($form->{invdate}, \%myconfig) <= - $form->datetonum($form->{closedto}, \%myconfig)); + $form->{locked} = ($form->datetonum($form->{invdate}, \%myconfig) + <= $form->datetonum($form->{closedto}, \%myconfig)); $main::lxdebug->leave_sub(); } @@ -309,31 +292,11 @@ sub form_header { $form->{employee_id} = $form->{old_employee_id} if $form->{old_employee_id}; $form->{salesman_id} = $form->{old_salesman_id} if $form->{old_salesman_id}; - if ($edit) { - if ($form->{type} eq "credit_note") { - $form->{title} = $locale->text('Edit Credit Note'); - $form->{title} = $locale->text('Edit Storno Credit Note') if $form->{storno}; - } else { - $form->{title} = $locale->text('Edit Sales Invoice'); - $form->{title} = $locale->text('Edit Storno Invoice') if $form->{storno}; - } - } $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"; - my $pjx = new CGI::Ajax( 'set_duedate' => $set_duedate_url ); - push(@ { $form->{AJAX} }, $pjx); + push @ { $form->{AJAX} }, new CGI::Ajax( 'set_duedate' => $set_duedate_url ); my @old_project_ids = ($form->{"globalproject_id"}); map { push @old_project_ids, $form->{"project_id_$_"} if $form->{"project_id_$_"}; } 1..$form->{"rowcount"}; @@ -348,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} }; @@ -358,10 +322,10 @@ sub form_header { # customer $TMPL_VAR{vc_keys} = sub { "$_[0]->{name}--$_[0]->{id}" }; $TMPL_VAR{vclimit} = $myconfig{vclimit}; - $TMPL_VAR{vc_select} = "customer_or_vendor_selection_window('$form->{vc}', '', @{[ $form->{vc} eq 'vendor' ? 1 : 0 ]}, 0)"; - push @custom_hiddens, "$form->{vc}_id"; - push @custom_hiddens, "old$form->{vc}"; - push @custom_hiddens, "select$form->{vc}"; + $TMPL_VAR{vc_select} = "customer_or_vendor_selection_window('customer', '', 0, 0)"; + push @custom_hiddens, "customer_id"; + push @custom_hiddens, "oldcustomer"; + push @custom_hiddens, "selectcustomer"; # currencies and exchangerate my @values = map { $_ } @{ $form->{ALL_CURRENCIES} }; @@ -383,20 +347,20 @@ sub form_header { $TMPL_VAR{customer_name} = $follow_up_vc; # set option selected - foreach my $item (qw(AR customer currency department employee)) { + foreach my $item (qw(AR)) { $form->{"select$item"} =~ s/ selected//; $form->{"select$item"} =~ s/option>\Q$form->{$item}\E/option selected>$form->{$item}/; } - $TMPL_VAR{is_type_credit_note} = $form->{type} eq "credit_note"; - $TMPL_VAR{is_format_html} = $form->{format} eq 'html'; - $TMPL_VAR{dateformat} = $myconfig{dateformat}; - $TMPL_VAR{numberformat} = $myconfig{numberformat}; + $TMPL_VAR{is_type_credit_note} = $form->{type} eq "credit_note"; + $TMPL_VAR{is_format_html} = $form->{format} eq 'html'; + $TMPL_VAR{dateformat} = $myconfig{dateformat}; + $TMPL_VAR{numberformat} = $myconfig{numberformat}; # hiddens - $TMPL_VAR{HIDDEN} = [qw( + $TMPL_VAR{HIDDENS} = [qw( id action type media format queued printed emailed title vc discount - creditlimit creditremaining tradediscount business closedto locked shipped storno storno_id + title creditlimit creditremaining tradediscount business closedto locked shipped storno storno_id max_dunning_level dunning_amount shiptoname shiptostreet shiptozipcode shiptocity shiptocountry shiptocontact shiptophone shiptofax shiptoemail shiptodepartment_1 shiptodepartment_2 message email subject cc bcc taxaccounts cursor_fokus @@ -407,198 +371,6 @@ sub form_header { $form->{jsscript} = 1; $form->header(); -# print qq| -#
-# -# -# -# -# -# -#