Revision c307d4a1
Von Tamino Steinert vor mehr als 1 Jahr hinzugefügt
SL/Controller/Part.pm | ||
---|---|---|
use SL::DB::Part;
|
||
use SL::DB::PartsGroup;
|
||
use SL::DB::PriceRuleItem;
|
||
use SL::DB::PurchaseBasketItem;
|
||
use SL::DB::Shop;
|
||
use SL::Helper::Flash;
|
||
use SL::Helper::PrintOptions;
|
||
... | ... | |
$self->render_form;
|
||
}
|
||
|
||
sub action_add_to_basket {
|
||
my ( $self ) = @_;
|
||
|
||
if ( !$self->_is_in_purchase_basket && scalar @{$self->part->makemodels}) {
|
||
|
||
my $part = $self->part;
|
||
|
||
my $needed_qty = $part->order_qty < ($part->rop - $part->onhandqty) ?
|
||
$part->rop - $part->onhandqty
|
||
: $part->order_qty;
|
||
|
||
my $basket_part = SL::DB::PurchaseBasketItem->new(
|
||
part_id => $part->id,
|
||
qty => $needed_qty,
|
||
orderer => SL::DB::Manager::Employee->current,
|
||
)->save;
|
||
|
||
$self->js->flash('info', t8('Part added to purchasebasket'))->render;
|
||
} else {
|
||
$self->js->flash('error', t8('Part already in purchasebasket or has no vendor'))->render;
|
||
}
|
||
return 1;
|
||
}
|
||
|
||
sub render_form {
|
||
my ($self, %params) = @_;
|
||
|
||
... | ... | |
return \@item_objects;
|
||
}
|
||
|
||
sub _is_in_purchase_basket {
|
||
my ( $self ) = @_;
|
||
|
||
return SL::DB::Manager::PurchaseBasketItem->get_all_count( query => [ part_id => $self->part->id ] );
|
||
}
|
||
|
||
sub _is_ordered {
|
||
my ( $self ) = @_;
|
||
|
||
return $self->part->get_ordered_qty( $self->part->id );
|
||
}
|
||
|
||
sub _setup_form_action_bar {
|
||
my ($self) = @_;
|
||
|
||
... | ... | |
: undef,
|
||
],
|
||
|
||
action => [
|
||
t8('Add to basket'),
|
||
call => [ 'kivi.Part.add_to_basket' ],
|
||
disabled => !$self->part->id ? t8('This object has not been saved yet.')
|
||
: $self->_is_in_purchase_basket ? t8('Part already in purchasebasket')
|
||
: $self->_is_ordered ? t8('Part already ordered')
|
||
: !scalar @{$self->part->makemodels} ? t8('No vendors to add to purchasebasket')
|
||
: undef,
|
||
],
|
||
|
||
'separator',
|
||
|
||
action => [
|
Auch abrufbar als: Unified diff
Part: Direkt aus der Artikelmaske zum Einkaufkorb hinzufügen