TF-1718 Handle unsubscribe mail by mailto links
Signed-off-by: dab246 <tdvu@linagora.com> (cherry picked from commit f96273c52456ecd758d8bbbafc4d2c7af6ec7921)
This commit is contained in:
@@ -489,6 +489,9 @@ class ComposerController extends BaseController {
|
||||
isInitialRecipient.value = true;
|
||||
toAddressExpandMode.value = ExpandMode.COLLAPSE;
|
||||
}
|
||||
if (arguments.body?.isNotEmpty == true) {
|
||||
_getEmailContentFromMailtoUri(arguments.body!);
|
||||
}
|
||||
_updateStatusEmailSendButton();
|
||||
break;
|
||||
case EmailActionType.reply:
|
||||
@@ -524,6 +527,21 @@ class ComposerController extends BaseController {
|
||||
_initAttachments(arguments.attachments ?? []);
|
||||
_getEmailContentFromSessionStorageBrowser(arguments.emailContents!);
|
||||
break;
|
||||
case EmailActionType.composeFromUnsubscribeMailtoLink:
|
||||
if (arguments.subject != null) {
|
||||
setSubjectEmail(arguments.subject!);
|
||||
subjectEmailInputController.text = arguments.subject!;
|
||||
}
|
||||
if (arguments.emailAddress != null) {
|
||||
listToEmailAddress.add(arguments.emailAddress!);
|
||||
isInitialRecipient.value = true;
|
||||
toAddressExpandMode.value = ExpandMode.COLLAPSE;
|
||||
}
|
||||
if (arguments.body?.isNotEmpty == true) {
|
||||
_getEmailContentFromUnsubscribeMailtoLink(arguments.body!);
|
||||
}
|
||||
_updateStatusEmailSendButton();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -1422,6 +1440,26 @@ class ComposerController extends BaseController {
|
||||
));
|
||||
}
|
||||
|
||||
void _getEmailContentFromMailtoUri(String content) {
|
||||
log('ComposerController::_getEmailContentFromMailtoUri:content: $content');
|
||||
consumeState(Stream.value(
|
||||
Right(GetEmailContentSuccess(
|
||||
htmlEmailContent: content,
|
||||
attachments: [],
|
||||
))
|
||||
));
|
||||
}
|
||||
|
||||
void _getEmailContentFromUnsubscribeMailtoLink(String content) {
|
||||
log('ComposerController::_getEmailContentFromUnsubscribeMailtoLink:content: $content');
|
||||
consumeState(Stream.value(
|
||||
Right(GetEmailContentSuccess(
|
||||
htmlEmailContent: content,
|
||||
attachments: [],
|
||||
))
|
||||
));
|
||||
}
|
||||
|
||||
void _getEmailContentFromEmailId({required EmailId emailId, bool isDraftEmail = false}) {
|
||||
final session = mailboxDashBoardController.sessionCurrent;
|
||||
final accountId = mailboxDashBoardController.accountId.value;
|
||||
|
||||
@@ -47,6 +47,8 @@ class MobileEditorView extends StatelessWidget with EditorViewMixin {
|
||||
case EmailActionType.editSendingEmail:
|
||||
case EmailActionType.composeFromContentShared:
|
||||
case EmailActionType.reopenComposerBrowser:
|
||||
case EmailActionType.composeFromMailtoUri:
|
||||
case EmailActionType.composeFromUnsubscribeMailtoLink:
|
||||
if (contentViewState == null) {
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
|
||||
@@ -81,6 +81,8 @@ class WebEditorView extends StatelessWidget with EditorViewMixin {
|
||||
case EmailActionType.editSendingEmail:
|
||||
case EmailActionType.composeFromContentShared:
|
||||
case EmailActionType.reopenComposerBrowser:
|
||||
case EmailActionType.composeFromUnsubscribeMailtoLink:
|
||||
case EmailActionType.composeFromMailtoUri:
|
||||
if (contentViewState == null) {
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user