+sub action_edit_email {
+ my ($self) = @_;
+
+ my $letter = $self->_update;
+ $self->export_letter_to_form($letter);
+
+ $::form->{formname} = "letter";
+ $::form->{type} = "letter";
+ $::form->{letternumber} = $self->letter->letternumber;
+
+ my @hiddens = map {
+ my $value = $letter->$_;
+ $value = $value->to_kivitendo if ref($_) =~ m{Date};
+
+ { name => "letter.$_", value => $value }
+ } ($letter->meta->columns);
+
+ my %vars = (
+ script => 'controller.pl',
+ title => t8('Send letter via e-mail'),
+ email => $letter->contact ? $letter->contact->cp_email : '',
+ subject => $::form->generate_email_subject,
+ a_filename => $::form->generate_attachment_filename,
+ action => 'Letter/send_email',
+ HIDDEN => \@hiddens,
+ SHOW_BCC => $::auth->assert('email_bcc', 'may fail'),
+ );
+
+ $self->render('generic/edit_email', %vars);
+}
+
+sub action_send_email {
+ my ($self) = @_;
+
+ $::form->{media} = 'email';
+ $self->action_print_letter(
+ email => {
+ to => $::form->{email},
+ map { ($_ => $::form->{$_}) } qw(cc bcc subject attachment_filename message)
+ }
+ );
+}
+