Merge lp:~jimmy-sigint/mailman/restapi_additional_attributes into lp:mailman

Proposed by Jimmy Bergman
Status: Merged
Merge reported by: Barry Warsaw
Merged at revision: not available
Proposed branch: lp:~jimmy-sigint/mailman/restapi_additional_attributes
Merge into: lp:mailman
Diff against target: 134 lines (+29/-0)
2 files modified
src/mailman/rest/configuration.py (+8/-0)
src/mailman/rest/docs/configuration.txt (+21/-0)
To merge this branch: bzr merge lp:~jimmy-sigint/mailman/restapi_additional_attributes
Reviewer Review Type Date Requested Status
Barry Warsaw Approve
Review via email: mp+38390@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Barry Warsaw (barry) wrote :

Thanks for the great contribution. It took me a while to merge it because I realized that some of the things this branch touched had not been fully fleshed out. Now, member moderation should be functional but non-member moderation still needs some work. But your branch was great, and it is now merged!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/mailman/rest/configuration.py'
--- src/mailman/rest/configuration.py 2010-09-01 14:39:36 +0000
+++ src/mailman/rest/configuration.py 2010-10-14 07:31:44 +0000
@@ -29,8 +29,10 @@
29from restish import http, resource29from restish import http, resource
3030
31from mailman.config import config31from mailman.config import config
32from mailman.interfaces.action import Action
32from mailman.interfaces.autorespond import ResponseAction33from mailman.interfaces.autorespond import ResponseAction
33from mailman.interfaces.mailinglist import IAcceptableAliasSet34from mailman.interfaces.mailinglist import IAcceptableAliasSet
35from mailman.interfaces.mailinglist import ReplyToMunging
34from mailman.rest.helpers import PATCH, etag36from mailman.rest.helpers import PATCH, etag
35from mailman.rest.validator import Validator, enum_validator37from mailman.rest.validator import Validator, enum_validator
3638
@@ -173,11 +175,13 @@
173 collapse_alternatives=GetterSetter(as_boolean),175 collapse_alternatives=GetterSetter(as_boolean),
174 convert_html_to_plaintext=GetterSetter(as_boolean),176 convert_html_to_plaintext=GetterSetter(as_boolean),
175 created_at=GetterSetter(None),177 created_at=GetterSetter(None),
178 default_member_moderation=GetterSetter(as_boolean),
176 description=GetterSetter(unicode),179 description=GetterSetter(unicode),
177 digest_last_sent_at=GetterSetter(None),180 digest_last_sent_at=GetterSetter(None),
178 digest_size_threshold=GetterSetter(float),181 digest_size_threshold=GetterSetter(float),
179 filter_content=GetterSetter(as_boolean),182 filter_content=GetterSetter(as_boolean),
180 fqdn_listname=GetterSetter(None),183 fqdn_listname=GetterSetter(None),
184 generic_nonmember_action=GetterSetter(int),
181 host_name=GetterSetter(None),185 host_name=GetterSetter(None),
182 include_list_post_header=GetterSetter(as_boolean),186 include_list_post_header=GetterSetter(as_boolean),
183 include_rfc2369_headers=GetterSetter(as_boolean),187 include_rfc2369_headers=GetterSetter(as_boolean),
@@ -186,6 +190,7 @@
186 leave_address=GetterSetter(None),190 leave_address=GetterSetter(None),
187 list_id=GetterSetter(None),191 list_id=GetterSetter(None),
188 list_name=GetterSetter(None),192 list_name=GetterSetter(None),
193 member_moderation_action=GetterSetter(enum_validator(Action)),
189 next_digest_number=GetterSetter(None),194 next_digest_number=GetterSetter(None),
190 no_reply_address=GetterSetter(None),195 no_reply_address=GetterSetter(None),
191 owner_address=GetterSetter(None),196 owner_address=GetterSetter(None),
@@ -193,10 +198,13 @@
193 post_id=GetterSetter(None),198 post_id=GetterSetter(None),
194 posting_address=GetterSetter(None),199 posting_address=GetterSetter(None),
195 real_name=GetterSetter(unicode),200 real_name=GetterSetter(unicode),
201 reply_goes_to_list=GetterSetter(enum_validator(ReplyToMunging)),
196 request_address=GetterSetter(None),202 request_address=GetterSetter(None),
197 scheme=GetterSetter(None),203 scheme=GetterSetter(None),
204 send_welcome_msg=GetterSetter(as_boolean),
198 volume=GetterSetter(None),205 volume=GetterSetter(None),
199 web_host=GetterSetter(None),206 web_host=GetterSetter(None),
207 welcome_msg=GetterSetter(unicode),
200 )208 )
201209
202210
203211
=== modified file 'src/mailman/rest/docs/configuration.txt'
--- src/mailman/rest/docs/configuration.txt 2010-09-15 15:37:54 +0000
+++ src/mailman/rest/docs/configuration.txt 2010-10-14 07:31:44 +0000
@@ -32,11 +32,13 @@
32 collapse_alternatives: True32 collapse_alternatives: True
33 convert_html_to_plaintext: False33 convert_html_to_plaintext: False
34 created_at: 20...T...34 created_at: 20...T...
35 default_member_moderation: False
35 description:36 description:
36 digest_last_sent_at: None37 digest_last_sent_at: None
37 digest_size_threshold: 30.038 digest_size_threshold: 30.0
38 filter_content: False39 filter_content: False
39 fqdn_listname: test-one@example.com40 fqdn_listname: test-one@example.com
41 generic_nonmember_action: 1
40 host_name: example.com42 host_name: example.com
41 http_etag: "..."43 http_etag: "..."
42 include_list_post_header: True44 include_list_post_header: True
@@ -46,6 +48,7 @@
46 leave_address: test-one-leave@example.com48 leave_address: test-one-leave@example.com
47 list_id: test-one.example.com49 list_id: test-one.example.com
48 list_name: test-one50 list_name: test-one
51 member_moderation_action: hold
49 next_digest_number: 152 next_digest_number: 1
50 no_reply_address: noreply@example.com53 no_reply_address: noreply@example.com
51 owner_address: test-one-owner@example.com54 owner_address: test-one-owner@example.com
@@ -53,10 +56,13 @@
53 post_id: 156 post_id: 1
54 posting_address: test-one@example.com57 posting_address: test-one@example.com
55 real_name: Test-one58 real_name: Test-one
59 reply_goes_to_list: no_munging
56 request_address: test-one-request@example.com60 request_address: test-one-request@example.com
57 scheme: http61 scheme: http
62 send_welcome_msg: True
58 volume: 163 volume: 1
59 web_host: lists.example.com64 web_host: lists.example.com
65 welcome_msg:
6066
6167
62Changing the full configuration68Changing the full configuration
@@ -91,6 +97,12 @@
91 ... filter_content=True,97 ... filter_content=True,
92 ... convert_html_to_plaintext=True,98 ... convert_html_to_plaintext=True,
93 ... collapse_alternatives=False,99 ... collapse_alternatives=False,
100 ... reply_goes_to_list='point_to_list',
101 ... send_welcome_msg=True,
102 ... welcome_msg='welcome message',
103 ... member_moderation_action='reject',
104 ... default_member_moderation=True,
105 ... generic_nonmember_action=2,
94 ... ),106 ... ),
95 ... 'PUT')107 ... 'PUT')
96 content-length: 0108 content-length: 0
@@ -119,6 +131,7 @@
119 collapse_alternatives: False131 collapse_alternatives: False
120 convert_html_to_plaintext: True132 convert_html_to_plaintext: True
121 ...133 ...
134 default_member_moderation: True
122 description: This is my mailing list135 description: This is my mailing list
123 ...136 ...
124 digest_size_threshold: 10.5137 digest_size_threshold: 10.5
@@ -130,7 +143,9 @@
130 pipeline: virgin143 pipeline: virgin
131 ...144 ...
132 real_name: Fnords145 real_name: Fnords
146 reply_goes_to_list: point_to_list
133 ...147 ...
148 welcome_msg: welcome message
134149
135If you use ``PUT`` to change a list's configuration, all writable attributes150If you use ``PUT`` to change a list's configuration, all writable attributes
136must be included. It is an error to leave one or more out...151must be included. It is an error to leave one or more out...
@@ -160,6 +175,12 @@
160 ... filter_content=True,175 ... filter_content=True,
161 ... convert_html_to_plaintext=True,176 ... convert_html_to_plaintext=True,
162 ... collapse_alternatives=False,177 ... collapse_alternatives=False,
178 ... reply_goes_to_list='point_to_list',
179 ... send_welcome_msg=True,
180 ... welcome_msg='welcome message',
181 ... member_moderation_action='reject',
182 ... default_member_moderation=True,
183 ... generic_nonmember_action=2,
163 ... ),184 ... ),
164 ... 'PUT')185 ... 'PUT')
165 Traceback (most recent call last):186 Traceback (most recent call last):