fixup! TF-4392 [Team Mailbox] Hide Recover deleted messages and Archive message in team mailbox

This commit is contained in:
dab246
2026-04-01 16:40:42 +07:00
committed by Dat H. Pham
parent 7cc9cd82fa
commit 82eb6b7d06
4 changed files with 15 additions and 12 deletions
@@ -87,20 +87,20 @@ mixin MailboxWidgetMixin {
return [
if (PlatformInfo.isWeb && mailbox.isSubscribedMailbox)
MailboxActions.openInNewTab,
if (mailbox.myRights?.mayCreateChild != false)
if (mailbox.myRights?.mayCreateChild == true)
MailboxActions.newSubfolder,
if (mailbox.countUnReadEmailsAsString.isNotEmpty)
MailboxActions.markAsRead,
if (mailbox.myRights?.mayRename != false)
if (mailbox.myRights?.mayRename == true)
MailboxActions.rename,
if (mailbox.isTeamMailboxes)
if (mailbox.isSubscribedMailbox)
MailboxActions.disableMailbox
else
MailboxActions.enableMailbox,
if (mailbox.isTrash && mailbox.myRights?.mayRemoveItems != false)
if (mailbox.isTrash && mailbox.myRights?.mayRemoveItems == true)
MailboxActions.emptyTrash,
if (mailbox.myRights?.mayDelete != false)
if (mailbox.myRights?.mayDelete == true)
MailboxActions.delete,
];
}
@@ -2406,7 +2406,7 @@ class MailboxDashBoardController extends ReloadableController
PresentationMailbox? mailbox
) {
return mailbox != null &&
(mailbox.isTrash || (mailbox.isTrashTeamMailbox && mailbox.myRights?.mayRemoveItems != false)) &&
(mailbox.isTrash || (mailbox.isTrashTeamMailbox && mailbox.myRights?.mayRemoveItems == true)) &&
mailbox.countTotalEmails > 0 &&
!searchController.isSearchActive() &&
responsiveUtils.isWebDesktop(context);
@@ -2417,7 +2417,7 @@ class MailboxDashBoardController extends ReloadableController
PresentationMailbox? mailbox
) {
return mailbox != null &&
(mailbox.isTrash || (mailbox.isTrashTeamMailbox && mailbox.myRights?.mayRemoveItems != false)) &&
(mailbox.isTrash || (mailbox.isTrashTeamMailbox && mailbox.myRights?.mayRemoveItems == true)) &&
mailbox.countTotalEmails > 0 &&
!searchController.isSearchActive() &&
!responsiveUtils.isWebDesktop(context);
@@ -48,8 +48,9 @@ extension HandlePressEmailSelectionActionExtension on ThreadController {
EmailSelectionActionType.markAsNotSpam
else
EmailSelectionActionType.markAsSpam,
if (selectedMailbox?.isArchive != true &&
selectedMailbox?.isChildOfTeamMailboxes != true)
if (emails.isArchiveMessageEnabled(
mailboxDashBoardController.mapMailboxById,
))
EmailSelectionActionType.archiveMessage,
if (selectedMailbox?.isDeletePermanentlyEnabled == true)
EmailSelectionActionType.deletePermanently,
@@ -35,10 +35,12 @@ extension GetThreadDetailActionStatus on ThreadDetailController {
bool get threadDetailIsTeamMailbox {
return emailsInThreadDetailInfo.any((email) {
final mailboxId = email.mailboxIdContain;
if (mailboxId == null) return false;
return mailboxDashBoardController.mapMailboxById[mailboxId]
?.isChildOfTeamMailboxes ==
return email.mailboxIds?.keys.any(
(mailboxId) =>
mailboxDashBoardController
.mapMailboxById[mailboxId]?.isChildOfTeamMailboxes ==
true,
) ==
true;
});
}