summaryrefslogtreecommitdiff
path: root/src/mailman/model
Commit message (Collapse)AuthorAgeFilesLines
* Checkpointing.Barry Warsaw2015-04-162-4/+20
|
* Plumb the subscription policy through the REST API.Barry Warsaw2015-04-151-4/+14
|
* * Mailing list subscription policy work flow has been completely rewritten.Barry Warsaw2015-04-1513-382/+444
|\ | | | | | | | | | | 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.
| * Prevent replay attacks with the confirmation token.Barry Warsaw2015-04-151-2/+0
| |
| * Full test suite passes.Barry Warsaw2015-04-143-33/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * Merge the member query fix branch.Barry Warsaw2015-04-144-13/+137
| |\
| | * Added IMember.subscriber to definitively return how a member is subscribed toBarry Warsaw2015-04-144-14/+136
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | 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.
| * Checkpointing.Barry Warsaw2015-04-143-363/+60
| |
| * * Give the workflow state manager a count method.Barry Warsaw2015-04-132-8/+31
| | | | | | | | | | * The workflow state manager no longer allows updates via .save(). * Restoring a workflow state evicts the record from the database.
| * Give IPendings a count of entries.Barry Warsaw2015-04-131-0/+10
| |
| * Handle save/restore of the subscription workflow.Barry Warsaw2015-04-133-33/+38
| | | | | | | | | | | | | | | | | | | | 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.
| * Subscription workflow checkpointing.Barry Warsaw2015-04-092-6/+7
| | | | | | | | | | | | | | | | | | | | * 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
| * Trunk mergeBarry Warsaw2015-04-076-42/+197
| |\ | |/ |/|
* | Checkpointing:Barry Warsaw2015-04-062-3/+20
| | | | | | | | | | | | * Cleanups. * Updates to domains and users. * Allow is_server_owner to be PUT.
* | Reviewed and updated domains doctest.Barry Warsaw2015-04-061-13/+18
| |
* | Flesh out the domain interface, model, and tests. Clean up style.Barry Warsaw2015-04-062-30/+107
| |
* | Abhilash's branch, pre-cleaning.Barry Warsaw2015-04-065-41/+97
|\ \
| * | * implement left over methodsAbhilash Raj2015-04-064-32/+36
| | | | | | | | | | | | * add and remove owners using the address
| * | * Add `drop_column` inside sqlite check, fix indentationAbhilash Raj2015-03-314-31/+23
| | | | | | | | | | | | | | | | | | | | | | | | * 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 tests, fix docs, remove contact_addressAbhilash Raj2015-03-283-28/+70
| | |
| * | merge serverowner branchAbhilash Raj2015-03-272-16/+34
| |\ \
| | * | all tests passing now (except doctests)Abhilash Raj2015-03-262-3/+3
| | | |
| | * | add domainowner and serverowner optionsAbhilash Raj2015-03-212-16/+34
| | | | | | | | | | | | | | | | | | | | | | | | * 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
| | | * Refactorings and tests.Barry Warsaw2015-03-292-5/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| | | * Merge abompard's subpolicy branch port with trunk. Still a WIP.Barry Warsaw2015-03-293-4/+69
| |_|/| |/| | |
| | | * Workflow: allow saving and restoring with an empty queueAurélien Bompard2015-03-271-2/+2
| | | |
| | | * Merge from headAurélien Bompard2015-03-266-10/+58
| | | |\ | | |_|/ | |/| |
| | | * Save the workflow state in the databaseAurélien Bompard2015-03-251-1/+26
| | | |
| | | * Add a table to store workflow statesAurélien Bompard2015-03-251-0/+41
| | | |
| | | * Make the subscription policy a database columnAurélien Bompard2015-03-211-2/+1
| | | |
| | | * Resurrect Barry's subpolicy branch (lp:~barry/mailman/subpolicy)Aurélien Bompard2015-03-205-9/+86
| | |/
* | | trunk mergeBarry Warsaw2015-03-284-5/+82
|\ \ \
| * \ \ Merging in several refactorings, and a REST API change.Barry Warsaw2015-03-264-5/+82
| |\ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | Extended test helper subscribe() which takes an optional email address andBarry Warsaw2015-03-261-0/+2
| | | | | | | | | | | | | | | | returns the newly created member.
| | * | More tests of make_user().Barry Warsaw2015-03-212-5/+59
| | | |
| | * | * Refactor add_member() so that it uses a RequestRecord namedtuple.Barry Warsaw2015-03-211-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | * 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`.
* | | | Fix some typos.Barry Warsaw2015-03-281-3/+3
|/ / /
* / / LP: #1432239 - Make sure acceptable aliases are deleted before the mailingBarry Warsaw2015-03-243-3/+28
|/ / | | | | | | list is deleted.
* | * When deleting a user object, make sure their preferences are also deleted.Barry Warsaw2015-03-203-7/+30
|\ \ | |/ |/| | | Given by Abhishek. (LP: #1418276)
| * * When deleting a user object, make sure their preferences are also deleted.Barry Warsaw2015-03-203-7/+28
|/ | | | Given by Abhishek. (LP: #1418276)
* * A new API is provided to support non-production testing infrastructures,Barry Warsaw2015-02-132-0/+58
| | | | | | | | | | | | 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.
* * When deleting a user via REST, make sure all linked addresses are deleted.Barry Warsaw2015-02-091-1/+1
| | | | Found by Andrew Stuart. (LP: #1419519)
* * When creating a user with an email address, do not create the user recordBarry Warsaw2015-02-052-1/+52
| | | | | if the email address already exists. Given by Andrew Stuart. (LP: #1418280)
* We don't need the 'six' package any more.Barry Warsaw2015-01-043-7/+5
|
* Bump copyright years.Barry Warsaw2015-01-0432-32/+32
|
* Remove huge amounts of now unnecessary file boilerplate.Barry Warsaw2014-12-2231-157/+50
|
* Trunk merge.Barry Warsaw2014-12-222-1/+7
|\
| * * Fixed getting non-ASCII filenames from RFC 2231 i18n'd messages. Given byBarry Warsaw2014-12-082-1/+7
| |\ | | | | | | | | | Aurélien Bompard. (LP: #1060951)
| | * Convert unicode instance testing to bytes instance testingAurélien Bompard2014-12-042-2/+2
| | |
| | * Do not auto-convert Message headers to unicodeAurélien Bompard2014-12-022-1/+6
| |/ | | | | | | Fixes: bug #1060951