Prechádzať zdrojové kódy

Set contact name when adding contact via contact manager

Son NK 5 rokov pred
rodič
commit
fbcac59c7f

+ 9 - 2
app/dashboard/views/alias_contact_manager.py

@@ -8,6 +8,7 @@ from wtforms import StringField, validators, ValidationError
 
 from app.config import EMAIL_DOMAIN
 from app.dashboard.base import dashboard_bp
+from app.email_utils import parseaddr_unicode
 from app.extensions import db
 from app.log import LOG
 from app.models import Alias, Contact
@@ -78,7 +79,13 @@ def alias_contact_manager(alias_id):
                     if not Contact.get_by(reply_email=reply_email):
                         break
 
-                _, contact_email = parseaddr(contact_addr)
+                try:
+                    contact_name, contact_email = parseaddr_unicode(contact_addr)
+                except Exception:
+                    flash(f"{contact_addr} is invalid", "error")
+                    return redirect(
+                        url_for("dashboard.alias_contact_manager", alias_id=alias_id,)
+                    )
                 contact_email = contact_email.lower()
 
                 contact = Contact.get_by(alias_id=alias.id, website_email=contact_email)
@@ -97,7 +104,7 @@ def alias_contact_manager(alias_id):
                     user_id=alias.user_id,
                     alias_id=alias.id,
                     website_email=contact_email,
-                    website_from=contact_addr,
+                    name=contact_name,
                     reply_email=reply_email,
                 )