X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fio.pl;h=5f393936d64e19c7dd41c15dd0904cc52ea8d38a;hb=dd9d8ebf1c16c9ba6dc92c77df52e72c76070233;hp=1cf2d9c7bbcf300a0ccce140233ea73980541606;hpb=cac65c52954be692d086e2af17fd2a079f361ab5;p=kivitendo-erp.git diff --git a/bin/mozilla/io.pl b/bin/mozilla/io.pl index 1cf2d9c7b..5f393936d 100644 --- a/bin/mozilla/io.pl +++ b/bin/mozilla/io.pl @@ -33,7 +33,12 @@ # ####################################################################### +use SL::CT; use SL::IC; +use CGI::Ajax; +use CGI; + +require "$form->{path}/common.pl"; # any custom scripts for this one if (-f "$form->{path}/custom_io.pl") { @@ -85,6 +90,7 @@ use Data::Dumper; sub display_row { $lxdebug->enter_sub(); my $numrows = shift; + if ($lizenzen && $form->{vc} eq "customer") { if ($form->{type} =~ /sales_order/) { @column_index = (runningnumber, partnumber, description, ship, qty); @@ -192,9 +198,20 @@ sub display_row { . qq||; ############## ENDE Neueintrag ################## + $myconfig{"show_form_details"} = 1 + unless (defined($myconfig{"show_form_details"})); + $form->{"show_details"} = $myconfig{"show_form_details"} + unless (defined($form->{"show_details"})); + $form->{"show_details"} = $form->{"show_details"} ? 1 : 0; + my $show_details_new = 1 - $form->{"show_details"}; + my $show_details_checked = $form->{"show_details"} ? "checked" : ""; + print qq| + + +
|; @@ -433,9 +450,13 @@ sub display_row { # Eintrag fuer Version 2.2.0 geaendert # # neue Optik im Rechnungsformular # ######################################## + + my $row_style_attr = + 'style="display:none;"' if (!$form->{"show_details"}); + # print second row print qq| - + |; $column_data{partnumber} = @@ -557,7 +578,8 @@ sub select_item { qq||; $column_data{onhand} = qq||; - + $column_data{unit} = + qq||; # list items with radio button on a form $form->header; @@ -615,7 +637,8 @@ sub select_item { qq||; - + $column_data{unit} = + qq||; $j++; $j %= 2; print qq| @@ -1165,6 +1188,13 @@ sub order { \%myconfig, $form->{currency}, $form->{transdate}, $buysell ))); + for $i (1 .. $form->{rowcount}) { + map({ $form->{"${_}_${i}"} = $form->parse_amount(\%myconfig, + $form->{"${_}_${i}"}) + if ($form->{"${_}_${i}"}) } + qw(ship qty sellprice listprice basefactor)); + } + &prepare_order; &display_form; @@ -1218,12 +1248,23 @@ sub quotation { \%myconfig, $form->{currency}, $form->{transdate}, $buysell ))); + for $i (1 .. $form->{rowcount}) { + map({ $form->{"${_}_${i}"} = $form->parse_amount(\%myconfig, + $form->{"${_}_${i}"}) + if ($form->{"${_}_${i}"}) } + qw(ship qty sellprice listprice basefactor)); + } + &prepare_order; &display_form; $lxdebug->leave_sub(); } +sub request_for_quotation { + quotation(); +} + sub e_mail { $lxdebug->enter_sub(); if ($form->{second_run}) { @@ -1241,6 +1282,11 @@ sub e_mail { $form->{email} = $form->{shiptoemail} if $form->{shiptoemail}; } + if ($form->{"cp_id"} && !$form->{"email"}) { + CT->get_contact(\%myconfig, $form); + $form->{"email"} = $form->{"cp_email"}; + } + $name = $form->{ $form->{vc} }; $name =~ s/--.*//g; $title = $locale->text('E-mail') . " $name"; @@ -1342,7 +1388,16 @@ sub send_email { sub print_options { $lxdebug->enter_sub(); $form->{sendmode} = "attachment"; - $form->{copies} = 3 unless $form->{copies}; + + $form->{"format"} = + $form->{"format"} ? $form->{"format"} : + $myconfig{"template_format"} ? $myconfig{"template_format"} : + "pdf"; + + $form->{"copies"} = + $form->{"copies"} ? $form->{"copies"} : + $myconfig{"copies"} ? $myconfig{"copies"} : + 3; $form->{PD}{ $form->{formname} } = "selected"; $form->{DF}{ $form->{format} } = "selected"; @@ -1453,7 +1508,7 @@ sub print_options { $format .= qq||; - if ($latex) { + if ($latex_templates) { $format .= qq||; } @@ -1740,7 +1795,7 @@ sub print_form { $language_saved = $form->{language_id}; $payment_id_saved = $form->{payment_id}; - &{"$form->{vc}_details"}; + &{"$form->{vc}_details"}(); $form->{language_id} = $language_saved; $form->{payment_id} = $payment_id_saved; @@ -1749,9 +1804,14 @@ sub print_form { $form->{"cc"} = $saved_cc if ($saved_cc); $form->{"bcc"} = $saved_bcc if ($saved_bcc); - # format payment dates - for $i (1 .. $form->{paidaccounts} - 1) { - $form->{"datepaid_$i"} = $locale->date(\%myconfig, $form->{"datepaid_$i"}); + my ($language_tc, $output_numberformat, $output_dateformat, $output_longdates); + if ($form->{"language_id"}) { + ($language_tc, $output_numberformat, $output_dateformat, $output_longdates) = + AM->get_language_details(\%myconfig, $form, $form->{language_id}); + } else { + $output_dateformat = $myconfig{"dateformat"}; + $output_numberformat = $myconfig{"numberformat"}; + $output_longdates = 1; } ($form->{employee}) = split /--/, $form->{employee}; @@ -1764,17 +1824,6 @@ sub print_form { IS->invoice_details(\%myconfig, \%$form, $locale); } - # format global dates - map { $form->{$_} = $locale->date(\%myconfig, $form->{$_}, 1) } - ("${inv}date", "${due}date", "shippingdate", "deliverydate"); - - # format item dates - for my $field (qw(transdate_oe deliverydate_oe)) { - map { - $form->{$field}[$_] = $locale->date(\%myconfig, $form->{$field}[$_], 1); - } 0 .. $#{ $form->{$field} }; - } - if ($form->{shipto_id}) { $form->get_shipto(\%myconfig); } @@ -1796,24 +1845,59 @@ sub print_form { || $form->{formname} eq 'request_quotation') { $form->{shiptoname} = $myconfig{company}; $form->{shiptostreet} = $myconfig{address}; - } else { + } else { map { $form->{"shipto$_"} = $form->{$_} } @a; } } $form->{notes} =~ s/^\s+//g; - map({ $form->{$_} =~ s/\\n/\n/g; } qw(company address)); - $form->{templates} = "$myconfig{templates}"; $form->{language} = $form->get_template_language(\%myconfig); $form->{printer_code} = $form->get_printer_code(\%myconfig); if ($form->{language} ne "") { + map({ $form->{"unit"}->[$_] = + AM->translate_units($form, $form->{"language"}, + $form->{"unit"}->[$_], $form->{"qty"}->[$_]); } + (0..scalar(@{$form->{"unit"}}) - 1)); $form->{language} = "_" . $form->{language}; } + # Format dates. + format_dates($output_dateformat, $output_longdates, + qw(invdate orddate quodate pldate duedate reqdate transdate + shippingdate deliverydate validitydate paymentdate + datepaid transdate_oe deliverydate_oe + employee_startdate employee_enddate + ), + grep({ /^datepaid_\d+$/ || + /^transdate_oe_\d+$/ || + /^deliverydate_oe_\d+$/ || + /^reqdate_\d+$/ || + /^deliverydate_\d+$/ || + /^transdate_\d+$/ + } keys(%{$form}))); + + reformat_numbers($output_numberformat, 2, + qw(invtotal ordtotal quototal subtotal linetotal + listprice sellprice netprice discount + tax taxbase), + grep({ /^linetotal_\d+$/ || + /^listprice_\d+$/ || + /^sellprice_\d+$/ || + /^netprice_\d+$/ || + /^taxbase_\d+$/ || + /^discount_\d+$/ || + /^tax_\d+$/ + } keys(%{$form}))); + + reformat_numbers($output_numberformat, undef, + qw(qty), + grep({ /^qty_\d+$/ + } keys(%{$form}))); + if ($form->{printer_code} ne "") { $form->{printer_code} = "_" . $form->{printer_code}; } @@ -1932,14 +2016,14 @@ sub print_form { sub customer_details { $lxdebug->enter_sub(); - IS->customer_details(\%myconfig, \%$form); + IS->customer_details(\%myconfig, \%$form, @_); $lxdebug->leave_sub(); } sub vendor_details { $lxdebug->enter_sub(); - IR->vendor_details(\%myconfig, \%$form); + IR->vendor_details(\%myconfig, \%$form, @_); $lxdebug->leave_sub(); } @@ -1967,8 +2051,17 @@ sub ship_to { map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) } qw(exchangerate creditlimit creditremaining); + my @shipto_vars = + qw(shiptoname shiptostreet shiptozipcode shiptocity shiptocountry + shiptocontact shiptophone shiptofax shiptoemail + shiptodepartment_1 shiptodepartment_2); + + my @addr_vars = + (qw(name department_1 department_2 street zipcode city country + contact email phone fax)); + # get details for name - &{"$form->{vc}_details"}; + &{"$form->{vc}_details"}(@addr_vars); $number = ($form->{vc} eq 'customer') @@ -2049,12 +2142,12 @@ sub ship_to { - + - + @@ -2071,8 +2164,7 @@ sub ship_to { |; # delete shipto - map { delete $form->{$_} } - qw(shiptoname shiptostreet shiptozipcode shiptocity shiptocountry shiptocontact shiptophone shiptofax shiptoemail shiptodepartment_1 shiptodepartment_2 header); + map({ delete $form->{$_} } (@shipto_vars, qw(header))); $form->{title} = $title; foreach $key (keys %$form) { @@ -2144,11 +2236,26 @@ sub relink_accounts { } $form->{"taxaccounts"} = ""; - for ($i = 1; $i <= $form->{"rowcount"}; $i++) { + for (my $i = 1; $i <= $form->{"rowcount"}; $i++) { if ($form->{"id_$i"}) { - IC->retrieve_taxaccounts(\%myconfig, $form, $form->{"id_$i"}, $i, 1); + IC->retrieve_accounts(\%myconfig, $form, $form->{"id_$i"}, $i, 1); } } $lxdebug->leave_sub(); } + + +sub set_duedate { + $lxdebug->enter_sub(); + + $form->get_duedate(\%myconfig); + + my $q = new CGI; + $result = "$form->{duedate}"; + print $q->header(); + print $result; + $lxdebug->leave_sub(); + +} +
|; if ($lizenzen && $form->{type} eq "invoice" && $form->{vc} eq "customer") { @@ -546,7 +567,7 @@ sub set_pricegroup { sub select_item { $lxdebug->enter_sub(); - @column_index = qw(ndx partnumber description onhand sellprice); + @column_index = qw(ndx partnumber description onhand unit sellprice); $column_data{ndx} = qq| | . $locale->text('Price') . qq|| . $locale->text('Qty') . qq|| . $locale->text('Unit') . qq|{onhand}>| . $form->format_amount(\%myconfig, $ref->{onhand}, '', " ") . qq|$ref->{unit}
| . $locale->text('Phone') . qq|$form->{"$form->{vc}phone"}$form->{phone}
| . $locale->text('Fax') . qq|$form->{"$form->{vc}fax"}$form->{fax}