Bisher wurde immer die Standarddruckvorlage genutzt und die im Auftrag
und damit der Rechnung eingestellte Sprache komplett ignoriert.
Weiterhin wird der Dateiname des Anhangs nach der eingestellten
Sprache gesetzt. Das funktioniert nur, wenn die in kivitendo
konfigurierten Sprachen dieselben Sprachkürzel nutzen, wie kivitendos
Übersetzungen selber heißen (also »de« und »en«).
return unless @recipients;
return unless @recipients;
+ my $language = $data->{invoice}->language ? $data->{invoice}->language->template_code : undef;
- template => scalar($self->find_template(name => 'invoice')),
+ template => scalar($self->find_template(name => 'invoice', language => $language)),
variables => Form->new(''),
return => 'file_name',
variable_content_types => {
variables => Form->new(''),
return => 'file_name',
variable_content_types => {
$create_params{variables}->prepare_for_printing;
my $pdf_file_name;
$create_params{variables}->prepare_for_printing;
my $pdf_file_name;
+ my $label = $language && Locale::is_supported($language) ? Locale->new($language)->text('Invoice') : $::locale->text('Invoice');
eval {
$pdf_file_name = $self->create_pdf(%create_params);
eval {
$pdf_file_name = $self->create_pdf(%create_params);
$mail->{message} = $data->{config}->email_body;
$mail->{attachments} = [{
path => $pdf_file_name,
$mail->{message} = $data->{config}->email_body;
$mail->{attachments} = [{
path => $pdf_file_name,
- name => sprintf('%s %s.pdf', $::locale->text('Invoice'), $data->{invoice}->invnumber),
+ name => sprintf('%s %s.pdf', $label, $data->{invoice}->invnumber),
}];
my $error = $mail->send;
}];
my $error = $mail->send;
return $locales_by_country{$country}
}
return $locales_by_country{$country}
}
+sub is_supported {
+ my ($country) = @_;
+
+ return -f "locale/$country/all";
+}
+
sub _init {
my $self = shift;
my $country = shift;
sub _init {
my $self = shift;
my $country = shift;