TF-1321 Get default identity for Team-Mailbox
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
@@ -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(']'));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user