use SL::DB::Employee;
use SL::Helper::Flash qw(flash);
use SL::Helper::CreatePDF;
+use SL::Helper::PrintOptions;
use SL::Locale::String qw(t8);
use SL::IS;
use SL::ReportGenerator;
$::form->get_employee_data('prefix' => 'employee', 'id' => $letter->{employee_id});
$::form->get_employee_data('prefix' => 'salesman', 'id' => $letter->{salesman_id});
+ my ($template_file, @template_files) = SL::Helper::CreatePDF->find_template(
+ name => 'letter',
+ printer_id => $::form->{printer_id},
+ language_id => $::form->{language_id},
+ formname => 'letter',
+ format => 'pdf',
+ );
+
+ if (!defined $template_file) {
+ $::form->error($::locale->text('Cannot find matching template for this print request. Please contact your template maintainer. I tried these: #1.', join ', ', map { "'$_'"} @template_files));
+ }
+
my %create_params = (
- template => scalar(SL::Helper::CreatePDF->find_template(
- name => 'letter',
- printer_id => $::form->{printer_id},
- language_id => $::form->{language_id},
- formname => 'letter',
- format => 'pdf',
- )),
+ template => $template_file,
variables => $::form,
return => 'file_name',
);
+
my $pdf_file_name;
eval {
$pdf_file_name = SL::Helper::CreatePDF->create_pdf(%create_params);
my $letter = $self->letter;
- require 'bin/mozilla/io.pl';
-
$params{title} ||= t8('Edit Letter');
$::form->{type} = 'letter'; # needed for print_options
PCF => [ map { key => $_, value => t8(ucfirst $_) }, PAGE_CREATED_FOR_VALUES() ],
letter => $letter,
employees => $self->all_employees,
- print_options => print_options(inline => 1),
+ print_options => SL::Helper::PrintOptions->get_print_options (
+ options => { no_postscript => 1,
+ no_opendocument => 1,
+ no_html => 1,
+ no_queue => 1 }),
+
);
}