Revision 55df555b
Von Tamino Steinert vor mehr als 1 Jahr hinzugefügt
SL/Controller/DeliveryOrder.pm | ||
---|---|---|
my %use_item = map { $_ => 1 } @{$::form->{from_item_ids}};
|
||
$flags{item_filter} = sub {
|
||
my ($item) = @_;
|
||
return %use_item{$item->id};
|
||
return %use_item{$item->{RECORD_ITEM_ID()}};
|
||
}
|
||
}
|
||
|
||
... | ... | |
my $to_type = $::form->{to_type};
|
||
my $to_controller = get_object_name_from_type($to_type);
|
||
|
||
$self->save();
|
||
|
||
my %additional_params = ();
|
||
if ($::form->{only_selected_items}) {
|
||
my $from_item_ids = $::form->{selected_items} || [];
|
||
$additional_params{from_item_ids} = $from_item_ids;
|
||
if ($::form->{only_selected_item_positions}) { # ids can be unset before save
|
||
my $item_positions = $::form->{selected_item_positions} || [];
|
||
my @from_item_ids = map { $self->order->items_sorted->[$_]->id } @$item_positions;
|
||
$additional_params{from_item_ids} = \@from_item_ids;
|
||
}
|
||
|
||
$self->save();
|
||
flash_later('info', $self->type_data->text('saved'));
|
||
|
||
$self->redirect_to(
|
SL/Controller/Order.pm | ||
---|---|---|
my %use_item = map { $_ => 1 } @{$::form->{from_item_ids}};
|
||
$flags{item_filter} = sub {
|
||
my ($item) = @_;
|
||
return %use_item{$item->id};
|
||
return %use_item{$item->{RECORD_ITEM_ID()}};
|
||
}
|
||
}
|
||
|
||
... | ... | |
flash_later('info', $self->type_data->text('saved'));
|
||
|
||
my %additional_params = ();
|
||
if ($::form->{only_selected_items}) {
|
||
my $from_item_ids = $::form->{selected_items} || [];
|
||
$additional_params{from_item_ids} = $from_item_ids;
|
||
if ($::form->{only_selected_item_positions}) { # ids can be unset before save
|
||
my $item_positions = $::form->{selected_item_positions} || [];
|
||
my @from_item_ids = map { $self->order->items_sorted->[$_]->id } @$item_positions;
|
||
$additional_params{from_item_ids} = \@from_item_ids;
|
||
}
|
||
|
||
$self->redirect_to(
|
SL/Controller/Reclamation.pm | ||
---|---|---|
my %use_item = map { $_ => 1 } @{$::form->{from_item_ids}};
|
||
$flags{item_filter} = sub {
|
||
my ($item) = @_;
|
||
return %use_item{$item->id};
|
||
return %use_item{$item->{RECORD_ITEM_ID()}};
|
||
}
|
||
}
|
||
|
||
... | ... | |
my $to_type = $::form->{to_type};
|
||
my $to_controller = get_object_name_from_type($to_type);
|
||
|
||
my %additional_params = ();
|
||
if ($::form->{only_selected_items}) {
|
||
my $from_item_ids = $::form->{selected_items} || [];
|
||
$additional_params{from_item_ids} = $from_item_ids;
|
||
}
|
||
|
||
$self->save();
|
||
flash_later('info', t8('The reclamation has been saved'));
|
||
|
||
my %additional_params = ();
|
||
if ($::form->{only_selected_item_positions}) { # ids can be unset before save
|
||
my $item_positions = $::form->{selected_item_positions} || [];
|
||
my @from_item_ids = map { $self->order->items_sorted->[$_]->id } @$item_positions;
|
||
$additional_params{from_item_ids} = \@from_item_ids;
|
||
}
|
||
|
||
$self->redirect_to(
|
||
controller => $to_controller,
|
||
action => 'add_from_record',
|
js/kivi.Order.js | ||
---|---|---|
data.push({ name: 'action', value: 'Order/show_conversion_to_purchase_delivery_order_item_selection' });
|
||
|
||
kivi.popup_dialog({
|
||
id: "convert_to_purchase_delivery_order_item_selection",
|
||
id: "convert_to_purchase_delivery_order_item_position_selection",
|
||
url: "controller.pl",
|
||
data: data,
|
||
type: "POST",
|
||
dialog: { title: kivi.t8("Select items for delivery order") },
|
||
load: function() {
|
||
$("body").data("convert_to_purchase_delivery_order_item_selection_params", params);
|
||
$("body").data("convert_to_purchase_delivery_order_item_position_selection_params", params);
|
||
}
|
||
});
|
||
};
|
||
|
||
ns.convert_to_purchase_delivery_order_item_selection = function() {
|
||
let params = $("body").data("convert_to_purchase_delivery_order_item_selection_params");
|
||
let params = $("body").data("convert_to_purchase_delivery_order_item_position_selection_params");
|
||
|
||
let $dialog = $("#convert_to_purchase_delivery_order_item_selection");
|
||
let selected_items = $dialog.find("tbody input.item_selection_checkall").serializeArray();
|
||
let $dialog = $("#convert_to_purchase_delivery_order_item_position_selection");
|
||
let selected_items = $dialog.find("tbody input.item_position_selection_checkall").serializeArray();
|
||
params.data = selected_items;
|
||
|
||
additional_param = { name: 'only_selected_items', value: 1 };
|
||
additional_param = { name: 'only_selected_item_positions', value: 1 };
|
||
if (params.form_params) {
|
||
if (Array.isArray(params.form_params)) {
|
||
params.form_params.push(additional_param);
|
templates/design40_webpages/order/tabs/_purchase_delivery_order_item_selection.html | ||
---|---|---|
<table class="tbl-list">
|
||
<thead>
|
||
<tr class="listheading">
|
||
<th>[% L.checkbox_tag("item_selection_checkall", checkall="input.item_selection_checkall") %]</th>
|
||
<th>[% L.checkbox_tag("item_position_selection_checkall", checkall="input.item_position_selection_checkall") %]</th>
|
||
<th>[% LxERP.t8("Position") %]</th>
|
||
<th>[% LxERP.t8("Partnumber") %]</th>
|
||
<th>[% LxERP.t8("Vendor Part Number") %]</th>
|
||
... | ... | |
</tr>
|
||
</thead>
|
||
|
||
<tbody id="item_selection" class="row_entry listrow">
|
||
<tbody id="item_position_selection" class="row_entry listrow">
|
||
[% FOREACH item = ITEMS %]
|
||
<tr class="listrow">
|
||
<td>[% L.checkbox_tag("selected_items[+]", class="item_selection_checkall", value=item.id, checked="checked") %]</td>
|
||
<td>[% L.checkbox_tag("selected_item_positions[+]", class="item_position_selection_checkall", value=loop.count, checked="checked") %]</td>
|
||
<td class="numeric">[% loop.count %]</td>
|
||
<td>[% HTML.escape(item.partnumber) %]</td>
|
||
<td>[% HTML.escape(item.vendor_partnumber) %]</td>
|
templates/webpages/order/tabs/_purchase_delivery_order_item_selection.html | ||
---|---|---|
<table>
|
||
<thead>
|
||
<tr class="listheading">
|
||
<th>[% L.checkbox_tag("item_selection_checkall", checkall="input.item_selection_checkall") %]</th>
|
||
<th>[% L.checkbox_tag("item_position_selection_checkall", checkall="input.item_position_selection_checkall") %]</th>
|
||
<th>[% LxERP.t8("Position") %]</th>
|
||
<th>[% LxERP.t8("Partnumber") %]</th>
|
||
<th>[% LxERP.t8("Vendor Part Number") %]</th>
|
||
... | ... | |
</tr>
|
||
</thead>
|
||
|
||
<tbody id="item_selection" class="row_entry listrow">
|
||
<tbody id="item_position_selection" class="row_entry listrow">
|
||
[% FOREACH item = ITEMS %]
|
||
<tr class="listrow">
|
||
<td>[% L.checkbox_tag("selected_items[+]", class="item_selection_checkall", value=item.id, checked="checked") %]</td>
|
||
<td>[% L.checkbox_tag("selected_item_positions[+]", class="item_position_selection_checkall", value=loop.count, checked="checked") %]</td>
|
||
<td align="right">[% loop.count %]</td>
|
||
<td>[% HTML.escape(item.partnumber) %]</td>
|
||
<td>[% HTML.escape(item.vendor_partnumber) %]</td>
|
Auch abrufbar als: Unified diff
Model::Record: FIX: Workflow mit ausgewählten Positionen