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 => [
|
||
| js/kivi.Part.js | ||
|---|---|---|
|
ns.reinit_widgets();
|
||
|
};
|
||
|
|
||
|
ns.add_to_basket = function() {
|
||
|
var data = $('#ic').serializeArray();
|
||
|
data.push({ name: 'action', value: 'Part/add_to_basket' });
|
||
|
|
||
|
$.post("controller.pl", data, kivi.eval_json_result);
|
||
|
};
|
||
|
|
||
|
$(function(){
|
||
|
$('#ic').on('focusout', '.reformat_number', function(event) {
|
||
|
ns.reformat_number(event);
|
||
Auch abrufbar als: Unified diff
Part: Direkt aus der Artikelmaske zum Einkaufkorb hinzufügen