X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/879496271a8c6004a12c49d0f057ff20db0607f3..98b64fe1e380c232428d63cea0eb5f44b1d1a2c3:/bin/mozilla/io.pl diff --git a/bin/mozilla/io.pl b/bin/mozilla/io.pl index cdf43d339..3a77b09a0 100644 --- a/bin/mozilla/io.pl +++ b/bin/mozilla/io.pl @@ -604,7 +604,7 @@ sub item_selected { my @new_fields = qw(id partnumber description sellprice listprice inventory_accno - income_accno expense_accno bin unit weight assembly taxaccounts + income_accno expense_accno bin unit weight part_type taxaccounts partsgroup formel longdescription not_discountable partnotes lastcost price_factor_id price_factor); @@ -860,7 +860,7 @@ sub validate_items { if ($form->{rowcount} == 1) { flash('warning', $::locale->text('The action you\'ve chosen has not been executed because the document does not contain any item yet.')); &update; - ::end_of_request(); + $::dispatcher->end_request; } for my $i (1 .. $form->{rowcount} - 1) { @@ -888,10 +888,22 @@ sub order { $form->{old_employee_id} = $form->{employee_id}; $form->{old_salesman_id} = $form->{salesman_id}; - # link doc invoice -> quotation (single id no multi mode) - $form->{convert_from_ar_ids} = delete $form->{id}; - delete $form->{$_} foreach (qw(printed emailed queued)); + + # When creating a new sales order from a saved sales invoice, reset id, + # ordnumber, transdate and deliverydate as we are creating a new order. This + # workflow is probably mainly used as a template mechanism for creating new + # orders from existing invoices, so we probably don't want to link the items. + # Is this order function called anywhere else? + # The worksflows in oe already call sales_order and purchase_order in oe, not + # this general function which now only seems to be called from saved sales + # invoices + # Why is ordnumber set to invnumber above, does this ever make sense? + + if ( $form->{script} eq 'is.pl' && $form->{type} eq 'invoice' ) { + delete $form->{$_} foreach (qw(ordnumber id transdate deliverydate)); + }; + my $buysell; if ($form->{script} eq 'ir.pl' || $form->{type} eq 'request_quotation') { $form->{title} = $locale->text('Add Purchase Order'); @@ -954,9 +966,6 @@ sub quotation { if ($form->{type} =~ /(sales|purchase)_order/) { $form->{"converted_from_orderitems_id_$_"} = delete $form->{"orderitems_id_$_"} for 1 .. $form->{"rowcount"}; } - # link doc order -> quotation (single id no multi mode) - $form->{convert_from_oe_ids} = delete $form->{id}; - if ($form->{second_run}) { $form->{print_and_post} = 0; } @@ -1147,7 +1156,7 @@ sub print { $form->{formname} = $formname; &edit(); $::lxdebug->leave_sub(); - ::end_of_request(); + $::dispatcher->end_request; } &print_form($old_form); @@ -1591,7 +1600,7 @@ sub print_form { } call_sub($display_form); - ::end_of_request(); + $::dispatcher->end_request; } my $msg = @@ -1605,7 +1614,7 @@ sub print_form { } if ($form->{printing}) { call_sub($display_form); - ::end_of_request(); + $::dispatcher->end_request; } $main::lxdebug->leave_sub(); @@ -1958,6 +1967,7 @@ sub _make_record_item { } sub _make_record { + Form::disconnect_standard_dbh; my $class = { sales_order => 'Order', purchase_order => 'Order',