X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/0601f32f9e782b0b93235bf7fc1e95c698163e60..763d39921a6e901b2322525404c358907036ec36:/SL/Controller/Order.pm diff --git a/SL/Controller/Order.pm b/SL/Controller/Order.pm index 2c866ce9c..9aaa1f15f 100644 --- a/SL/Controller/Order.pm +++ b/SL/Controller/Order.pm @@ -123,7 +123,7 @@ sub action_customer_vendor_changed { ->replaceWith('#order_cp_id', $self->build_contact_select) ->replaceWith('#order_shipto_id', $self->build_shipto_select) ->val('#order_taxzone_id', $self->order->{$self->cv}->taxzone_id) - ->focus('#order_cv_id') + ->focus('#order_' . $self->cv . ' _id') ->render($self); } @@ -151,7 +151,7 @@ sub action_set_item_values { my $item = SL::DB::Manager::OrderItem->find_by_or_create(id => $item_id); my $cv_class = "SL::DB::" . ucfirst($self->cv); - my $cv_discount = $::form->{cv_id}? $cv_class->new(id => $::form->{cv_id})->load->discount :0.0; + my $cv_discount = $::form->{cv_id}? $cv_class->new(id => $::form->{$self->cv . '_id'})->load->discount :0.0; $item->assign_attributes( parts_id => $part->id, @@ -255,7 +255,6 @@ sub _load_or_new_order { sub _setup { my ($self) = @_; - $::form->{order}->{ $self->cv . '_id' } = delete $::form->{order}->{cv_id} if $::form->{order}->{cv_id}; $self->order->assign_attributes(%{$::form->{order}}); # bb: todo: currency later @@ -269,16 +268,8 @@ sub _setup { tax => $tax }); } - $self->{totalweight} = 0; foreach my $item ($self->order->items) { $item->{linetotal} = _linetotal($self->order, $item); - my $item_unit = SL::DB::Manager::Unit->find_by(name => $item->unit); - my $part_unit = SL::DB::Manager::Unit->find_by(name => $item->part->unit); - my $base_qty = $item_unit->convert_to($item->qty, $part_unit); - $item->{weight} = $base_qty * $item->part->weight; - - # Calculate total weight/tare weight - $self->{totalweight} += $item->{weight}; } } @@ -297,7 +288,7 @@ sub _save { sub _pre_render { my ($self) = @_; - $self->{all_taxzones} = SL::DB::Manager::TaxZone->get_all(); + $self->{all_taxzones} = SL::DB::Manager::TaxZone->get_all_sorted(); $self->{all_employees} = SL::DB::Manager::Employee->get_all(where => [ or => [ id => $self->order->employee_id, deleted => 0 ] ], sort_by => 'name'); @@ -306,7 +297,6 @@ sub _pre_render { sort_by => 'projectnumber'); $self->{current_employee_id} = SL::DB::Manager::Employee->current->id; - $self->{show_weight} = SL::DB::Default->get()->show_weight; } # The following subs are more or less copied/pasted from SL::DB::Helper::PriceTaxCalculator.