diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 74b9892ce..54ca5ea4c 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -9,6 +9,7 @@ (Diona Kidd, Knowmad Technologies) 7.4.15 + - fix: DataForm doesn't send mail if mail fields are in a tab - fix: Calendar feed list doesn't display in IE 7.4.14 diff --git a/lib/WebGUI/Asset/Wobject/DataForm.pm b/lib/WebGUI/Asset/Wobject/DataForm.pm index 4e05857cc..b65058312 100644 --- a/lib/WebGUI/Asset/Wobject/DataForm.pm +++ b/lib/WebGUI/Asset/Wobject/DataForm.pm @@ -782,7 +782,25 @@ sub sendEmail { $row->{"field.value"} = WebGUI::HTML::format($row->{"field.value"},'mixed'); } } - my $message = $self->processTemplate($var,$self->get("emailTemplateId")); + my @rows = map { @{ $_->{'tab.field_loop'} } } @{$var->{tab_loop}}; + foreach my $row (@rows) { + if ($row->{"tab.field.name"} eq "to") { + $to = $row->{"tab.field.value"}; + } elsif ($row->{"tab.field.name"} eq "from") { + $from = $row->{"tab.field.value"}; + } elsif ($row->{"tab.field.name"} eq "cc") { + $cc = $row->{"tab.field.value"}; + } elsif ($row->{"tab.field.name"} eq "bcc") { + $bcc = $row->{"tab.field.value"}; + } elsif ($row->{"tab.field.name"} eq "subject") { + $subject = $row->{"tab.field.value"}; + } elsif ($row->{"tab.field.type"} eq "textArea") { + $row->{"tab.field.value"} =~ s/\n//; + } elsif ($row->{"tab.field.type"} eq "textarea") { + $row->{"tab.field.value"} = WebGUI::HTML::format($row->{"tab.field.value"},'mixed'); + } + } + my $message = $self->processTemplate($var,$self->get("emailTemplateId")); WebGUI::Macro::process($self->session,\$message); my @attachments = $self->get('mailAttachments')? @{$self->getAttachedFiles({returnType=>'attachments',entryId=>$var->{entryId}})}