summaryrefslogtreecommitdiff
path: root/src/mailman/interfaces
Commit message (Collapse)AuthorAgeFilesLines
...
* Closes #199Barry Warsaw2016-03-221-6/+4
| | | | | New subscription requests are rejected if there is already one pending. With thanks to Anirudh Dahiya. (Closes #199)
* Correct spacingAnirudh Dahiya2016-03-221-1/+1
|
* Correct space in error messageAnirudh Dahiya2016-03-221-1/+1
|
* Incorporates suggested changesAnirudh Dahiya2016-03-221-1/+11
|
* A bit of pre-merge cleanup.Barry Warsaw2016-03-221-2/+2
| | | | | | | | | | | * Reorder some add_argument() parameters. * Reword some help text. * Reword some of the doctest language. * Clean up whitespace. * Minor coding style change in unittests. * Add another unittest. * Fix a docstring (not related to these change). * Add NEWS.
* Fix cross-posting held on more than one list.Barry Warsaw2016-03-081-4/+5
| | | | | | | | | | | Closes #176 Also: * IMessageStore no longer raises a ValueError if the Message-ID already exists in the store; it just returns None. * The internal handle_message() function no longer takes a `preserve` argument, since messages are never removed from the IMessageStore.
* Last cleanups.Barry Warsaw2016-02-291-18/+22
| | | | | | | | | * Remove an unused import. * Opportunistically remove ^Ls * Add a missing interface attribute. * Fix up some docstrings. * Rename a parameter in an interface for clarity. * Random code style cleanups.
* Revert "Rename the HeaderMatch.chain column to action"Aurélien Bompard2016-02-291-8/+8
| | | | This reverts commit 703fc135dfcd496a704562ddc263aa0f4f828de9.
* 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
| |