| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |\ \ \ |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
once their subscription is completed.
Remove some dead tests.
Update an interface.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
"token owner". The latter describes who owns the token --i.e. which phase of
the workflow is being waited on. It can either be no one, the subscriber, or
the moderator.
Tokens and token owners are properly initialized and reset when the workflow
is completed, so we always know which step of the process is being waited on.
Also, remove ISubscriptionService.join() since this will now be handled by the
IRegistrar adapter.
|
| | | | |
| | | |
| | | |
| | | | |
list's subscription policy.
|
| | | | | |
|
| | | |/
| |/| |
|
| | | | |
|
| | |\ \
| |/ /
|/| | |
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | | |
accept lists of strings.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When domains are created using REST API with only one owner,
validator changes it to be a string instead of a list and so
the .add() function iterates over the string raising InvalidEmailError
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | | |
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.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
pendable data since that gets added automatically by the IPendings utility.
After the user is subscribed, clean up the saved workflows and reset the token
to None.
Give the SubscriptionWorkflow a name property for convenience.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
* The workflow state manager no longer allows updates via .save().
* Restoring a workflow state evicts the record from the database.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
course. This commit contains test failures because the next step is to hook
everything up.
Changes here include:
* confirm.txt removes the URL since we can't know that.
* Changes to the ConfirmationNeededEvent
* Create the Pendable early in the workflow.
* Clean up test.
* Update IRegistrar docstring.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Specifically, log a message and send a notification to the list owners when a
subscription is held and the list is so configured.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | | | |
|
| | | | | |
|
| | |\ \ \
| |/ / /
|/| | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* save_state() -> save()
* restore_state() -> restore()
* Add push() as the public API for pushing new state on the deque.
* Uppercase class attributes.
* Add logging on exception.
* Minor style fixes.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* 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.
|
| | |\ \ \ |
|
| | | | | | |
|