->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);
}
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,
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
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};
}
}
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');
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.