blob: 04f5388d764d47a2ff37144f15a0866aea075af9 (
plain)
- =pod
- =head1 NAME
- LedgerSMB::Scripts::inventory - LedgerSMB class defining the Controller
- functions, template instantiation and rendering for inventory management.
- =head1 SYOPSIS
- This module is the UI controller for the customer DB access; it provides the
- View interface, as well as defines the Save customer.
- Save customer will update or create as needed.
- =head1 METHODS
- =cut
- package LedgerSMB::Scripts::customer;
- use LedgerSMB::Template;
- use LedgerSMB::DBObject::Customer;
- require 'lsmb-request.pl';
- =over
- =item begin_adjust
- This entry point specifies the screen for setting up an inventory adjustment.
- =back
- =cut
- sub begin_adjust {
- my ($request) = @_;
- my $template = LedgerSMB::Template->new(
- user => $request->{_user},
- template => 'adjustment_setup',
- locale => $request->{_locale},
- path => 'UI/inventory',
- format => 'HTML'
- );
- $template->render($request);
- }
- =over
- =item enter_adjust
- This entry point specifies the screen for entering an inventory adjustment.
- =back
- =cut
- sub enter_adjust {
- my ($request) = @_;
- my $adjustment = LedgerSMB::DBObject::Inventory->new(base => $request);
- my $template = LedgerSMB::Template->new(
- user => $request->{_user},
- template => 'adjustment_entry',
- locale => $request->{_locale},
- path => 'UI/inventory',
- format => 'HTML'
- );
- $template->render($adjustment);
- }
- =over
- =item adjustment_next
- This function is triggered on the next button on the adjustment entry screen.
- It retrieves inventory information, calculates adjustment values, and displays the
- screen.
- =back
- =cut
- sub adjustment_next {
- my ($request) = @_;
- my $adjustment = LedgerSMB::DBObject::Inventory->new(base => $request);
- for my $i (1 .. $adjustment->{rowcount}){
- if ($adjustment->{"row_$i"} eq "new"){
- my $item = $adjustment->retrieve_item_at_date(
- $adjustment->{"partnumber_new_$i"});
- $adjustment->{"row_$i"} = $item->{id};
- $adjustment->{"description_$i"} = $item->{description};
- $adjustment->{"onhand_$i"} = $item->{onhand}};
- }
- $adjustment->{"qty_$i"} = $adjustment->{"onhand_$i"}
- - $adjustment->{"counted_$i"};
- }
- ++$adjustment->{rowcount};
- enter_adjust($adjustment);
- }
- =over
- =item adjustment_save
- This function saves the inventory adjustment report and then creates the required
- invoices.
- =back
- =cut
- sub adjustment_save {
- my ($request) = @_;
- my $adjustment = LedgerSMB::DBObject::Inventory->new(base => $request);
- $adjustment->save;
- begin_adjust($request);
- }
- 1;
|