summaryrefslogtreecommitdiff
path: root/src/mailman/rest/addresses.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/rest/addresses.py')
-rw-r--r--src/mailman/rest/addresses.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mailman/rest/addresses.py b/src/mailman/rest/addresses.py
index a97043e9c..5d479d9cb 100644
--- a/src/mailman/rest/addresses.py
+++ b/src/mailman/rest/addresses.py
@@ -33,6 +33,7 @@ from zope.component import getUtility
from mailman.rest.helpers import CollectionMixin, etag, path_to
from mailman.rest.members import MemberCollection
+from mailman.rest.preferences import Preferences
from mailman.interfaces.usermanager import IUserManager
@@ -102,6 +103,18 @@ class AnAddress(_AddressBase):
return http.not_found()
return AddressMemberships(self._address)
+ @resource.child()
+ def preferences(self, request, segments):
+ """/addresses/<email>/preferences"""
+ if len(segments) != 0:
+ return http.bad_request()
+ if self._address is None:
+ return http.not_found()
+ child = Preferences(
+ self._address.preferences,
+ 'addresses/{0}'.format(self._address.email))
+ return child, []
+
class UserAddresses(_AddressBase):