remove obsolete sender formats

This commit is contained in:
Son Nguyen Kim 2021-09-20 12:27:36 +02:00
parent 7bb54e1e8e
commit 153831ed1a
3 changed files with 16 additions and 30 deletions

View file

@ -160,9 +160,7 @@ class PlanEnum(EnumE):
# Specify the format for sender address # Specify the format for sender address
class SenderFormatEnum(EnumE): class SenderFormatEnum(EnumE):
AT = 0 # John Wick - john at wick.com AT = 0 # John Wick - john at wick.com
VIA = 1 # john@wick.com via SimpleLogin
A = 2 # John Wick - john(a)wick.com A = 2 # John Wick - john(a)wick.com
FULL = 3 # John Wick - john@wick.com
class AliasGeneratorEnum(EnumE): class AliasGeneratorEnum(EnumE):
@ -1486,26 +1484,19 @@ class Contact(db.Model, ModelMixin):
`new_email` is a special reply address `new_email` is a special reply address
""" """
user = self.user user = self.user
if ( sender_format = user.sender_format if user else SenderFormatEnum.AT.value
not user
or not SenderFormatEnum.has_value(user.sender_format)
or user.sender_format == SenderFormatEnum.VIA.value
):
new_name = f"{self.website_email} via SimpleLogin"
else:
if user.sender_format == SenderFormatEnum.AT.value:
formatted_email = self.website_email.replace("@", " at ").strip()
elif user.sender_format == SenderFormatEnum.A.value:
formatted_email = self.website_email.replace("@", "(a)").strip()
elif user.sender_format == SenderFormatEnum.FULL.value:
formatted_email = self.website_email.strip()
# Prefix name to formatted email if available if sender_format == SenderFormatEnum.AT.value:
new_name = ( formatted_email = self.website_email.replace("@", " at ").strip()
(self.name + " - " + formatted_email) else:
if self.name and self.name != self.website_email.strip() formatted_email = self.website_email.replace("@", "(a)").strip()
else formatted_email
) # Prefix name to formatted email if available
new_name = (
(self.name + " - " + formatted_email)
if self.name and self.name != self.website_email.strip()
else formatted_email
)
new_addr = formataddr((new_name, self.reply_email)).strip() new_addr = formataddr((new_name, self.reply_email)).strip()
return new_addr.strip() return new_addr.strip()

View file

@ -59,9 +59,9 @@ def test_update_settings_sender_format(flask_client):
r = flask_client.patch("/api/setting", json={"sender_format": "invalid"}) r = flask_client.patch("/api/setting", json={"sender_format": "invalid"})
assert r.status_code == 400 assert r.status_code == 400
r = flask_client.patch("/api/setting", json={"sender_format": "VIA"}) r = flask_client.patch("/api/setting", json={"sender_format": "A"})
assert r.status_code == 200 assert r.status_code == 200
assert user.sender_format == SenderFormatEnum.VIA.value assert user.sender_format == SenderFormatEnum.A.value
def test_get_setting_domains(flask_client): def test_get_setting_domains(flask_client):

View file

@ -133,17 +133,12 @@ def test_new_addr(flask_client):
name="First Last", name="First Last",
commit=True, commit=True,
) )
assert c1.new_addr() == '"abcd@example.com via SimpleLogin" <rep@SL>' assert c1.new_addr() == '"First Last - abcd(a)example.com" <rep@SL>'
# set sender format = FULL
user.sender_format = SenderFormatEnum.FULL.value
db.session.commit()
assert c1.new_addr() == '"First Last - abcd@example.com" <rep@SL>'
# Make sure email isn't duplicated if sender name equals email # Make sure email isn't duplicated if sender name equals email
c1.name = "abcd@example.com" c1.name = "abcd@example.com"
db.session.commit() db.session.commit()
assert c1.new_addr() == '"abcd@example.com" <rep@SL>' assert c1.new_addr() == '"abcd(a)example.com" <rep@SL>'
# set sender_format = AT # set sender_format = AT
user.sender_format = SenderFormatEnum.AT.value user.sender_format = SenderFormatEnum.AT.value