TF-3717 Allow access settings when own email address is null

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-05-19 16:05:52 +07:00
committed by Dat H. Pham
parent d9d300edc1
commit 25c2eb0ace
13 changed files with 54 additions and 44 deletions
@@ -243,7 +243,7 @@ class ComposerController extends BaseController
int? get savedEmailDraftHash => _savedEmailDraftHash;
GetEmailContentInteractor get getEmailContentInteractor => _getEmailContentInteractor;
GetServerSettingInteractor get getServerSettingInteractor => _getServerSettingInteractor;
GetAllIdentitiesInteractor get getAllIdentitiesInteractor => _getAllIdentitiesInteractor;
@@ -622,7 +622,7 @@ class ComposerController extends BaseController
mailboxDashBoardController.accountId.value,
);
}
Future<void> setupComposer() async {
_isEmailBodyLoaded = false;
final arguments = PlatformInfo.isWeb ? composerArgs : Get.arguments;
@@ -687,7 +687,7 @@ class ComposerController extends BaseController
required EmailActionType actionType,
String? listPost,
}) {
final senderEmailAddress = mailboxDashBoardController.sessionCurrent?.getOwnEmailAddress();
final senderEmailAddress = mailboxDashBoardController.sessionCurrent?.getOwnEmailAddressOrEmpty();
final isSender = presentationEmail.from
.asList()
.any((element) => element.emailAddress.isNotEmpty && element.emailAddress == senderEmailAddress);
@@ -1285,7 +1285,7 @@ class ComposerController extends BaseController
log('ComposerController::handleClickSaveAsTemplateButton: SESSION or ACCOUNT_ID or ARGUMENTS is NULL');
return;
}
MailboxId? templateMailboxId = mailboxDashBoardController
.getMailboxIdByRole(PresentationMailbox.roleTemplates);
templateMailboxId ??= mailboxDashBoardController.mapMailboxById
@@ -26,16 +26,20 @@ 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 {
return { EmailAddress(null, session.getOwnEmailAddress()) };
return {};
}
}
String createMdnEmailAddress() {
if (emailActionType == EmailActionType.editDraft && fromSender?.isNotEmpty == true) {
return fromSender!.first.emailAddress;
} else if (session.getOwnEmailAddressOrEmpty().isNotEmpty) {
return session.getOwnEmailAddressOrEmpty();
} else {
return session.getOwnEmailAddress();
return '';
}
}
@@ -48,7 +52,9 @@ extension CreateEmailRequestExtension on CreateEmailRequest {
return identity?.replyTo?.isNotEmpty == true
? identity!.replyTo!
: {EmailAddress(null, session.getOwnEmailAddress())};
: session.getOwnEmailAddressOrEmpty().isNotEmpty
? {EmailAddress(null, session.getOwnEmailAddressOrEmpty())}
: null;
}