diff options
| author | bwarsaw | 2001-07-29 19:01:47 +0000 |
|---|---|---|
| committer | bwarsaw | 2001-07-29 19:01:47 +0000 |
| commit | 4fc1513debf661abab10b41ed76a90832bddc428 (patch) | |
| tree | 9558bd3366e3afed2990a9b3dd608c41b8a5a44c | |
| parent | 409c2af09d5d44222d2e97de46b8adae78b385a9 (diff) | |
| download | mailman-4fc1513debf661abab10b41ed76a90832bddc428.tar.gz mailman-4fc1513debf661abab10b41ed76a90832bddc428.tar.zst mailman-4fc1513debf661abab10b41ed76a90832bddc428.zip | |
Another step towards conversion to MemberAdaptor API.
GetPreferredLanguage() -> getMemberLanguage(). Note this isn't
finished yet since there are still some direct access to
mlist.members. :(
Use the UserDesc helper class.
membership_options(): When calculating the length of the realname
field, include the email addresses. Since this fits in the same
table cell, the text box should be the max of the email addresses
or realnames.
Also, always include the realname TextBox, even if there is no
realname for the user.
| -rw-r--r-- | Mailman/Cgi/admin.py | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/Mailman/Cgi/admin.py b/Mailman/Cgi/admin.py index 4882ca5f3..4c4f4959e 100644 --- a/Mailman/Cgi/admin.py +++ b/Mailman/Cgi/admin.py @@ -38,6 +38,7 @@ from Mailman import MailList from Mailman import Errors from Mailman import MailCommandHandler from Mailman import i18n +from Mailman.UserDesc import UserDesc from Mailman.htmlformat import * from Mailman.Cgi import Auth from Mailman.Logging.Syslog import syslog @@ -805,17 +806,16 @@ def membership_options(mlist, cgidata, doc, form): longest = 0 if members: names = filter(None, [mlist.getMemberName(s) for s in members]) - if names: - longest = max([len(s) for s in names]) + # Make the name field at least as long as the longest email address + longest = max([len(s) for s in names + members]) # Now populate the rows for addr in members: link = Link(mlist.GetOptionsURL(addr, obscure=1), mlist.getMemberCPAddress(addr)) fullname = mlist.getMemberName(addr) - if fullname: - name = TextBox(addr + '_realname', fullname, size=longest).Format() - else: - name = '' + if fullname is None: + fullname = '' + name = TextBox(addr + '_realname', fullname, size=longest).Format() cells = [link.Format() + '<br>' + name + Hidden('user', urllib.quote(addr)).Format(), @@ -831,6 +831,7 @@ def membership_options(mlist, cgidata, doc, form): checked = 0 box = CheckBox('%s_%s' % (addr, opt), value, checked) cells.append(Center(box).Format()) + # FIXME: use MemberAdaptor interface if mlist.members.has_key(addr): cells.append(Center(CheckBox(addr + '_digest', 'off', 0).Format())) else: @@ -844,7 +845,7 @@ def membership_options(mlist, cgidata, doc, form): checked = 0 cells.append(Center(CheckBox('%s_plain' % addr, value, checked))) # User's preferred language - langpref = mlist.GetPreferredLanguage(addr) + langpref = mlist.getMemberLanguage(addr) langs = mlist.GetAvailableLanguages() langdescs = [_(Utils.GetLanguageDescr(lang)) for lang in langs] try: @@ -1178,13 +1179,9 @@ def change_options(mlist, category, cgidata, doc): subscribe_errors = [] subscribe_success = [] - # for satisfying the ApprovedAddMember() interface - class UserDesc: pass - for entry in entries: - userdesc = UserDesc() - userdesc.fullname, userdesc.address = parseaddr(entry) - userdesc.digest = digest + fullname, address = parseaddr(entry) + userdesc = UserDesc(address, fullname, digest=digest) try: mlist.ApprovedAddMember(userdesc, send_welcome_msg, send_admin_notif) @@ -1279,7 +1276,7 @@ def change_options(mlist, category, cgidata, doc): mlist.setMemberName(user, newname) newlang = cgidata.getvalue(user+'_language') - oldlang = mlist.GetPreferredLanguage(user) + oldlang = mlist.getMemberLanguage(user) if newlang and newlang <> oldlang: mlist.setMemberLanguage(user, newlang) |
