summaryrefslogtreecommitdiff
path: root/Mailman/database/model
diff options
context:
space:
mode:
authorBarry Warsaw2007-06-19 11:13:09 -0400
committerBarry Warsaw2007-06-19 11:13:09 -0400
commit0514aa46113f1f44dcf86f2d8ae6f86b71e88a3d (patch)
tree67fe896a40781ed0a64656c3f0fce0fd4278240f /Mailman/database/model
parentc7d4e4c593d3bb1356fc099581d6f3e3deb0c1d4 (diff)
downloadmailman-0514aa46113f1f44dcf86f2d8ae6f86b71e88a3d.tar.gz
mailman-0514aa46113f1f44dcf86f2d8ae6f86b71e88a3d.tar.zst
mailman-0514aa46113f1f44dcf86f2d8ae6f86b71e88a3d.zip
Convert the tests for the CalcRecips handler to doc tests. There are
some XXX's in the doc test because digest recipients aren't tested (though those may go in a different doctest), and neither are urgent messages. This latter is for the same reason that the Approved handler is not yet tested; which password do you use in that header? The CalcRecips tests would also seem the natural place to test the receive_list_copy preference, but that actually gets processed in the AvoidDuplicates handler, so it isn't tested here. Add delivery_status (of type enum DeliveryStatus) to preferences. I'm not entirely sure that's the right place for it, but it lets me finish converting the test for now. Expose the rest of the preferences through the IMember interface.
Diffstat (limited to 'Mailman/database/model')
-rw-r--r--Mailman/database/model/member.py26
-rw-r--r--Mailman/database/model/preferences.py1
2 files changed, 20 insertions, 7 deletions
diff --git a/Mailman/database/model/member.py b/Mailman/database/model/member.py
index efb72ee11..1dc942323 100644
--- a/Mailman/database/model/member.py
+++ b/Mailman/database/model/member.py
@@ -58,10 +58,6 @@ class Member(Entity):
return getattr(SystemDefaultPreferences, preference)
@property
- def delivery_mode(self):
- return self._lookup('delivery_mode')
-
- @property
def acknowledge_posts(self):
return self._lookup('acknowledge_posts')
@@ -69,11 +65,27 @@ class Member(Entity):
def preferred_language(self):
return self._lookup('preferred_language')
- def unsubscribe(self):
- self.preferences.delete()
- self.delete()
+ @property
+ def receive_list_copy(self):
+ return self._lookup('receive_list_copy')
+
+ @property
+ def receive_own_postings(self):
+ return self._lookup('receive_own_postings')
+
+ @property
+ def delivery_mode(self):
+ return self._lookup('delivery_mode')
+
+ @property
+ def delivery_status(self):
+ return self._lookup('delivery_status')
@property
def options_url(self):
# XXX Um, this is definitely wrong
return 'http://example.com/' + self.address.address
+
+ def unsubscribe(self):
+ self.preferences.delete()
+ self.delete()
diff --git a/Mailman/database/model/preferences.py b/Mailman/database/model/preferences.py
index 33511f54b..07d4d84e2 100644
--- a/Mailman/database/model/preferences.py
+++ b/Mailman/database/model/preferences.py
@@ -37,6 +37,7 @@ class Preferences(Entity):
has_field('receive_list_copy', Boolean)
has_field('receive_own_postings', Boolean)
has_field('delivery_mode', EnumType)
+ has_field('delivery_status', EnumType)
# Options
using_options(shortnames=True)