DateTime: neue Funktion end_of_month
[kivitendo-erp.git] / SL / Controller / Inventory.pm
index ca6190c..a0764ab 100644 (file)
@@ -11,13 +11,12 @@ use SL::DB::Warehouse;
 use SL::DB::Unit;
 use SL::WH;
 use SL::Locale::String qw(t8);
-use SL::ClientJS;
 use SL::Presenter;
 use SL::DBUtils;
 use SL::Helper::Flash;
 
 use Rose::Object::MakeMethods::Generic (
-  'scalar --get_set_init' => [ qw(warehouses units js p) ],
+  'scalar --get_set_init' => [ qw(warehouses units p) ],
   'scalar'                => [ qw(warehouse bin unit part) ],
 );
 
@@ -45,8 +44,9 @@ sub action_stock {
   my ($self) = @_;
 
   my $qty = $::form->parse_amount(\%::myconfig, $::form->{qty});
-
-  if ($qty < 0) {
+  if (!$qty) {
+    flash_later('error', t8('Cannot stock without amount'));
+  } elsif ($qty < 0) {
     flash_later('error', t8('Cannot stock negative amounts'));
   } else {
     # do stock
@@ -58,6 +58,7 @@ sub action_stock {
       unit          => $self->unit,
       transfer_type => 'stock',
       chargenumber  => $::form->{chargenumber},
+      bestbefore    => $::form->{bestbefore},
       ean           => $::form->{ean},
       comment       => $::form->{comment},
     });
@@ -98,7 +99,7 @@ sub action_part_changed {
     ->replaceWith('#bin_id', $self->build_bin_select)
     ->replaceWith('#unit_id', $self->build_unit_select)
     ->focus('#warehouse_id')
-    ->render($self);
+    ->render;
 }
 
 sub action_warehouse_changed {
@@ -107,7 +108,7 @@ sub action_warehouse_changed {
   $self->js
     ->replaceWith('#bin_id', $self->build_bin_select)
     ->focus('#bin_id')
-    ->render($self);
+    ->render;
 }
 
 sub action_mini_stock {
@@ -115,7 +116,7 @@ sub action_mini_stock {
 
   $self->js
     ->html('#stock', $self->render('inventory/_stock', { output => 0 }))
-    ->render($self);
+    ->render;
 }
 
 #================================================================
@@ -136,10 +137,6 @@ sub init_units {
   SL::DB::Manager::Unit->get_all;
 }
 
-sub init_js {
-  SL::ClientJS->new;
-}
-
 sub init_p {
   SL::Presenter->get;
 }
@@ -242,7 +239,7 @@ sub show_no_warehouses_error {
 
   my $msg = t8('No warehouse has been created yet or the quantity of the bins is not configured yet.') . ' ';
 
-  if ($::auth->check_right($::form->{login}, 'config')) { # TODO wut?
+  if ($::auth->check_right($::myconfig{login}, 'config')) { # TODO wut?
     $msg .= t8('You can create warehouses and bins via the menu "System -> Warehouses".');
   } else {
     $msg .= t8('Please ask your administrator to create warehouses and bins.');