diff options
| author | J08nY | 2017-08-07 19:00:49 +0200 |
|---|---|---|
| committer | J08nY | 2017-08-07 19:00:49 +0200 |
| commit | ee9da27283ffb7adc836f764f1442cd06e3fb2a5 (patch) | |
| tree | 2b687f39714580b1de70baf9e3dd9957326c4989 /src/mailman/rest/sub_moderation.py | |
| parent | d107fd41f03b57f7731b60bb7ba921febc3ce3b9 (diff) | |
| parent | b902d7858d8302d248add89a5983c521c3581c4c (diff) | |
| download | mailman-ee9da27283ffb7adc836f764f1442cd06e3fb2a5.tar.gz mailman-ee9da27283ffb7adc836f764f1442cd06e3fb2a5.tar.zst mailman-ee9da27283ffb7adc836f764f1442cd06e3fb2a5.zip | |
Diffstat (limited to 'src/mailman/rest/sub_moderation.py')
| -rw-r--r-- | src/mailman/rest/sub_moderation.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/mailman/rest/sub_moderation.py b/src/mailman/rest/sub_moderation.py index 47745b729..ad1c5751b 100644 --- a/src/mailman/rest/sub_moderation.py +++ b/src/mailman/rest/sub_moderation.py @@ -16,13 +16,16 @@ # GNU Mailman. If not, see <http://www.gnu.org/licenses/>. """REST API for held subscription requests.""" +from itertools import chain from mailman.app.moderator import send_rejection +from mailman.config import config from mailman.core.i18n import _ from mailman.interfaces.action import Action from mailman.interfaces.member import AlreadySubscribedError from mailman.interfaces.pending import IPendings from mailman.interfaces.subscriptions import ISubscriptionManager +from mailman.interfaces.workflows import ISubscriptionWorkflow from mailman.rest.helpers import ( CollectionMixin, bad_request, child, conflict, etag, no_content, not_found, okay) @@ -122,8 +125,15 @@ class SubscriptionRequests(_ModerationBase, CollectionMixin): self._mlist = mlist def _get_collection(self, request): - pendings = getUtility(IPendings).find( - mlist=self._mlist, pend_type='subscription') + sub_workflows = [workflow_class + for workflow_class in config.workflows.values() + if ISubscriptionWorkflow.implementedBy(workflow_class) + ] + generators = [getUtility(IPendings).find(mlist=self._mlist, + pend_type=sub_workflow.name) + for + sub_workflow in sub_workflows] + pendings = chain.from_iterable(generators) return [token for token, pendable in pendings] def on_get(self, request, response): |
