foreach my $item (@{$self->order->items_sorted}) {
$item->{new_fake_id} = join('_', 'new', Time::HiRes::gettimeofday(), int rand 1000000000000);
}
- # trigger rendering values for second row/longdescription as hidden,
- # because they are loaded only on demand. So we need to keep the values
- # from the source.
- $_->{render_second_row} = 1 for @{ $self->order->items_sorted };
- $_->{render_longdescription} = 1 for @{ $self->order->items_sorted };
+ # trigger rendering values for second row as hidden, because they
+ # are loaded only on demand. So we need to keep the values from
+ # the source.
+ $_->{render_second_row} = 1 for @{ $self->order->items_sorted };
}
$self->recalc();
my $formname = $::form->{print_options}->{formname};
my $copies = $::form->{print_options}->{copies};
my $groupitems = $::form->{print_options}->{groupitems};
+ my $printer_id = $::form->{print_options}->{printer_id};
# only pdf and opendocument by now
if (none { $format eq $_ } qw(pdf opendocument opendocument_pdf)) {
my @errors = generate_pdf($self->order, \$pdf, { format => $format,
formname => $formname,
language => $self->order->language,
+ printer_id => $printer_id,
groupitems => $groupitems });
if (scalar @errors) {
return $self->js->flash('error', t8('Conversion to PDF failed: #1', $errors[0]))->render;
format => $::form->{print_options}->{format},
formname => $::form->{print_options}->{formname},
language => $self->order->language,
+ printer_id => $::form->{print_options}->{printer_id},
groupitems => $::form->{print_options}->{groupitems}});
if (scalar @errors) {
return $self->js->flash('error', t8('Conversion to PDF failed: #1', $errors[0]))->render($self);
$self->render_price_dialog($item);
}
-# get the longdescription for an item if the dialog to enter/change the
-# longdescription was opened and the longdescription is empty
-#
-# If this item is new, get the longdescription from Part.
-# Otherwise get it from OrderItem.
-sub action_get_item_longdescription {
- my $longdescription;
-
- if ($::form->{item_id}) {
- $longdescription = SL::DB::OrderItem->new(id => $::form->{item_id})->load->longdescription;
- } elsif ($::form->{parts_id}) {
- $longdescription = get_part_texts($::form->{parts_id}, $::form->{language_id})->{longdescription};
- }
- $_[0]->render(\ $longdescription, { type => 'text' });
-}
-
# load the second row for one or more items
#
# This action gets the html code for all items second rows by rendering a template for
my ($self) = @_;
foreach my $item_id (@{ $::form->{item_ids} }) {
- my $idx = first_index { $_ eq $item_id } @{ $::form->{orderitem_ids} };
- my $item = $self->order->items_sorted->[$idx];
+ my $idx = first_index { $_ eq $item_id } @{ $::form->{orderitem_ids} };
+ my $item = $self->order->items_sorted->[$idx];
+ my $texts = get_part_texts($item->part, $self->order->language_id);
- $item->description($item->part->description);
- $item->longdescription($item->part->notes);
+ $item->description($texts->{description});
+ $item->longdescription($texts->{longdescription});
my $price_source = SL::PriceSource->new(record_item => $item, record => $self->order);
$self->get_unalterable_data();
$self->pre_render();
- # trigger rendering values for second row/longdescription as hidden,
- # because they are loaded only on demand. So we need to keep the values
- # from the source.
- $_->{render_second_row} = 1 for @{ $self->order->items_sorted };
- $_->{render_longdescription} = 1 for @{ $self->order->items_sorted };
+ # trigger rendering values for second row as hidden, because they
+ # are loaded only on demand. So we need to keep the values from the
+ # source.
+ $_->{render_second_row} = 1 for @{ $self->order->items_sorted };
$self->render(
'order/form',
$print_form->{format} = $params->{format} || 'pdf';
$print_form->{media} = $params->{media} || 'file';
$print_form->{groupitems} = $params->{groupitems};
+ $print_form->{printer_id} = $params->{printer_id};
$print_form->{media} = 'file' if $print_form->{media} eq 'screen';
$order->language($params->{language});
extension => $template_ext,
email => $print_form->{media} eq 'email',
language => $params->{language},
- printer_id => $print_form->{printer_id}, # todo
+ printer_id => $print_form->{printer_id},
);
if (!defined $template_file) {
=item * check for direct delivery (workflow sales order -> purchase order)
-=item * language / part translations
-
=item * access rights
=item * display weights
=item *
-Possibility to change longdescription in input row?
-
-=item *
-
Possibility to select PriceSources in input row?
=item *