Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 4cb05cc1

Von Kivitendo Admin vor mehr als 1 Jahr hinzugefügt

  • ID 4cb05cc1379b91cd436088cbcb4f9ce2acff16e7
  • Vorgänger 4bd64342
  • Nachfolger c7ad052c

Disposition Manager - ein paar Änderungen

  • erster Testfall
  • _get_parts in action_list_parts ausgelagert (besser testbar)
  • Formatierung und Typos

Unterschiede anzeigen:

SL/Controller/DispositionsManager.pm
package SL::Controller::DispositionsManager;
use strict;
use parent qw(SL::Controller::Base);
......
sub action_list_parts {
my ( $self ) = @_;
my $query = <<SQL;
SELECT * FROM parts WHERE onhand <= rop AND rop != 0 AND id NOT IN( SELECT parts_id FROM purchase_basket) AND NOT obsolete
SQL
my $parts = $self->_get_parts;
my $parts = SL::DB::Manager::Part->get_objects_from_sql( sql => $query );
$self->_setup_list_action_bar;
$self->render('dispositionsmanager/list_parts', title => t8('Parts short onhand'), PARTS => $parts);
}
sub action_add_to_purchase_basket{
......
foreach my $id (@{ $parts_to_add }) {
my $part = SL::DB::Manager::Part->get_first( query => [ id => $id ] );
my $basket_part = SL::DB::PurchaseBasket->new(
parts_id => $part->id,
qty => $part->min_order_qty,
description => $part->description,
);
parts_id => $part->id,
qty => $part->min_order_qty,
description => $part->description,
);
$basket_part->save;
}
$self->action_show_basket;
......
$::request->{layout}->add_javascripts('kivi.DispositionsManager.js');
my $basket = SL::DB::Manager::PurchaseBasket->get_all( query => [ cleared => 'F' ], with_objects => [ 'parts', 'parts.makemodels' ]);
$self->_setup_show_basket_action_bar;
$self->render('dispositionsmanager/show_purchase_basket', PARTS => $basket, title => "Purchasebasket" );
$self->render('dispositionsmanager/show_purchase_basket', PARTS => $basket, title => "Purchase basket" );
}
sub action_transfer_to_purchase_order {
......
}
sub _get_parts {
my ($self) = @_;
my $query = <<SQL;
SELECT *
FROM parts
WHERE onhand <= rop
AND rop != 0
AND id NOT IN( SELECT parts_id FROM purchase_basket ) AND NOT obsolete
SQL
return SL::DB::Manager::Part->get_objects_from_sql( sql => $query );
};
sub _setup_list_action_bar {
my ($self) = @_;
for my $bar ($::request->layout->get('actionbar')) {
......
=head1 NAME
SL::Controller::DispositionsManager Controller to manage purchaseorders for parts
SL::Controller::DispositionsManager Controller to manage purchase orders for parts
=head1 DESCRIPTION
This Controller shows a list of parts using the filter minimum stock (rop).
This controller shows a list of parts using the filter minimum stock (rop).
From this list it is possible to put parts in a purchase basket to order.
It's also possible to put parts from the parts edit form in the purchase basket.
From the purchase basket you can create a purchaseorder by using the filter vendor.
From the purchase basket you can create a purchase order by using the filter vendor.
The quantity to order will be prefilled by the value min_qty_to_order from parts or
makemodel(vendor_parts) or default qty 1.
makemodel(vendor_parts) or default to qty 1.
Tables:
......
=back
Depencies:
Dependencies:
=over 2
......
=item C<action_show_basket>
Shows a list with parts wich are in the basket.
This List can be filtered by vendor. Then you can create a purchaseorder.
Shows a list with parts which are in the basket.
This list can be filtered by vendor. Then you can create a purchase order.
=item C<action_transfer_to_purchase_order>
Transfers the marked and by vendor filtered parts to a purchase order.
Deletes the entry in the purchasebasket.
Deletes the entry in the purchase basket.
=back

Auch abrufbar als: Unified diff