Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision c307d4a1

Von Tamino Steinert vor mehr als 1 Jahr hinzugefügt

  • ID c307d4a1ab7713def492c4f61e5f3473f8337fdb
  • Vorgänger a7a4d403
  • Nachfolger 9554b472

Part: Direkt aus der Artikelmaske zum Einkaufkorb hinzufügen

Unterschiede anzeigen:

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