- if (($::form->{attachment_policy} // '') !~ m{^(?:old_file|no_file)$}) {
- my $pdf;
- my @errors = generate_pdf($self->order, \$pdf, {media => $::form->{media},
- 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}});
+ $::form->{attachment_policy} //= '';
+
+ # Is an old file version available?
+ my $attfile;
+ if ($::form->{attachment_policy} eq 'old_file') {
+ $attfile = SL::File->get_all(object_id => $self->order->id,
+ object_type => $self->type,
+ file_type => 'document',
+ print_variant => $::form->{formname});
+ }
+
+ if ($::form->{attachment_policy} ne 'no_file' && !($::form->{attachment_policy} eq 'old_file' && $attfile)) {
+ my $doc;
+ my @errors = $self->generate_doc(\$doc, {media => $::form->{media},
+ 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}});