summaryrefslogtreecommitdiff
path: root/Mailman/Gui/General.py
diff options
context:
space:
mode:
authorbwarsaw2002-03-05 05:06:18 +0000
committerbwarsaw2002-03-05 05:06:18 +0000
commit6e2107a3813ce837a98d143924e205413ab1c848 (patch)
treee6c90295551edb9fd631e13864fed1651576f36f /Mailman/Gui/General.py
parent8be78a3ac897b0ac887c7b544e5bf2b5a9e32347 (diff)
downloadmailman-6e2107a3813ce837a98d143924e205413ab1c848.tar.gz
mailman-6e2107a3813ce837a98d143924e205413ab1c848.tar.zst
mailman-6e2107a3813ce837a98d143924e205413ab1c848.zip
Diffstat (limited to 'Mailman/Gui/General.py')
-rw-r--r--Mailman/Gui/General.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/Mailman/Gui/General.py b/Mailman/Gui/General.py
index 1d01d0e6b..64677fa41 100644
--- a/Mailman/Gui/General.py
+++ b/Mailman/Gui/General.py
@@ -21,6 +21,10 @@ from Mailman import mm_cfg
from Mailman import Utils
from Mailman.i18n import _
from Mailman.Gui.GUIBase import GUIBase
+# BAW: bogus! This should be in a separate module (Utils?)
+from Mailman.MailCommandHandler import option_info
+
+OPTIONS = ('hide', 'ack', 'notmetoo', 'plain', 'nodupes')
@@ -33,6 +37,26 @@ class General(GUIBase):
return None
WIDTH = mm_cfg.TEXTFIELDWIDTH
+ # These are for the default_options checkboxes below.
+ bitfields = {'hide' : mm_cfg.ConcealSubscription,
+ 'ack' : mm_cfg.AcknowledgePosts,
+ 'notmetoo' : mm_cfg.DontReceiveOwnPosts,
+ 'plain' : mm_cfg.DisableMime,
+ 'nodupes' : mm_cfg.DontReceiveDuplicates
+ }
+ bitdescrs = {
+ 'hide' : _("Conceal the member's address"),
+ 'ack' : _("Acknowledge the member's posting"),
+ 'notmetoo' : _("Do not send a copy of a member's own post"),
+ 'plain' :
+ _('Get plain text digests (RFC 1153) rather than MIME digests'),
+ 'nodupes' :
+ _('Filter out duplicate messages to list members (if possible)'),
+ }
+
+ optvals = [mlist.new_member_options & bitfields[o] for o in OPTIONS]
+ opttext = [bitdescrs[o] for o in OPTIONS]
+
rtn = [
_('''Fundamental list characteristics, including descriptive
info and basic behaviors.'''),
@@ -297,6 +321,13 @@ class General(GUIBase):
_('Additional settings'),
+ ('new_member_options', mm_cfg.Checkbox,
+ (opttext, optvals, 0, OPTIONS),
+ 0, _('''Default options for new members joining this list.'''),
+
+ _("""When a new member is subscripted to this list, their initial
+ set of options is taken from the this variable's setting.""")),
+
('administrivia', mm_cfg.Radio, (_('No'), _('Yes')), 0,
_('''(Administrivia filter) Check postings and intercept ones
that seem to be administrative requests?'''),
@@ -356,5 +387,12 @@ class General(GUIBase):
changed! It must differ from the list's name by case
only.<p>"""),
tag=_('Error: '))
+ elif property == 'new_member_options':
+ newopts = 0
+ for opt in OPTIONS:
+ bitfield = option_info[opt]
+ if opt in val:
+ newopts |= bitfield
+ mlist.new_member_options = newopts
else:
GUIBase._setValue(self, mlist, property, val, doc)