Barry Warsaw pushed to branch master at mailman / Mailman

Commits:
9975ac00 by Aurélien Bompard at 2015-11-15T15:10:42Z
REST: add a self_link entry to held messages

- - - - -
e2c50f1e by Barry Warsaw at 2015-11-15T15:37:19Z
JSON representations for held message now include a ``self_link``.

- - - - -


3 changed files:

- src/mailman/docs/NEWS.rst
- src/mailman/rest/docs/post-moderation.rst
- src/mailman/rest/post_moderation.py


Changes:

=====================================
src/mailman/docs/NEWS.rst
=====================================
--- a/src/mailman/docs/NEWS.rst
+++ b/src/mailman/docs/NEWS.rst
@@ -95,6 +95,7 @@ REST
    link the address to the user.  Given by Abhilash Raj.
  * Fix pagination values `start` and `total_size` in the REST API.  Given by
    Aurélien Bompard.  (Closes: #154)
+ * JSON representations for held message now include a ``self_link``.
 
 Other
 -----


=====================================
src/mailman/rest/docs/post-moderation.rst
=====================================
--- a/src/mailman/rest/docs/post-moderation.rst
+++ b/src/mailman/rest/docs/post-moderation.rst
@@ -52,6 +52,7 @@ When a message gets held for moderator approval, it shows up 
in this list.
     <BLANKLINE>
         reason: Because
         request_id: 1
+        self_link: http://localhost:9001/3.0/lists/ant.example.com/held/1
         sender: a...@example.com
         subject: Something
     http_etag: "..."
@@ -82,6 +83,7 @@ message.  This will include the text of the message.
     <BLANKLINE>
     reason: Because
     request_id: 1
+    self_link: http://localhost:9001/3.0/lists/ant.example.com/held/1
     sender: a...@example.com
     subject: Something
 
@@ -126,6 +128,7 @@ The message is still in the moderation queue.
     <BLANKLINE>
     reason: Because
     request_id: 1
+    self_link: http://localhost:9001/3.0/lists/ant.example.com/held/1
     sender: a...@example.com
     subject: Something
 


=====================================
src/mailman/rest/post_moderation.py
=====================================
--- a/src/mailman/rest/post_moderation.py
+++ b/src/mailman/rest/post_moderation.py
@@ -28,7 +28,8 @@ from mailman.interfaces.action import Action
 from mailman.interfaces.messages import IMessageStore
 from mailman.interfaces.requests import IListRequests, RequestType
 from mailman.rest.helpers import (
-    CollectionMixin, bad_request, child, etag, no_content, not_found, okay)
+    CollectionMixin, bad_request, child, etag, no_content, not_found, okay,
+    path_to)
 from mailman.rest.validator import Validator, enum_validator
 from zope.component import getUtility
 
@@ -56,6 +57,10 @@ class _ModerationBase:
         # record's row id, which isn't helpful at all.  If it's not there,
         # that's fine too.
         resource.pop('id', None)
+        # Add a self_link.
+        resource['self_link'] = path_to(
+            'lists/{}/held/{}'.format(self._mlist.list_id, request_id),
+            self.api_version)
         return resource
 
 
@@ -64,7 +69,7 @@ class _HeldMessageBase(_ModerationBase):
     """Held messages are a little different."""
 
     def _make_resource(self, request_id):
-        resource = super(_HeldMessageBase, self)._make_resource(request_id)
+        resource = super()._make_resource(request_id)
         if resource is None:
             return None
         # Grab the message and insert its text representation into the



View it on GitLab: 
https://gitlab.com/mailman/mailman/compare/29947f0ef5667490f704b558c2acea653cabdca9...e2c50f1e10a485a79183e99e0e78b93673b8a8a7
_______________________________________________
Mailman-checkins mailing list
Mailman-checkins@python.org
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org

Reply via email to