summaryrefslogtreecommitdiff
path: root/src/mailman/interfaces
Commit message (Collapse)AuthorAgeFilesLines
...
* Review suggestions: improve unit testsAurélien Bompard2016-02-291-1/+2
|
* Rename the HeaderMatch.chain column to actionAurélien Bompard2016-02-291-8/+8
| | | | It makes it clearer what values are valid, and allows validation.
* The order of a mailing list's header matches is significantAurélien Bompard2016-02-291-7/+52
| | | | | | | Add a numerical index property to HeaderMatch objects, and change the HeaderMatchSet manager to take the order into account. Items can now be inserted and removed by index.
* Super duper.Barry Warsaw2016-01-264-7/+7
| | | | | * Python 3-ify super() calls. * Remove a bunch of obsolete exception classes.
* Branch tweaks:Barry Warsaw2016-01-141-1/+1
| | | | | | | | - Fix an interface description. - Fix a copyright year. - Fix quote styles. - Tweak a test. - Add a test.
* Add NEWS and tweak.Barry Warsaw2016-01-131-4/+2
|
* Allow fuzz search for members in SubscriptionServiceAurélien Bompard2016-01-131-0/+3
|
* Expose the ban list on the REST APIAurélien Bompard2016-01-131-0/+7
|
* Just a little more UUID conversion convenience.Barry Warsaw2016-01-131-6/+6
|
* Refactor API differences into a separate class.Barry Warsaw2016-01-131-3/+31
| | | | | | | | | | | We now have an IAPI interface which defines methods to convert to/from UUIDs to their REST representations, and to calculate the API-homed full URL path to a resource. Add implementations API30 and API31 to handle the two different implementations so far. This also simplifies the various path_to() calls. Also: Add support for diff_cover to tox.ini to check that all differences against the master branch have full test coverage.
* Refactor API contexts.Barry Warsaw2016-01-131-0/+37
| | | | | | Rather than sprinkle API version string tests all over the place, create an IAPI interface which encapsulates the differences between API 3.0 and 3.1, and arrange for this to be used to convert to and from UUIDs.
* Refactor some tests and documentation.Barry Warsaw2016-01-071-7/+38
| | | | | | Increase coverage. Add ISubscriptionService.find_member() as per discussion.
* Happy New Year.Barry Warsaw2016-01-0240-40/+40
|
* Add a send-digests subcommand to send list digests right now.Barry Warsaw2015-12-201-1/+2
| | | | | | | | | | | | | | * Add a `mailman send-digests` subcommand which replaces the functionality of the MM2.1 senddigests.py cronjob. * Use mlist.data_path where appropriate instead of crafting it from config.LIST_DATA_DIR. This makes it more consistent to switch to using the list-id as the data subdirectory. * Refactor the to_digest handler so that we can implement maybe_send_digest_now() for the internal API. * Fix some typos in subcommand --help summaries.
* Digests improvements:Barry Warsaw2015-12-191-4/+13
| | | | | | | * digestable -> digests_enabled * nondigestable: removed * Exposed digests_enabled, digest_send_periodic, digest_volume_frequency in REST.
* A few minor cleanups.Barry Warsaw2015-12-161-1/+7
|
* Implement suggestions from the reviewAurélien Bompard2015-12-161-0/+10
|
* Make sure that Pendables always have a typeAurélien Bompard2015-12-161-0/+2
|
* Handle deleting nonexistent messages from the message store. Closes: #167Aurélien Bompard2015-12-021-2/+4
|
* Clean up pass through abompard's branch.Barry Warsaw2015-10-201-9/+16
|
* Use and interface for the set of header_matchesAurélien Bompard2015-10-201-0/+31
|
* Implement changes from the reviewAurélien Bompard2015-10-201-1/+2
|
* Rename from plural to singularAurélien Bompard2015-10-201-2/+2
|
* Use a separate table for header_matchesAurélien Bompard2015-10-201-0/+20
|
* Add server_owners attribute to the user manager.Barry Warsaw2015-09-231-0/+3
|
* Document an attribute.Barry Warsaw2015-09-231-0/+3
| | | | Add a doctest for the `owners` top-level resource.
* A couple of clean ups.Barry Warsaw2015-07-051-1/+1
|
* Some fixes caught by Barry during the reviewAurélien Bompard2015-07-051-0/+4
|
* * Messages now include a `Message-ID-Hash` as the replacement forBarry Warsaw2015-06-141-18/+18
| | | | | | `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.
* Checkpointing.Barry Warsaw2015-04-162-9/+20
|
* Plumb the subscription policy through the REST API.Barry Warsaw2015-04-151-2/+3
|
* Give the SubscriptionWorkflow a member attribute which gets set to the memberBarry Warsaw2015-04-151-3/+3
| | | | | | | | once their subscription is completed. Remove some dead tests. Update an interface.
* The SubscriptionWorkflow and Registar classes now have both a token and aBarry Warsaw2015-04-152-43/+17
| | | | | | | | | | | | "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.
* Abhilash's fix for allowing singleton strings in REST interfaces that alsoBarry Warsaw2015-04-151-1/+1
|\ | | | | | | accept lists of strings.
* \ * Mailing list subscription policy work flow has been completely rewritten.Barry Warsaw2015-04-156-53/+170
|\ \ | |/ |/| | | | | | | 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-3/+3
| |
| * Full test suite passes.Barry Warsaw2015-04-142-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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-142-3/+26
| |\
| | * Added IMember.subscriber to definitively return how a member is subscribed toBarry Warsaw2015-04-142-3/+26
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | 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-142-33/+33
| |
| * * Give the workflow state manager a count method.Barry Warsaw2015-04-131-0/+5
| | | | | | | | | | * 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/+3
| |
| * SubscriptionPolicy is largely done, modulo bugs, and the unknown-unknown ofBarry Warsaw2015-04-131-14/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Subscription workflows now support bans.Barry Warsaw2015-04-131-1/+1
| |
| * Handle save/restore of the subscription workflow.Barry Warsaw2015-04-131-7/+7
| | | | | | | | | | | | | | | | | | | | 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.
| * Trunk mergeBarry Warsaw2015-04-071-9/+7
| |\ | |/ |/|
* | Flesh out the domain interface, model, and tests. Clean up style.Barry Warsaw2015-04-061-4/+5
| |
* | Abhilash's branch, pre-cleaning.Barry Warsaw2015-04-061-8/+5
|\ \
| * | * implement left over methodsAbhilash Raj2015-04-061-2/+2
| | | | | | | | | | | | * add and remove owners using the address
| * | * Add `drop_column` inside sqlite check, fix indentationAbhilash Raj2015-03-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | * 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