+sub new_item {
+ $main::lxdebug->enter_sub();
+ my %params = @_;
+
+ my $form = $main::form;
+
+ # change callback
+ $form->{old_callback} = $form->escape($form->{callback}, 1);
+ $form->{callback} = $form->escape("$form->{script}?action=$params{action}", 1);
+
+ # save all form variables except action in a previousform variable
+ my $previousform = join '&', map { my $value = $form->{$_}; $value =~ s/&/%26/; "$_=$value" } grep { !/action/ } keys %$form;
+ my @HIDDENS = ();
+
+# push @HIDDENS, { 'name' => 'previousform', 'value' => $form->escape($previousform, 1) };
+ push @HIDDENS, map +{ 'name' => $_, 'value' => $form->{$_} }, qw(partnumber description unit vc sellprice ean);
+ push @HIDDENS, { 'name' => 'taxaccount2', 'value' => $form->{taxaccounts} };
+ push @HIDDENS, { 'name' => 'notes', 'value' => $form->{longdescription} };
+
+ $form->header();
+ print $form->parse_html_template("generic/new_item", { HIDDENS => [ sort { $a->{name} cmp $b->{name} } @HIDDENS ] } );
+
+ $main::lxdebug->leave_sub();
+}
+