TF-1321 Get default identity for Team-Mailbox

This commit is contained in:
dab246
2023-02-07 09:24:31 +07:00
committed by Dat Vu
parent 1bee62b474
commit fdb354d780
3 changed files with 25 additions and 9 deletions
@@ -258,17 +258,33 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
void _getAllIdentitiesSuccess(GetAllIdentitiesSuccess success) { void _getAllIdentitiesSuccess(GetAllIdentitiesSuccess success) {
if (success.identities?.isNotEmpty == true) { if (success.identities?.isNotEmpty == true) {
try { if (currentEmail != null) {
final identityDefault = success.identities! final currentMailbox = getMailboxContain(currentEmail!);
.firstWhere((identity) => identity.mayDelete == false); log('SingleEmailController::_getAllIdentitiesSuccess():currentMailbox: $currentMailbox');
_identitySelected = identityDefault; if (currentMailbox != null && currentMailbox.isPersonal == false) {
} catch (e) { _setUpDefaultIdentityForTeamMailbox(success.identities!, currentMailbox);
logError('SingleEmailController::_getAllIdentitiesSuccess(): ${e.toString()}'); } else {
_identitySelected = success.identities!.first; _setUpDefaultIdentity(success.identities!);
}
} else {
_setUpDefaultIdentity(success.identities!);
} }
} }
} }
void _setUpDefaultIdentityForTeamMailbox(List<Identity> identities, PresentationMailbox currentMailbox) {
final matchedTeamMailboxIdentity = identities.firstWhereOrNull((identity) => identity.email == currentMailbox.emailTeamMailBoxes);
if (matchedTeamMailboxIdentity != null) {
_identitySelected = matchedTeamMailboxIdentity;
} else {
_identitySelected = identities.first;
}
}
void _setUpDefaultIdentity(List<Identity> identities) {
_identitySelected = identities.first;
}
void _getEmailContentAction(EmailId emailId) async { void _getEmailContentAction(EmailId emailId) async {
final accountId = mailboxDashBoardController.accountId.value; final accountId = mailboxDashBoardController.accountId.value;
final baseDownloadUrl = mailboxDashBoardController.sessionCurrent?.getDownloadUrl(); final baseDownloadUrl = mailboxDashBoardController.sessionCurrent?.getDownloadUrl();
@@ -369,7 +369,7 @@ class MailBoxFolderTileBuilder {
), ),
if(_mailboxNode.item.isTeamMailboxes) if(_mailboxNode.item.isTeamMailboxes)
Text( Text(
_mailboxNode.item.nameTeamMailBoxes ?? '', _mailboxNode.item.emailTeamMailBoxes ?? '',
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap, softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow, overflow: CommonTextStyle.defaultTextOverFlow,
+1 -1
View File
@@ -97,7 +97,7 @@ class PresentationMailbox with EquatableMixin {
} }
} }
String? get nameTeamMailBoxes => namespace?.value.substring( String? get emailTeamMailBoxes => namespace?.value.substring(
(namespace?.value.indexOf('[') ?? 0) + 1, (namespace?.value.indexOf('[') ?? 0) + 1,
namespace?.value.indexOf(']')); namespace?.value.indexOf(']'));