X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDN.pm;h=cf800dac5a0feb2a549d52e1f3624cf4c41bcca5;hb=cc978962a88cd9f1cf15ac9d4a28db76432f8542;hp=b42fc5caea9cdf4ab6ef4b027b12dc32a536e82c;hpb=f7b15d4334848fad1bcd0b569eff5139f9a6ba4d;p=kivitendo-erp.git diff --git a/SL/DN.pm b/SL/DN.pm index b42fc5cae..cf800dac5 100644 --- a/SL/DN.pm +++ b/SL/DN.pm @@ -399,6 +399,7 @@ sub send_email { my $template = SL::Template::create(type => 'PlainText', form => $form, myconfig => $myconfig); my $mail = Mailer->new(); + $mail->{bcc} = $form->get_bcc_defaults($myconfig, $form->{bcc}); $mail->{from} = $myconfig->{email}; $mail->{to} = $ref->{recipient}; $mail->{subject} = $template->parse_block($ref->{email_subject}); @@ -804,6 +805,7 @@ sub print_dunning { ar.transdate, ar.duedate, ar.customer_id, ar.invnumber, ar.ordnumber, ar.cp_id, ar.amount, ar.netamount, ar.paid, + ar.employee_id, ar.salesman_id, (SELECT cu.name FROM currencies cu WHERE cu.id = ar.currency_id) AS curr, (SELECT description from department WHERE id = ar.department_id) AS department, ar.amount - ar.paid AS open_amount, @@ -834,7 +836,8 @@ sub print_dunning { c.country, c.department_1, c.department_2, c.email, c.customernumber, c.greeting, c.contact, c.phone, c.fax, c.homepage, c.email, c.taxincluded, c.business_id, c.taxnumber, c.iban, - c,ustid, e.name as salesman_name, + c.ustid, + ar.id AS invoice_id, co.* FROM dunning d LEFT JOIN ar ON (d.trans_id = ar.id) @@ -848,7 +851,7 @@ sub print_dunning { $query = qq|SELECT - cfg.interest_rate, cfg.template AS formname, + cfg.interest_rate, cfg.template AS formname, cfg.dunning_level, cfg.email_subject, cfg.email_body, cfg.email_attachment, d.transdate AS dunning_date, (SELECT SUM(fee) @@ -901,9 +904,18 @@ sub print_dunning { delete $form->{tmpfile}; push @{ $form->{DUNNING_PDFS} }, $filename; - push @{ $form->{DUNNING_PDFS_EMAIL} }, { 'filename' => "${spool}/$filename", + push @{ $form->{DUNNING_PDFS_EMAIL} }, { 'path' => "${spool}/$filename", 'name' => $form->get_formname_translation('dunning') . "_${dunning_id}.pdf" }; + $form->get_employee_data('prefix' => 'employee', 'id' => $form->{employee_id}); + $form->get_employee_data('prefix' => 'salesman', 'id' => $form->{salesman_id}); + + $form->{attachment_type} = "dunning"; + if ( $form->{dunning_level} ) { + $form->{attachment_type} .= $form->{dunning_level} if $form->{dunning_level} < 4; + } + $form->{attachment_filename} = $form->get_formname_translation($form->{attachment_type}) . "_${dunning_id}.pdf"; + $form->{attachment_id} = $form->{invoice_id}; $form->parse_template($myconfig); $main::lxdebug->leave_sub(); @@ -921,11 +933,13 @@ sub print_invoice_for_fees { $query = qq|SELECT d.fee_interest_ar_id, - dcfg.template + d.trans_id AS invoice_id, + dcfg.template, + dcfg.dunning_level FROM dunning d LEFT JOIN dunning_config dcfg ON (d.dunning_config_id = dcfg.id) WHERE d.dunning_id = ?|; - my ($ar_id, $template) = selectrow_query($form, $dbh, $query, $dunning_id); + my ($ar_id, $invoice_id, $template, $dunning_level) = selectrow_query($form, $dbh, $query, $dunning_id); if (!$ar_id) { $main::lxdebug->leave_sub(); @@ -993,6 +1007,9 @@ sub print_invoice_for_fees { map { delete $form->{$_} } grep /^[a-z_]+_\d+$/, keys %{ $form }; + $form->{attachment_filename} = $form->get_formname_translation('dunning_invoice') . "_${dunning_id}.pdf"; + $form->{attachment_type} = "dunning"; + $form->{attachment_id} = $form->{invoice_id}; $form->parse_template($myconfig); restore_form($saved_form); @@ -1016,6 +1033,13 @@ sub set_customer_cvars { translation_type => 'greetings::' . ($form->{cp_gender} eq 'f' ? 'female' : 'male'), language_id => $form->{language_id}, allow_fallback => 1); + if ($form->{cp_id}) { + $custom_variables = CVar->get_custom_variables(dbh => $form->get_standard_dbh, + module => 'Contacts', + trans_id => $form->{cp_id}); + $form->{"cp_cvar_$_->{name}"} = $_->{value} for @{ $custom_variables }; + } + } 1;