@@ -2,7 +2,7 @@ import { assertMainOrNode } from "../api/common/Env.js"
22import { CustomerPropertiesTypeRef , GroupInfo , User } from "../api/entities/sys/TypeRefs.js"
33import { Contact , createContact , createContactMailAddress , Mail } from "../api/entities/tutanota/TypeRefs.js"
44import { fullNameToFirstAndLastName , mailAddressToFirstAndLastName } from "../misc/parsing/MailAddressParser.js"
5- import { assertNotNull , contains , neverNull , uint8ArrayToBase64 } from "@tutao/tutanota-utils"
5+ import { assertNotNull , neverNull , uint8ArrayToBase64 } from "@tutao/tutanota-utils"
66import {
77 ALLOWED_IMAGE_FORMATS ,
88 ContactAddressType ,
@@ -16,7 +16,7 @@ import {
1616 TUTA_MAIL_ADDRESS_DOMAINS ,
1717} from "../api/common/TutanotaConstants.js"
1818import { UserController } from "../api/main/UserController.js"
19- import { getEnabledMailAddressesForGroupInfo , getGroupInfoDisplayName } from "../api/common/utils/GroupUtils.js"
19+ import { getEnabledMailAddressesForGroupInfo , getGroupInfoDisplayName , isAliasEnabledForGroupInfo } from "../api/common/utils/GroupUtils.js"
2020import { lang , Language , TranslationKey } from "../misc/LanguageViewModel.js"
2121import { MailboxDetail } from "./MailboxModel.js"
2222import { LoginController } from "../api/main/LoginController.js"
@@ -99,13 +99,19 @@ export function getEnabledMailAddressesWithUser(mailboxDetail: MailboxDetail, us
9999 }
100100}
101101
102+ export function isAliasEnabledWithUser ( mailboxDetail : MailboxDetail , userGroupInfo : GroupInfo , aliasAddress : string ) : boolean {
103+ if ( isUserMailbox ( mailboxDetail ) ) {
104+ return isAliasEnabledForGroupInfo ( userGroupInfo , aliasAddress )
105+ } else {
106+ return isAliasEnabledForGroupInfo ( mailboxDetail . mailGroupInfo , aliasAddress )
107+ }
108+ }
109+
102110/**
103111 * @return {string } default mail address
104112 */
105113export function getDefaultSenderFromUser ( { props, userGroupInfo } : UserController ) : string {
106- return props . defaultSender && contains ( getEnabledMailAddressesForGroupInfo ( userGroupInfo ) , props . defaultSender )
107- ? props . defaultSender
108- : neverNull ( userGroupInfo . mailAddress )
114+ return props . defaultSender && isAliasEnabledForGroupInfo ( userGroupInfo , props . defaultSender ) ? props . defaultSender : neverNull ( userGroupInfo . mailAddress )
109115}
110116
111117export function isUserMailbox ( mailboxDetails : MailboxDetail ) : boolean {
@@ -123,7 +129,7 @@ export function getDefaultSender(logins: LoginController, mailboxDetails: Mailbo
123129export function isUserEmail ( logins : LoginController , mailboxDetails : MailboxDetail , address : string ) : boolean {
124130 if ( isUserMailbox ( mailboxDetails ) ) {
125131 return (
126- contains ( getEnabledMailAddressesWithUser ( mailboxDetails , logins . getUserController ( ) . userGroupInfo ) , address ) ||
132+ isAliasEnabledWithUser ( mailboxDetails , logins . getUserController ( ) . userGroupInfo , address ) ||
127133 logins . getUserController ( ) . userGroupInfo . mailAddress === address
128134 )
129135 } else {
0 commit comments