TF-1083: approve draft when searching email

This commit is contained in:
ManhNTX
2022-10-21 13:01:32 +07:00
committed by Dat H. Pham
parent 7904a97847
commit 42a93541c6
2 changed files with 43 additions and 25 deletions
@@ -654,31 +654,45 @@ class MailboxDashBoardController extends ReloadableController {
List<PresentationEmail> listEmails,
PresentationMailbox destinationMailbox
) async {
if (accountId.value != null && selectedMailbox.value != null) {
if (destinationMailbox.isTrash) {
_moveSelectedEmailMultipleToMailboxAction(accountId.value!, MoveToMailboxRequest(
listEmails.listEmailIds,
selectedMailbox.value!.id,
destinationMailbox.id,
MoveAction.moving,
EmailActionType.moveToTrash));
} else if (destinationMailbox.isSpam) {
_moveSelectedEmailMultipleToMailboxAction(accountId.value!, MoveToMailboxRequest(
listEmails.listEmailIds,
selectedMailbox.value!.id,
destinationMailbox.id,
MoveAction.moving,
EmailActionType.moveToSpam));
} else {
_moveSelectedEmailMultipleToMailboxAction(accountId.value!, MoveToMailboxRequest(
listEmails.listEmailIds,
selectedMailbox.value!.id,
destinationMailbox.id,
MoveAction.moving,
EmailActionType.moveToMailbox,
destinationPath: destinationMailbox.mailboxPath));
for (final element in listEmails) {
final currentMailBox = searchController.isSearchEmailRunning
? element.findMailboxContain(mapMailboxById)
: selectedMailbox.value;
if (accountId.value != null && currentMailBox != null) {
if (destinationMailbox.isTrash) {
moveToMailbox(accountId.value!,
MoveToMailboxRequest(
[element].listEmailIds,
currentMailBox.id,
destinationMailbox.id,
MoveAction.moving,
EmailActionType.moveToTrash,
),
);
} else if (destinationMailbox.isSpam) {
moveToMailbox(accountId.value!,
MoveToMailboxRequest(
[element].listEmailIds,
currentMailBox.id,
destinationMailbox.id,
MoveAction.moving,
EmailActionType.moveToSpam,
),
);
} else {
moveToMailbox(accountId.value!,
MoveToMailboxRequest(
[element].listEmailIds,
currentMailBox.id,
destinationMailbox.id,
MoveAction.moving,
EmailActionType.moveToMailbox,
destinationPath: destinationMailbox.mailboxPath,
),
);
}
}
}
}
}
void _moveSelectedEmailMultipleToMailboxAction(
@@ -324,7 +324,11 @@ class ThreadController extends BaseController {
} else if (success is MarkAsMailboxReadHasSomeEmailFailure) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
} else if (success is MoveMultipleEmailToMailboxAllSuccess) {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
if(searchController.isSearchEmailRunning) {
mailboxDashBoardController.quickSearchEmails();
} else {
_refreshEmailChanges(currentEmailState: success.currentEmailState);
}
}
});
}