| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This merges the SubscriptionManager and UnsubscriptionManager into a
single SubscriptionManager implementation that handles both register()
and unregister(). This allows us to use direct class-based adaptation
instead of the more clunky getAdapter() API. We can also eliminate the
funky _get_workflow() implementation detail.
This has a couple of side-effects. .confirm() must lookup the token in
the pendings database and pull out the pending type, dispatching to the
proper class depending on the type, or raising a LookupError if the
token is None or there is no pendable associated with the given token.
This feels like an acceptable trade-off.
However, this *also* means that IWorkflowStateManager must lose its
'name' argument in its methods. That's because we won't actually know
the name until its too late. Honestly, the name wasn't providing much
value anyway (it was always the subclass's name), so losing that seems
fine too. The complication here is that the name was a primary key in
the 'workflowstate' table, so we need to add its removal in the database
migration.
|
| |
|
|
| |
Also, fix the return value of .unregister(), and make the tests pass.
|
| | |
|
| |
|
|
|
| |
The new template system is introduced for API 3.1. See
``src/mailman/rest/docs/templates.rst`` for details.
|
| | |
|
| |
|
|
|
|
| |
Add documentation.
Extend ISubscriptionService interface.
|
| |
|
|
|
|
|
|
| |
Members and nonmember's moderation action should be None by default, and
in that case the moderation rule should fallback to the mailing list's
default action.
Fixes: #189
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Increase coverage.
Add ISubscriptionService.find_member() as per discussion.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
`X-Message-ID-Hash` although the latter is still included for backward
compatibility. Also be sure that all places which add the header use the
same algorithm.
|
| |
|
|
| |
Aurélien Bompard.
|
| | |
|
| | |
|
| | |
|
| |\
| |
| |
| |
| |
| | |
It now properly supports email verification and subscription confirmation
by the user, and approval by the moderator using unique tokens.
``IMailingList`` objects now have a ``subscription_policy`` attribute.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Make sure Registrar.discard() removces any workflow state manager state
associated with the token, and that this is flushed to SA.
* Adjust the email commands to the new IRegistrar API.
* Update the IRegistrar interface.
* Add IWorkflowStateManager.discard() and make `count` an attribute/property.
* Mark two tests as expected failures due to LP: #1444184.
|
| | |\ |
|
| | |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
the mailing list (via preferred address/user or explicit address).
IMember.get_member() is defined to return the explicit address when members
are subscribed in both ways.
IMember.get_memberships() returns a sequence of length 0, 1, or 2 containing
all the member records associated with the email address.
Fixed the AbstractMemberRoster methods query to properly return subscriptions
via the user's preferred address and via an explicit address.
|
| | | |
|
| |/ |
|
| |
|
|
|
|
| |
* Cleanups.
* Updates to domains and users.
* Allow is_server_owner to be PUT.
|
| | |
|
| |\ |
|
| | |
| |
| |
| | |
* add and remove owners using the address
|
| | |
| |
| |
| |
| |
| |
| |
| | |
* Change `Owner` to `DomainOwner`
* Fix indentation errors in docs
* add multiple owners using `add_owners`
* all dummy addresses should be using example.com, example.org to avoid conflict ever
* add dummy tests
|
| | | |
|
| |\ \ |
|
| | |/ |
|
| |/ |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
NOTE NOTE NOTE: This is a potential upgrade issue. The values in the pending
database used to be either custom pickle-like objects or actual pickles. Now
all values are JSON representations.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
* Switch away from a deprecated unittest method.
* Switch away from using deprecated Exceptions.message attribute.
* Decode the bytes b32 encoded X-Message-ID-Hash header into a Unicode.
* Fix a rather glaring bug in Pendings.add() where we were actually not
properly coercing bytes to unicode for the keys and values! I guess it's a
good thing that SQLAlchemy is more strict than Storm.
* Some cosmetic fixes.
|
| |
|
|
|
|
|
|
| |
reflect this.
Also, mock out sys.stderr on some tests so that their nose2 output is quieter.
A few other minor coding style consistencies.
|