TF-4329 Fix rogue mailbox set request for favorite
This commit is contained in:
@@ -891,7 +891,10 @@ class MailboxController extends BaseMailboxController
|
|||||||
|
|
||||||
void goToCreateNewMailboxView(BuildContext context, {PresentationMailbox? parentMailbox}) async {
|
void goToCreateNewMailboxView(BuildContext context, {PresentationMailbox? parentMailbox}) async {
|
||||||
if (session != null && accountId != null) {
|
if (session != null && accountId != null) {
|
||||||
final arguments = MailboxCreatorArguments(allMailboxes, parentMailbox);
|
final arguments = MailboxCreatorArguments(
|
||||||
|
allMailboxes.withoutVirtualMailbox,
|
||||||
|
parentMailbox,
|
||||||
|
);
|
||||||
|
|
||||||
final result = PlatformInfo.isWeb
|
final result = PlatformInfo.isWeb
|
||||||
? await DialogRouter().pushGeneralDialog(routeName: AppRoutes.mailboxCreator, arguments: arguments)
|
? await DialogRouter().pushGeneralDialog(routeName: AppRoutes.mailboxCreator, arguments: arguments)
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import 'package:jmap_dart_client/jmap/core/session/session.dart';
|
|||||||
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
|
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
|
||||||
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||||
import 'package:model/email/presentation_email.dart';
|
import 'package:model/email/presentation_email.dart';
|
||||||
|
import 'package:model/extensions/list_presentation_mailbox_extension.dart';
|
||||||
import 'package:model/extensions/presentation_email_extension.dart';
|
import 'package:model/extensions/presentation_email_extension.dart';
|
||||||
import 'package:model/mailbox/presentation_mailbox.dart';
|
import 'package:model/mailbox/presentation_mailbox.dart';
|
||||||
import 'package:tmail_ui_user/features/base/base_mailbox_controller.dart';
|
import 'package:tmail_ui_user/features/base/base_mailbox_controller.dart';
|
||||||
@@ -824,7 +825,10 @@ class SearchMailboxController extends BaseMailboxController with MailboxActionHa
|
|||||||
|
|
||||||
void goToCreateNewMailboxView(BuildContext context, {PresentationMailbox? parentMailbox}) async {
|
void goToCreateNewMailboxView(BuildContext context, {PresentationMailbox? parentMailbox}) async {
|
||||||
if (session != null && accountId != null) {
|
if (session != null && accountId != null) {
|
||||||
final arguments = MailboxCreatorArguments(allMailboxes, parentMailbox);
|
final arguments = MailboxCreatorArguments(
|
||||||
|
allMailboxes.withoutVirtualMailbox,
|
||||||
|
parentMailbox,
|
||||||
|
);
|
||||||
|
|
||||||
final result = PlatformInfo.isWeb
|
final result = PlatformInfo.isWeb
|
||||||
? await DialogRouter().pushGeneralDialog(routeName: AppRoutes.mailboxCreator, arguments: arguments)
|
? await DialogRouter().pushGeneralDialog(routeName: AppRoutes.mailboxCreator, arguments: arguments)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
|
import 'package:collection/collection.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||||
import 'package:model/extensions/presentation_mailbox_extension.dart';
|
import 'package:model/extensions/presentation_mailbox_extension.dart';
|
||||||
import 'package:model/mailbox/presentation_mailbox.dart';
|
import 'package:model/mailbox/presentation_mailbox.dart';
|
||||||
@@ -18,4 +18,7 @@ extension ListPresentationMailboxExtension on List<PresentationMailbox> {
|
|||||||
bool get isAllUnreadMailboxes => every((mailbox) => mailbox.countUnReadEmailsAsString.isNotEmpty);
|
bool get isAllUnreadMailboxes => every((mailbox) => mailbox.countUnReadEmailsAsString.isNotEmpty);
|
||||||
|
|
||||||
List<MailboxId> get mailboxIds => map((mailbox) => mailbox.id).toList();
|
List<MailboxId> get mailboxIds => map((mailbox) => mailbox.id).toList();
|
||||||
|
|
||||||
|
List<PresentationMailbox> get withoutVirtualMailbox =>
|
||||||
|
whereNot((mailbox) => mailbox.isVirtualFolder).toList();
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user