X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/e5f53eb5c67c19d6a356fcde22ca46169cdca5dc..333003d332756c5f53a33720aea7b714dfd335c8:/bin/mozilla/io.pl diff --git a/bin/mozilla/io.pl b/bin/mozilla/io.pl index 1ee0d2c09..0cde59cec 100644 --- a/bin/mozilla/io.pl +++ b/bin/mozilla/io.pl @@ -2122,17 +2122,23 @@ sub _maybe_attach_zugferd_data { return if !$record || !$record->can('create_pdf_a_print_options') || !$record->can('create_zugferd_data'); - my $xmlfile = File::Temp->new; - $xmlfile->print($record->create_zugferd_data); - $xmlfile->close; - - $form->{TEMPLATE_DRIVER_OPTIONS}->{pdf_a} = $record->create_pdf_a_print_options(zugferd_xmp_data => $record->create_zugferd_xmp_data); - $form->{TEMPLATE_DRIVER_OPTIONS}->{pdf_attachments} = [ - { source => $xmlfile, - name => 'ZUGFeRD-invoice.xml', - description => $::locale->text('ZUGFeRD invoice'), - relationship => '/Alternative', - mime_type => 'text/xml', - } - ]; + eval { + my $xmlfile = File::Temp->new; + $xmlfile->print($record->create_zugferd_data); + $xmlfile->close; + + $form->{TEMPLATE_DRIVER_OPTIONS}->{pdf_a} = $record->create_pdf_a_print_options(zugferd_xmp_data => $record->create_zugferd_xmp_data); + $form->{TEMPLATE_DRIVER_OPTIONS}->{pdf_attachments} = [ + { source => $xmlfile, + name => 'ZUGFeRD-invoice.xml', + description => $::locale->text('ZUGFeRD invoice'), + relationship => '/Alternative', + mime_type => 'text/xml', + } + ]; + }; + + if (my $e = SL::X::ZUGFeRDValidation->caught) { + $::form->error($e->message); + } }