TF-3894 Fix blank email content when opening email
This commit is contained in:
@@ -252,6 +252,9 @@ class ComposerController extends BaseController
|
||||
|
||||
TransformHtmlEmailContentInteractor get transformHtmlEmailContentInteractor => _transformHtmlEmailContentInteractor;
|
||||
|
||||
String get ownEmailAddress =>
|
||||
mailboxDashBoardController.ownEmailAddress.value;
|
||||
|
||||
late Worker uploadInlineImageWorker;
|
||||
late Worker dashboardViewStateWorker;
|
||||
late bool _isEmailBodyLoaded;
|
||||
@@ -521,6 +524,7 @@ class ComposerController extends BaseController
|
||||
session: session,
|
||||
accountId: accountId,
|
||||
emailActionType: arguments.emailActionType,
|
||||
ownEmailAddress: ownEmailAddress,
|
||||
subject: subjectEmail.value ?? '',
|
||||
emailContent: emailContent,
|
||||
fromSender: arguments.presentationEmail?.from ?? {},
|
||||
@@ -698,7 +702,7 @@ class ComposerController extends BaseController
|
||||
required EmailActionType actionType,
|
||||
String? listPost,
|
||||
}) {
|
||||
final senderEmailAddress = mailboxDashBoardController.sessionCurrent?.getOwnEmailAddressOrEmpty();
|
||||
final senderEmailAddress = ownEmailAddress;
|
||||
final isSender = presentationEmail.from
|
||||
.asList()
|
||||
.any((element) => element.emailAddress.isNotEmpty && element.emailAddress == senderEmailAddress);
|
||||
@@ -946,6 +950,7 @@ class ComposerController extends BaseController
|
||||
session: session,
|
||||
accountId: accountId,
|
||||
emailActionType: arguments.emailActionType,
|
||||
ownEmailAddress: ownEmailAddress,
|
||||
subject: subjectEmail.value ?? '',
|
||||
emailContent: emailContent,
|
||||
fromSender: arguments.presentationEmail?.from ?? {},
|
||||
@@ -2121,6 +2126,7 @@ class ComposerController extends BaseController
|
||||
session: session,
|
||||
accountId: accountId,
|
||||
emailActionType: arguments.emailActionType,
|
||||
ownEmailAddress: ownEmailAddress,
|
||||
subject: subjectEmail.value ?? '',
|
||||
emailContent: emailContent,
|
||||
fromSender: arguments.presentationEmail?.from ?? {},
|
||||
@@ -2171,6 +2177,7 @@ class ComposerController extends BaseController
|
||||
session: mailboxDashBoardController.sessionCurrent!,
|
||||
accountId: mailboxDashBoardController.accountId.value!,
|
||||
emailActionType: composerArguments.value!.emailActionType,
|
||||
ownEmailAddress: ownEmailAddress,
|
||||
subject: subjectEmail.value ?? '',
|
||||
emailContent: emailContent,
|
||||
fromSender: composerArguments.value!.presentationEmail?.from ?? {},
|
||||
|
||||
@@ -8,6 +8,7 @@ import 'package:model/email/email_action_type.dart';
|
||||
import 'package:model/extensions/identity_extension.dart';
|
||||
import 'package:model/extensions/list_email_address_extension.dart';
|
||||
import 'package:model/extensions/presentation_email_extension.dart';
|
||||
import 'package:model/extensions/session_extension.dart';
|
||||
import 'package:pointer_interceptor/pointer_interceptor.dart';
|
||||
import 'package:tmail_ui_user/features/base/state/button_state.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/composer_controller.dart';
|
||||
@@ -80,12 +81,18 @@ extension ComposerPrintDraftExtension on ComposerController {
|
||||
pattern: currentTime.toPatternForPrinting(locale.toLanguageTag()),
|
||||
);
|
||||
}
|
||||
String accountDisplayName = ownEmailAddress;
|
||||
if (accountDisplayName.trim().isEmpty) {
|
||||
accountDisplayName = mailboxDashBoardController
|
||||
.sessionCurrent
|
||||
?.getOwnEmailAddressOrUsername() ?? '';
|
||||
}
|
||||
log('ComposerPrintDraftExtension::_showPrintDraftsDialog:receiveTime = $receiveTime | emailActionType = $emailActionType');
|
||||
final childWidget = PointerInterceptor(
|
||||
child: PrintDraftDialogView(
|
||||
emailPrint: DraftEmailPrint(
|
||||
appName: appLocalizations.app_name,
|
||||
userName: mailboxDashBoardController.ownEmailAddress.value,
|
||||
userName: accountDisplayName,
|
||||
attachments: uploadController.allAttachmentsUploaded,
|
||||
emailContent: emailContent,
|
||||
fromPrefix: appLocalizations.from_email_address_prefix,
|
||||
|
||||
@@ -10,7 +10,6 @@ import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||
import 'package:model/email/email_action_type.dart';
|
||||
import 'package:model/email/mail_priority_header.dart';
|
||||
import 'package:model/extensions/email_address_extension.dart';
|
||||
import 'package:model/extensions/session_extension.dart';
|
||||
import 'package:model/mailbox/presentation_mailbox.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/model/email_request.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/extensions/identity_extension.dart';
|
||||
@@ -26,8 +25,8 @@ extension CreateEmailRequestExtension on CreateEmailRequest {
|
||||
Set<EmailAddress> createSenders() {
|
||||
if (identity?.email?.isNotEmpty == true) {
|
||||
return { identity!.toEmailAddress() };
|
||||
} else if (session.getOwnEmailAddressOrEmpty().isNotEmpty) {
|
||||
return { EmailAddress(null, session.getOwnEmailAddressOrEmpty()) };
|
||||
} else if (ownEmailAddress.isNotEmpty) {
|
||||
return { EmailAddress(null, ownEmailAddress) };
|
||||
} else {
|
||||
return {};
|
||||
}
|
||||
@@ -36,8 +35,8 @@ extension CreateEmailRequestExtension on CreateEmailRequest {
|
||||
String createMdnEmailAddress() {
|
||||
if (emailActionType == EmailActionType.editDraft && fromSender?.isNotEmpty == true) {
|
||||
return fromSender!.first.emailAddress;
|
||||
} else if (session.getOwnEmailAddressOrEmpty().isNotEmpty) {
|
||||
return session.getOwnEmailAddressOrEmpty();
|
||||
} else if (ownEmailAddress.isNotEmpty) {
|
||||
return ownEmailAddress;
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
@@ -52,8 +51,8 @@ extension CreateEmailRequestExtension on CreateEmailRequest {
|
||||
|
||||
return identity?.replyTo?.isNotEmpty == true
|
||||
? identity!.replyTo!
|
||||
: session.getOwnEmailAddressOrEmpty().isNotEmpty
|
||||
? {EmailAddress(null, session.getOwnEmailAddressOrEmpty())}
|
||||
: ownEmailAddress.isNotEmpty
|
||||
? {EmailAddress(null, ownEmailAddress)}
|
||||
: null;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ class CreateEmailRequest with EquatableMixin {
|
||||
final Session session;
|
||||
final AccountId accountId;
|
||||
final EmailActionType emailActionType;
|
||||
final String ownEmailAddress;
|
||||
final String subject;
|
||||
final String emailContent;
|
||||
final bool hasRequestReadReceipt;
|
||||
@@ -51,6 +52,7 @@ class CreateEmailRequest with EquatableMixin {
|
||||
required this.session,
|
||||
required this.accountId,
|
||||
required this.emailActionType,
|
||||
required this.ownEmailAddress,
|
||||
required this.subject,
|
||||
required this.emailContent,
|
||||
this.fromSender,
|
||||
@@ -88,6 +90,7 @@ class CreateEmailRequest with EquatableMixin {
|
||||
session,
|
||||
accountId,
|
||||
emailActionType,
|
||||
ownEmailAddress,
|
||||
subject,
|
||||
emailContent,
|
||||
fromSender,
|
||||
|
||||
Reference in New Issue
Block a user