]> wagnertech.de Git - mfinanz.git/blobdiff - SL/Controller/Order.pm
Auftrags-Controller: cv_id in customer_id umbenannt.
[mfinanz.git] / SL / Controller / Order.pm
index 2c866ce9c1f6cd995bfdb648e5c4e0af99c06b59..9aaa1f15f2842d0a91da52bbea40743a3e4151d0 100644 (file)
@@ -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.