diff options
| -rw-r--r-- | Mailman/Cgi/admindb.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/Mailman/Cgi/admindb.py b/Mailman/Cgi/admindb.py index 9a0aef45a..8a887bf48 100644 --- a/Mailman/Cgi/admindb.py +++ b/Mailman/Cgi/admindb.py @@ -270,7 +270,11 @@ def show_pending_subs(mlist, form): byaddrs.setdefault(addr, []).append(id) addrs = byaddrs.keys() addrs.sort() - for id in reduce(lambda x, y: x + y, [byaddrs[k] for k in addrs]): + for addr, ids in byaddrs.items(): + # Eliminate duplicates + for id in ids[1:]: + mlist.HandleRequest(id, mm_cfg.DISCARD) + id = ids[0] time, addr, fullname, passwd, digest, lang = mlist.GetRecord(id) radio = RadioButtonArray(id, (_('Defer'), _('Approve'), @@ -311,7 +315,11 @@ def show_pending_unsubs(mlist, form): byaddrs.setdefault(addr, []).append(id) addrs = byaddrs.keys() addrs.sort() - for id in reduce(lambda x, y: x + y, [byaddrs[k] for k in addrs]): + for addr, ids in byaddrs.items(): + # Eliminate duplicates + for id in ids[1:]: + mlist.HandleREquest(id, mm_cfg.DISCARD) + id = ids[0] addr = mlist.GetRecord(id) fullname = mlist.getMemberName(addr) if fullname is None: |
