diff options
author | Mark Sapiro <mark@msapiro.net> | 2013-07-12 15:11:08 -0700 |
---|---|---|
committer | Mark Sapiro <mark@msapiro.net> | 2013-07-12 15:11:08 -0700 |
commit | 77626e68e3ad0fd5fdfa7fac5e62a4264003a03a (patch) | |
tree | 9bd910716c7a5089a33903f40abd0483d39d0997 /Mailman/Gui | |
parent | 36f6592662f0a84b60b2277a00cf3cc85df52b8d (diff) | |
download | mailman2-77626e68e3ad0fd5fdfa7fac5e62a4264003a03a.tar.gz mailman2-77626e68e3ad0fd5fdfa7fac5e62a4264003a03a.tar.xz mailman2-77626e68e3ad0fd5fdfa7fac5e62a4264003a03a.zip |
- Changed the admin GUI to report only the bad entries in a list of email
addresses if any are bad. (LP: #558253)
Diffstat (limited to 'Mailman/Gui')
-rw-r--r-- | Mailman/Gui/GUIBase.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/Mailman/Gui/GUIBase.py b/Mailman/Gui/GUIBase.py index a365acaf..9a8b68fb 100644 --- a/Mailman/Gui/GUIBase.py +++ b/Mailman/Gui/GUIBase.py @@ -63,6 +63,7 @@ class GUIBase: if isinstance(val, ListType): return val addrs = [] + bad_addrs = [] for addr in [s.strip() for s in val.split(NL)]: # Discard empty lines if not addr: @@ -77,22 +78,24 @@ class GUIBase: try: re.compile(addr) except re.error: - raise ValueError + bad_addrs.append(addr) elif (wtype == mm_cfg.EmailListEx and addr.startswith('@') and property.endswith('_these_nonmembers')): # XXX Needs to be reviewed for list@domain names. # don't reference your own list if addr[1:] == mlist.internal_name(): - raise ValueError + bad_addrs.append(addr) # check for existence of list? For now allow # reference to list before creating it. else: - raise + bad_addrs.append(addr) if property in ('regular_exclude_lists', 'regular_include_lists'): if addr.lower() == mlist.GetListEmail().lower(): - raise Errors.EmailAddressError + bad_addrs.append(addr) addrs.append(addr) + if bad_addrs: + raise Errors.EmailAddressError, ', '.join(bad_addrs) return addrs # This is a host name, i.e. verbatim if wtype == mm_cfg.Host: @@ -168,9 +171,9 @@ class GUIBase: except ValueError: doc.addError(_('Invalid value for variable: %(property)s')) # This is the parent of MMBadEmailError and MMHostileAddress - except Errors.EmailAddressError: + except Errors.EmailAddressError, error: doc.addError( - _('Bad email address for option %(property)s: %(val)s')) + _('Bad email address for option %(property)s: %(error)s')) else: # Set the attribute, which will normally delegate to the mlist self._setValue(mlist, property, val, doc) |