SELF => $self,
);
- $self->js
- ->append('#row_table_id', $row_as_html);
+ if ($::form->{insert_before_item_id}) {
+ $self->js
+ ->before ('.row_entry:has(#item_' . $::form->{insert_before_item_id} . ')', $row_as_html);
+ } else {
+ $self->js
+ ->append('#row_table_id', $row_as_html);
+ }
if ( $item->part->is_assortment ) {
$form_attr->{qty_as_number} = 1 unless $form_attr->{qty_as_number};
ID => $item_id,
SELF => $self,
);
- $self->js
- ->append('#row_table_id', $row_as_html);
+ if ($::form->{insert_before_item_id}) {
+ $self->js
+ ->before ('.row_entry:has(#item_' . $::form->{insert_before_item_id} . ')', $row_as_html);
+ } else {
+ $self->js
+ ->append('#row_table_id', $row_as_html);
+ }
};
};
$self->js
->val('.add_item_input', '')
->run('kivi.Order.init_row_handlers')
- ->run('kivi.Order.row_table_scroll_down')
->run('kivi.Order.renumber_positions')
->focus('#add_item_parts_id_name');
+ $self->js->run('kivi.Order.row_table_scroll_down') if !$::form->{insert_before_item_id};
+
$self->js_redisplay_amounts_and_taxes;
$self->js->render();
}
SELF => $self,
);
- $self->js->append('#row_table_id', $row_as_html);
+ if ($::form->{insert_before_item_id}) {
+ $self->js
+ ->before ('.row_entry:has(#item_' . $::form->{insert_before_item_id} . ')', $row_as_html);
+ } else {
+ $self->js
+ ->append('#row_table_id', $row_as_html);
+ }
}
$self->js
->run('kivi.Order.close_multi_items_dialog')
->run('kivi.Order.init_row_handlers')
- ->run('kivi.Order.row_table_scroll_down')
->run('kivi.Order.renumber_positions')
->focus('#add_item_parts_id_name');
+ $self->js->run('kivi.Order.row_table_scroll_down') if !$::form->{insert_before_item_id};
+
$self->js_redisplay_amounts_and_taxes;
$self->js->render();
}
sub get_item_cvpartnumber {
my ($self, $item) = @_;
+ return if !$self->search_cvpartnumber;
+ return if !$self->order->customervendor;
+
if ($self->cv eq 'vendor') {
my @mms = grep { $_->make eq $self->order->customervendor->id } @{$item->part->makemodels};
$item->{cvpartnumber} = $mms[0]->model if scalar @mms;