use SL::Locale::String qw(t8);
use SL::JSON;
use List::Util qw(sum);
+use List::UtilsBy qw(extract_by);
use SL::Helper::Flash;
use Data::Dumper;
use DateTime;
$params{CUSTOM_VARIABLES} = CVar->get_custom_variables(module => 'IC', trans_id => $self->part->id);
- CVar->render_inputs('variables' => $params{CUSTOM_VARIABLES}, show_disabled_message => 1, partsgroup_id => $self->part->partsgroup_id)
- if (scalar @{ $params{CUSTOM_VARIABLES} });
+ if (scalar @{ $params{CUSTOM_VARIABLES} }) {
+ CVar->render_inputs('variables' => $params{CUSTOM_VARIABLES}, show_disabled_message => 1, partsgroup_id => $self->part->partsgroup_id);
+ $params{CUSTOM_VARIABLES_FIRST_TAB} = [];
+ @{ $params{CUSTOM_VARIABLES_FIRST_TAB} } = extract_by { $_->{first_tab} == 1 } @{ $params{CUSTOM_VARIABLES} };
+ }
my %title_hash = ( part => t8('Edit Part'),
assembly => t8('Edit Assembly'),
}
sub action_multi_items_update_result {
- my $max_count = 100;
+ my $max_count = $::form->{limit};
my $count = $_[0]->multi_items_models->count;
if ($count == 0) {
my $text = escape($::locale->text('No results.'));
$_[0]->render($text, { layout => 0 });
- } elsif ($count > $max_count) {
+ } elsif ($max_count && $count > $max_count) {
my $text = escape($::locale->text('Too many results (#1 from #2).', $count, $max_count));
$_[0]->render($text, { layout => 0 });
} else {
die unless ref($self->warehouse) eq 'SL::DB::Warehouse';
if ( $self->warehouse->id and @{$self->warehouse->bins} ) {
- $self->bin($self->warehouse->bins->[0]);
+ $self->bin($self->warehouse->bins_sorted->[0]);
$self->js
->html('#bin', $self->build_bin_select)
->focus('#part_bin_id');
}
sub build_bin_select {
- select_tag('part.bin_id', [ $_[0]->warehouse->bins ],
+ select_tag('part.bin_id', [ @{ $_[0]->warehouse->bins_sorted } ],
title_key => 'description',
default => $_[0]->bin->id,
);