Part-Controller: Normalisieren nach Parsen der Form und nicht als run_before
[kivitendo-erp.git] / SL / Controller / Inventory.pm
index b417f69..bd57d78 100644 (file)
@@ -58,7 +58,6 @@ sub action_stock_usage {
 
   $::form->get_lists('warehouses' => { 'key'    => 'WAREHOUSES',
                                        'bins'   => 'BINS', });
-  $::request->layout->use_javascript("${_}.js") for qw(kivi.PartsWarehouse);
 
   $self->setup_stock_usage_action_bar;
   $self->render('inventory/warehouse_usage',
@@ -411,9 +410,9 @@ sub action_stock {
           qty           => $qty,
           unit          => $self->unit,
           transfer_type => 'stock',
+          transfer_type_id => $::form->{transfer_type_id},
           chargenumber  => $::form->{chargenumber},
           bestbefore    => $::form->{bestbefore},
-          ean           => $::form->{ean},
           comment       => $::form->{comment},
         });
         1;
@@ -498,6 +497,9 @@ sub action_stocktaking {
 sub action_save_stocktaking {
   my ($self) = @_;
 
+  return $self->js->flash('error', t8('Please choose a part.'))->render()
+    if !$::form->{part_id};
+
   return $self->js->flash('error', t8('A target quantitiy has to be given'))->render()
     if $::form->{target_qty} eq '';
 
@@ -607,6 +609,7 @@ sub action_stocktaking_journal {
 sub action_stocktaking_get_warn_qty_threshold {
   my ($self) = @_;
 
+  return $_[0]->render(\ !!0, { type => 'text' }) if !$::form->{part_id};
   return $_[0]->render(\ !!0, { type => 'text' }) if $::form->{target_qty} eq '';
   return $_[0]->render(\ !!0, { type => 'text' }) if 0 == $::instance_conf->get_stocktaking_qty_threshold;
 
@@ -724,7 +727,7 @@ sub sanitize_target {
 }
 
 sub load_part_from_form {
-  $_[0]->part(SL::DB::Manager::Part->find_by_or_create(id => $::form->{part_id}));
+  $_[0]->part(SL::DB::Manager::Part->find_by_or_create(id => $::form->{part_id}||undef));
 }
 
 sub load_unit_from_form {