Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 55df555b

Von Tamino Steinert vor mehr als 1 Jahr hinzugefügt

  • ID 55df555b0b88f5596da0e2cd35034bd0785e814a
  • Vorgänger 692a03e4
  • Nachfolger e9f96ef8

Model::Record: FIX: Workflow mit ausgewählten Positionen

Unterschiede anzeigen:

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