diff options
| -rw-r--r-- | Mailman/Cgi/admindb.py | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/Mailman/Cgi/admindb.py b/Mailman/Cgi/admindb.py index 3948baa90..dd0009ac2 100644 --- a/Mailman/Cgi/admindb.py +++ b/Mailman/Cgi/admindb.py @@ -164,8 +164,8 @@ def show_requests(mlist, doc): doc.AddItem(form) form.AddItem(SubmitButton('submit', _('Submit All Data'))) # Add the subscription request section - subpendings = mlist.GetSubscriptionIds() - if subpendings: + pendingsubs = mlist.GetSubscriptionIds() + if pendingsubs: form.AddItem('<hr>') form.AddItem(Center(Header(2, _('Subscription Requests')))) table = Table(border=2) @@ -173,7 +173,7 @@ def show_requests(mlist, doc): Center(Bold(_('Your decision'))), Center(Bold(_('Reason for refusal'))) ]) - for id in subpendings: + for id in pendingsubs: time, addr, fullname, passwd, digest, lang = mlist.GetRecord(id) table.AddRow(['%s<br><em>%s</em>' % (addr, fullname), RadioButtonArray(id, (_('Defer'), @@ -188,6 +188,34 @@ def show_requests(mlist, doc): TextBox('comment-%d' % id, size=45) ]) form.AddItem(table) + # Add the pending unsubscription request section + pendingunsubs = mlist.GetUnsubscriptionIds() + if pendingunsubs: + form.AddItem('<hr>') + form.AddItem(Center(Header(2, _('Unsubscription Requests')))) + table = Table(border=2) + table.AddRow([Center(Bold(_('User address/name'))), + Center(Bold(_('Your decision'))), + Center(Bold(_('Reason for refusal'))) + ]) + for id in pendingunsubs: + addr = mlist.GetRecord(id) + fullname = mlist.getMemberName(addr) + if fullname is None: + fullname = _('n/a') + table.AddRow(['%s<br><em>%s</em>' % (addr, fullname), + RadioButtonArray(id, (_('Defer'), + _('Approve'), + _('Reject'), + _('Discard')), + values=(mm_cfg.DEFER, + mm_cfg.UNSUBSCRIBE, + mm_cfg.REJECT, + mm_cfg.DISCARD), + checked=0), + TextBox('comment-%d' % id, size=45) + ]) + form.AddItem(table) # Post holds are handled differently heldmsgs = mlist.GetHeldMessageIds() total = len(heldmsgs) |
