sub display_row {
$main::lxdebug->enter_sub();
- _check_io_auth();
-
my $form = $main::form;
my %myconfig = %main::myconfig;
my $locale = $main::locale;
my $form = $main::form;
my %myconfig = %main::myconfig;
- _check_io_auth();
-
$form->{"taxaccounts"} =~ s/\s*$//;
$form->{"taxaccounts"} =~ s/^\s*//;
foreach my $accno (split(/\s*/, $form->{"taxaccounts"})) {
sub show_sales_purchase_email_dialog {
my $email = '';
+ my $email_cc = '';
+ my $record_email;
if ($::form->{cp_id}) {
$email = SL::DB::Contact->load_cached($::form->{cp_id})->cp_email;
}
- my $invoice_mail;
- if ($::form->{type} eq 'invoice' && !$email) {
- # check for invoice_mail
- $email = SL::DB::Customer->load_cached($::form->{vc_id})->invoice_mail;
- $invoice_mail = 1 if $email;
+ # write a dispatch table if a third type enters
+ # check record mail for sales_invoice
+ if ($::form->{type} eq 'invoice' && (!$email || $::instance_conf->get_invoice_mail_settings ne 'cp')) {
+ # check for invoice_mail if defined (vc.invoice_email)
+ $record_email = SL::DB::Customer->load_cached($::form->{vc_id})->invoice_mail;
+ if ($record_email) {
+ # check if cc for contact is also wanted
+ $email_cc = $email if ($::instance_conf->get_invoice_mail_settings eq 'invoice_mail_cc_cp');
+ $email = $record_email;
+ }
+ }
+ # check record mail for sales_delivery_order
+ if ($::form->{type} eq 'sales_delivery_order') {
+ # check for deliver_order_mail if defined (vc.delivery_order_mail)
+ $record_email = SL::DB::Customer->load_cached($::form->{vc_id})->delivery_order_mail;
+ if ($record_email) {
+ # check if cc for contact is also wanted
+ $email_cc = $email; # always cc to cp
+ $email = $record_email;
+ }
}
+ # still no email? use general mail (vc.email)
if (!$email && $::form->{vc} && $::form->{vc_id}) {
$email = SL::DB::Customer->load_cached($::form->{vc_id})->email if 'customer' eq $::form->{vc};
$email = SL::DB::Vendor ->load_cached($::form->{vc_id})->email if 'vendor' eq $::form->{vc};
my $email_form = {
to => $email,
+ cc => $email_cc,
subject => $::form->generate_email_subject,
- message => $::form->generate_email_body,
+ message => $::form->generate_email_body('record_email' => $record_email),
attachment_filename => $::form->generate_attachment_filename,
js_send_function => 'kivi.SalesPurchase.send_email()',
};
show_bcc => $::auth->assert('email_bcc', 'may fail'),
FILES => \%files,
is_customer => $::form->{vc} eq 'customer',
- is_invoice_mail => $invoice_mail,
+ is_invoice_mail => ($record_email && $::form->{type} eq 'invoice'),
});
print $::form->ajax_response_header, $html;