| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |\
| |
| |
| |
| |
| | |
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.
|
| | | |
|
| | |
| |
| |
| |
| | |
* The workflow state manager no longer allows updates via .save().
* Restoring a workflow state evicts the record from the database.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
To handle the case of restoring a saved workflow, allow the subscriber to be
None in the constructor, but assert that it is not None after the first
workflow step.
Add setters/getters for handling save/restore.
In the base workflow interface, rename key to token.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* TO DO:
- hook up sending of confirmation
- processing confirmations and continuing workflow
- get tokens for saving workflows
- integrate with RequestRecord
- integrate with hold_subscription
- after getting moderator approval, continue workflow
|
| | |\
| |/
|/| |
|
| | |
| |
| |
| |
| |
| | |
* 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
|
| | | | |
|
| | |\ \ |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Add is_serverowner flag in User model and api
* Add owner table for user-domain's many to many relationship
* add owners subresource in domain's rest api
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Move the basic Workflow class to a module in mailman.app.
* Rename the interface and model modules.
* Update the configure.zcml.
* Minor style fixes.
* Add a test for the workflow model.
|
| | |_|/|
|/| | | |
|
| | | | | |
|
| | | | |\
| | |_|/
| |/| | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | |/ |
|
| |\ \ \ |
|
| | |\ \ \
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Backward Incompatible REST API Changes:
* The JSON representation for subscription holds now no longer contains the
`password` key. Also, the `address` key has been renamed to `email` for
consistency with established terminology and other usage.
Other Internal API Changes:
* IUserManager has grown a `make_user()` method.
Refactorings:
* Most uses in the test suite of add_member() have been replaced with a new
version of the subscribe() helper. This reduces the surface area of this
ancient internal API. Eventually add_member() will have to go away or
significantly change with the subscription policy workflow.
* hold_subscription() as well as the remaining instances of add_member() now
use a namedtuple in their arguments, to keep the signatures manageable.
|
| | | | |
| | | |
| | | |
| | | | |
returns the newly created member.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* RequestRecord contains no password key so these are not part of the held
requests database any more.
* Pending record contains `email` now instead of `address`.
|
| |/ / / |
|
| |/ /
| |
| |
| | |
list is deleted.
|
| |\ \
| |/
|/|
| | |
Given by Abhishek. (LP: #1418276)
|
| |/
|
|
| |
Given by Abhishek. (LP: #1418276)
|
| |
|
|
|
|
|
|
|
|
|
|
| |
allowing a client to cull all orphaned UIDs via ``DELETE`` on
``<api>/reserved/uids/orphans``. Note that *no guarantees* of API
stability will ever be made for resources under ``reserved``.
(LP: #1420083)
Also:
- Allow @dbconnection methods to be @staticmethods taking only one argument,
the store to perform the query on.
|
| |
|
|
| |
Found by Andrew Stuart. (LP: #1419519)
|
| |
|
|
|
| |
if the email address already exists. Given by Andrew Stuart.
(LP: #1418280)
|
| | |
|
| | |
|
| | |
|
| |\ |
|
| | |\
| | |
| | |
| | | |
Aurélien Bompard. (LP: #1060951)
|
| | | | |
|
| | |/
| |
| |
| | |
Fixes: bug #1060951
|