- $lxdebug->enter_sub();
-
- $order_by = "description";
- $order_by = $form->{"order_by"} if (defined($form->{"order_by"}));
- $order_dir = 1;
- $order_dir = $form->{"order_dir"} if (defined($form->{"order_dir"}));
-
- $parts = Common->retrieve_parts(\%myconfig, $form, $order_by, $order_dir);
- map({ $parts->[$_]->{"selected"} = $_ ? 0 : 1; } (0..$#{$parts}));
- if (0 == scalar(@{$parts})) {
- $form->show_generic_information($locale->text("No part was found matching the search parameters."));
- } elsif (1 == scalar(@{$parts})) {
- $onload = "part_selected('1')";
- }
-
- my $callback = "$form->{script}?action=part_selection_internal&";
- map({ $callback .= "$_=" . $form->escape($form->{$_}) . "&" }
- (qw(login password partnumber description input_partnumber input_description input_partsid), grep({ /^[fl]_/ } keys %$form)));
-
- my @header_sort = qw(partnumber description);
- my %header_title = ( "partnumber" => $locale->text("Part Number"),
- "description" => $locale->text("Part description"),
- );
-
- my @header =
- map(+{ "column_title" => $header_title{$_},
- "column" => $_,
- "callback" => $callback . "order_by=${_}&order_dir=" . ($order_by eq $_ ? 1 - $order_dir : $order_dir),
- },
- @header_sort);
-
- $form->{"title"} = $locale->text("Select a part");
- $form->header();
- print($form->parse_html_template("generic/part_selection", { "HEADER" => \@header,
- "PARTS" => $parts,
- "onload" => $onload }));
-
- $lxdebug->leave_sub();
-}