X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FInventory.pm;h=a95efaddb0188a4bda21e5db971686b2bebb6774;hb=653c3764139968b7829edab20fa641f5571ee925;hp=4692dd6ac859d89b0f6b8d991ca449ca2b6c45ff;hpb=70edaa5fe6a00edcd8a2abe7ea4ba06c7893f538;p=kivitendo-erp.git diff --git a/SL/Controller/Inventory.pm b/SL/Controller/Inventory.pm index 4692dd6ac..a95efaddb 100644 --- a/SL/Controller/Inventory.pm +++ b/SL/Controller/Inventory.pm @@ -44,6 +44,7 @@ sub action_stock_in { $::request->layout->focus('#part_id_name'); my $transfer_types = WH->retrieve_transfer_types('in'); map { $_->{description} = $main::locale->text($_->{description}) } @{ $transfer_types }; + $self->setup_stock_in_action_bar; $self->render('inventory/warehouse_selection_stock', title => $::form->{title}, TRANSFER_TYPES => $transfer_types ); } @@ -56,10 +57,10 @@ sub action_stock_usage { 'bins' => 'BINS', }); $::request->layout->use_javascript("${_}.js") for qw(kivi.PartsWarehouse); + $self->setup_stock_usage_action_bar; $self->render('inventory/warehouse_usage', title => $::form->{title}, year => DateTime->today->year, - # PARTSCLASSIFICATIONS => SL::DB:Manager::PartsClassification->get_all_classifications_by_name() , WAREHOUSES => $::form->{WAREHOUSES}, WAREHOUSE_FILTER => 1, warehouse_id => 0, @@ -385,7 +386,6 @@ sub make_row_result { $row->{averconsumed}->{data} = $row->{consumed}->{data}*30/$days ; map { $row->{$_}->{data} = $form->format_amount($myconfig,$row->{$_}->{data},2); } $self->getnumcolumns(); $row->{partnumber}->{link} = 'controller.pl?action=Part/edit&part.id' . $partid; -# $row->{partdescription}->{link} = 'ic.pl?action=edit&id='.$partid; } sub action_stock { @@ -623,4 +623,88 @@ sub show_no_warehouses_error { $::form->show_generic_error($msg); } +sub setup_stock_in_action_bar { + my ($self, %params) = @_; + + for my $bar ($::request->layout->get('actionbar')) { + $bar->add( + action => [ + t8('Stock'), + submit => [ '#form', { action => 'Inventory/stock' } ], + checks => [ 'check_part_selection_before_stocking' ], + accesskey => 'enter', + ], + ); + } +} + +sub setup_stock_usage_action_bar { + my ($self, %params) = @_; + + for my $bar ($::request->layout->get('actionbar')) { + $bar->add( + action => [ + t8('Show'), + submit => [ '#form', { action => 'Inventory/usage' } ], + accesskey => 'enter', + ], + ); + } +} + 1; +__END__ + +=encoding utf-8 + +=head1 NAME + +SL::Controller::Inventory - Report Controller for inventory + +=head1 DESCRIPTION + +This controller makes three reports about inventory in warehouses/stocks + +- warehouse content + +- warehouse journal + +- warehouse withdrawal + +=head1 FUNCTIONS + +=over 4 + +=item C + +Create a search form for stock withdrawal. +The search parameter for report are made like the reports in bin/mozilla/rp.pl + +=item C + +Make a report about stock withdrawal. + +The manual pagination is implemented like the pagination in SL::Controller::CsvImport. + +=back + +=head1 SPECIAL CASES + +Because of the PFD-Table Formatter some parameters for PDF must be different to the HTML parameters. +So in german language there are some tries to use a HTML Break in the second heading line +to produce two line heading inside table. The actual version has some abbreviations for the header texts. + +=head1 BUGS + +The PDF-Table library has some limits (doesn't display all if the line is to large) so +the format is adapted to this + + +=head1 AUTHOR + +only for C and C: + +Martin Helmling Emartin.helmling@opendynamic.deE + + +=cut