use SL::Util qw(trim);
use SL::YAML;
use SL::DB::AdditionalBillingAddress;
+use SL::DB::AuthUser;
use SL::DB::History;
use SL::DB::Order;
use SL::DB::Default;
my $pdf_filename = $form->generate_attachment_filename();
my $pdf;
- my @errors = generate_pdf($self->order, \$pdf, { format => $format,
- formname => $formname,
- language => $self->order->language,
- printer_id => $printer_id,
- groupitems => $groupitems });
+ my @errors = $self->generate_pdf(\$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;
}
$self->js->flash('info', t8('The PDF has been printed'));
}
- my @warnings = store_pdf_to_webdav_and_filemanagement($self->order, $pdf, $pdf_filename);
+ my @warnings = $self->store_pdf_to_webdav_and_filemanagement($pdf, $pdf_filename);
if (scalar @warnings) {
$self->js->flash('warning', $_) for @warnings;
}
my $pdf_filename = $form->generate_attachment_filename();
my $pdf;
- my @errors = generate_pdf($self->order, \$pdf, { format => $format,
- formname => $formname,
- language => $self->order->language,
- });
+ my @errors = $self->generate_pdf(\$pdf, { format => $format,
+ formname => $formname,
+ language => $self->order->language,
+ });
if (scalar @errors) {
return $self->js->flash('error', t8('Conversion to PDF failed: #1', $errors[0]))->render;
}
$email_form->{js_send_function} = 'kivi.Order.send_email()';
my %files = $self->get_files_for_email_dialog();
- $self->{all_employees} = SL::DB::Manager::Employee->get_all(query => [ deleted => 0 ]);
+
+ my @employees_with_email = grep {
+ my $user = SL::DB::Manager::AuthUser->find_by(login => $_->login);
+ $user && !!trim($user->get_config_value('email'));
+ } @{ SL::DB::Manager::Employee->get_all_sorted(query => [ deleted => 0 ]) };
+
my $dialog_html = $self->render('common/_send_email_dialog', { output => 0 },
- email_form => $email_form,
- show_bcc => $::auth->assert('email_bcc', 'may fail'),
- FILES => \%files,
- is_customer => $self->cv eq 'customer',
- ALL_EMPLOYEES => $self->{all_employees},
+ email_form => $email_form,
+ show_bcc => $::auth->assert('email_bcc', 'may fail'),
+ FILES => \%files,
+ is_customer => $self->cv eq 'customer',
+ ALL_EMPLOYEES => \@employees_with_email,
);
$self->js
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}});
+ my @errors = $self->generate_pdf(\$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}});
if (scalar @errors) {
return $self->js->flash('error', t8('Conversion to PDF failed: #1', $errors[0]))->render($self);
}
- my @warnings = store_pdf_to_webdav_and_filemanagement($self->order, $pdf, $::form->{attachment_filename});
+ my @warnings = $self->store_pdf_to_webdav_and_filemanagement($pdf, $::form->{attachment_filename});
if (scalar @warnings) {
flash_later('warning', $_) for @warnings;
}
$self->get_item_cvpartnumber($_) for @{$self->order->items_sorted};
- $::request->{layout}->use_javascript("${_}.js") for qw(kivi.SalesPurchase kivi.Order kivi.File ckeditor/ckeditor ckeditor/adapters/jquery
- edit_periodic_invoices_config calculate_qty kivi.Validator follow_up show_history);
+ $::request->{layout}->use_javascript("${_}.js") for qw(kivi.Validator kivi.SalesPurchase kivi.Order kivi.File ckeditor/ckeditor ckeditor/adapters/jquery
+ edit_periodic_invoices_config calculate_qty follow_up show_history);
$self->setup_edit_action_bar;
}
}
sub generate_pdf {
- my ($order, $pdf_ref, $params) = @_;
+ my ($self, $pdf_ref, $params) = @_;
+ my $order = $self->order;
my @errors = ();
my $print_form = Form->new('');
}
sub store_pdf_to_webdav_and_filemanagement {
- my($order, $content, $filename) = @_;
+ my ($self, $content, $filename) = @_;
+ my $order = $self->order;
my @errors;
# copy file to webdav folder