diff options
Diffstat (limited to 'Mailman/Cgi/options.py')
| -rw-r--r-- | Mailman/Cgi/options.py | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/Mailman/Cgi/options.py b/Mailman/Cgi/options.py index 7b059c058..de41c5545 100644 --- a/Mailman/Cgi/options.py +++ b/Mailman/Cgi/options.py @@ -248,8 +248,11 @@ def main(): return if cgidata.has_key('change-of-address'): - # We could be changing the user's full name, email address, or both + # We could be changing the user's full name, email address, or both. + # Watch out for non-ASCII characters in the member's name. membername = cgidata.getvalue('fullname') + # Canonicalize the member's name + membername = Utils.canonstr(membername, language) newaddr = cgidata.getvalue('new-address') confirmaddr = cgidata.getvalue('confirm-address') @@ -610,9 +613,9 @@ def options_page(mlist, doc, user, cpuser, userlang, message=''): else: presentable_user = user - name = mlist.getMemberName(user) - if name: - presentable_user += ', %s' % name + fullname = Utils.uncanonstr(mlist.getMemberName(user), userlang) + if fullname: + presentable_user += ', %s' % fullname # Do replacements replacements = mlist.GetStandardReplacements(userlang) @@ -698,12 +701,8 @@ def options_page(mlist, doc, user, cpuser, userlang, message=''): 'change-of-address', _('Change My Address and Name')) replacements['<mm-global-change-of-address>'] = CheckBox( 'changeaddr-globally', 1, checked=0).Format() - - membername = mlist.getMemberName(user) - if membername is None: - membername = '' - replacements['<mm-fullname-box>'] = mlist.FormatBox('fullname', - value=membername) + replacements['<mm-fullname-box>'] = mlist.FormatBox( + 'fullname', value=fullname) # Create the topics radios. BAW: what if the list admin deletes a topic, # but the user still wants to get that topic message? |
