TF-3189 new reply to field in the mail composer

This commit is contained in:
Florent Azavant
2024-10-30 16:02:00 +01:00
committed by Dat H. Pham
parent 78be3e4d79
commit 74fc8d5d72
20 changed files with 354 additions and 31 deletions
@@ -39,7 +39,9 @@ extension CreateEmailRequestExtension on CreateEmailRequest {
}
Set<EmailAddress> createReplyToRecipients() {
if (identity?.replyTo?.isNotEmpty == true) {
if (replyToRecipients.isNotEmpty) {
return replyToRecipients.toSet();
} else if (identity?.replyTo?.isNotEmpty == true) {
return identity!.replyTo!.toSet();
} else {
return { EmailAddress(null, session.getOwnEmailAddress()) };
@@ -75,10 +75,11 @@ extension EmailActionTypeExtension on EmailActionType {
final subject = presentationEmail.subject?.escapeLtGtHtmlString() ?? '';
final receivedAt = presentationEmail.receivedAt;
final fromEmailAddress = presentationEmail.from.toEscapeHtmlStringUseCommaSeparator();
final toEmailAddress = presentationEmail.to.toEscapeHtmlStringUseCommaSeparator();
final ccEmailAddress = presentationEmail.cc.toEscapeHtmlStringUseCommaSeparator();
final bccEmailAddress = presentationEmail.bcc.toEscapeHtmlStringUseCommaSeparator();
final fromEmailAddress = presentationEmail.from.listEmailAddressToString(isFullEmailAddress: true);
final toEmailAddress = presentationEmail.to.listEmailAddressToString(isFullEmailAddress: true);
final ccEmailAddress = presentationEmail.cc.listEmailAddressToString(isFullEmailAddress: true);
final bccEmailAddress = presentationEmail.bcc.listEmailAddressToString(isFullEmailAddress: true);
final replyToEmailAddress = presentationEmail.replyTo.listEmailAddressToString(isFullEmailAddress: true);
if (subject.isNotEmpty) {
headerQuoted = headerQuoted
@@ -116,6 +117,12 @@ extension EmailActionTypeExtension on EmailActionType {
.append(bccEmailAddress)
.addNewLineTag();
}
if (replyToEmailAddress.isNotEmpty) {
headerQuoted = headerQuoted
.append('${appLocalizations.reply_to_email_address_prefix}: ')
.append(replyToEmailAddress)
.addNewLineTag();
}
return headerQuoted;
default:
@@ -14,6 +14,8 @@ extension PrefixEmailAddressExtension on PrefixEmailAddress {
return AppLocalizations.of(context).cc_email_address_prefix;
case PrefixEmailAddress.bcc:
return AppLocalizations.of(context).bcc_email_address_prefix;
case PrefixEmailAddress.replyTo:
return AppLocalizations.of(context).reply_to_email_address_prefix;
case PrefixEmailAddress.from:
return AppLocalizations.of(context).from_email_address_prefix;
}
@@ -27,6 +29,8 @@ extension PrefixEmailAddressExtension on PrefixEmailAddress {
return email.cc?.toList() ?? List.empty();
case PrefixEmailAddress.bcc:
return email.bcc?.toList() ?? List.empty();
case PrefixEmailAddress.replyTo:
return email.replyTo?.toList() ?? List.empty();
case PrefixEmailAddress.from:
return email.from?.toList() ?? List.empty();
}