use strict;
use parent qw(SL::Controller::Base);
+use Carp;
use POSIX qw(strftime);
use SL::Controller::Helper::GetModels;
use SL::Controller::Helper::ReportGenerator;
+use SL::CT;
use SL::DB::Letter;
use SL::DB::LetterDraft;
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;
$self->export_letter_to_form($letter);
$::form->{formname} = "letter";
- $::form->{format} = "pdf";
+ $::form->{type} = "letter";
+ $::form->{format} = "pdf";
my $language_saved = $::form->{language_id};
my $greeting_saved = $::form->{greeting};
my $cp_id_saved = $::form->{cp_id};
+ $::form->{customer_id} = $self->letter->vc_id;
IS->customer_details(\%::myconfig, $::form);
if (!$cp_id_saved) {
template => $template_file,
variables => $::form,
return => 'file_name',
+ variable_content_types => {
+ body => 'html',
+ },
);
my $pdf_file_name;
my $file = IO::File->new($pdf_file_name, 'r') || croak("Cannot open file '$pdf_file_name'");
my $size = -s $pdf_file_name;
my $content_type = 'application/pdf';
+ $::form->{letternumber} = $self->letter->letternumber;
my $attachment_name = $::form->generate_attachment_filename;
$attachment_name =~ s:.*//::g;
sub _display {
my ($self, %params) = @_;
- my $letter = $self->letter;
+ $::request->{layout}->use_javascript("${_}.js") for qw(ckeditor/ckeditor ckeditor/adapters/jquery);
- require 'bin/mozilla/io.pl';
+ my $letter = $self->letter;
$params{title} ||= t8('Edit Letter');
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 }),
+
);
}
obj_link => sub { $self->url_for(action => 'edit', 'letter.id' => $_[0]->id, callback => $self->models->get_callback) } },
letternumber => { text => t8('Letternumber'), sub => sub { $_[0]->letternumber },
obj_link => sub { $self->url_for(action => 'edit', 'letter.id' => $_[0]->id, callback => $self->models->get_callback) } },
- vc_id => { text => t8('Customer'), sub => sub { $_[0]->customer->displayable_name } },
+ vc_id => { text => t8('Customer'), sub => sub { SL::DB::Manager::Customer->find_by_or_create(id => $_[0]->vc_id)->displayable_name } },
contact => { text => t8('Contact'), sub => sub { $_[0]->contact ? $_[0]->contact->full_name : '' } },
);
SL::Controller::Helper::GetModels->new(
controller => $self,
model => 'Letter',
- sorted => {
- _default => {
- by => 'letternumber',
- dir => 1,
- },
- %sort_columns,
- },
+ sorted => \%sort_columns,
with_objects => [ 'contact', 'salesman', 'employee' ],
);
}