summaryrefslogtreecommitdiff
path: root/src/mailman/model (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a send-digests subcommand to send list digests right now.Barry Warsaw2015-12-201-1/+1
| | | | | | | | | | | | | | * 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-2/+1
| | | | | | | * digestable -> digests_enabled * nondigestable: removed * Exposed digests_enabled, digest_send_periodic, digest_volume_frequency in REST.
* A few minor cleanups.Barry Warsaw2015-12-162-6/+9
|
* Bring back the constructor for PendedKeyValueAurélien Bompard2015-12-161-0/+4
|
* Implement suggestions from the reviewAurélien Bompard2015-12-163-10/+19
|
* Resolve conflicts.Barry Warsaw2015-12-161-2/+2
|
* Add indexes on the Pendable fields that can be queried upon.Aurélien Bompard2015-12-161-13/+4
| | | | | | | - Pendable.token: queried in the add() and confirm() methods - Pendable.expiration_date: queried on evict() - PendableKeyValue.key and PendableKeyValue.value: queried in the find() method
* Improve the unit test for the find methodAurélien Bompard2015-12-161-9/+28
|
* Make sure that Pendables always have a typeAurélien Bompard2015-12-165-6/+15
|
* Add a find method for pending requestsAurélien Bompard2015-12-162-6/+45
|
* Use the relationship instead of an explicit queryAurélien Bompard2015-12-161-4/+2
|
* Use the relationship cascade feature to delete key-valuesAurélien Bompard2015-12-162-9/+62
|
* Add a couple indexes on MemberAurélien Bompard2015-12-151-2/+2
|
* Handle deleting nonexistent messages from the message store. Closes: #167Aurélien Bompard2015-12-022-11/+46
|
* Optimize the roster SQL queryAurélien Bompard2015-11-221-3/+5
| | | | | | Measured improvement: about 100x faster. (!) Reformatting.
* When deleting an Address, dependencies must be deleted firstAurélien Bompard2015-11-212-0/+60
| | | | | SQLite doesn't not enforce foreign key constraints, but PostgreSQL does, and without this fix, IntegrityErrors get raised.
* Add useful indexes on the member tableAurélien Bompard2015-11-212-4/+4
|
* Clean up pass through abompard's branch.Barry Warsaw2015-10-202-28/+44
|
* Use and interface for the set of header_matchesAurélien Bompard2015-10-202-3/+93
|
* Implement changes from the reviewAurélien Bompard2015-10-201-2/+2
|
* Rename from plural to singularAurélien Bompard2015-10-201-5/+5
|
* Use a separate table for header_matchesAurélien Bompard2015-10-201-2/+19
|
* Add server_owners attribute to the user manager.Barry Warsaw2015-09-232-1/+52
|
* For now, treat `DeliveryMode.summary_digests` the same as `.mime_digests`.Barry Warsaw2015-09-061-1/+0
| | | | | (Closes #141). Also, don't enqueue a particular digest if there are no recipients for that digest.
* Clean up maxking's branch a little bit.Barry Warsaw2015-08-042-8/+14
| | | | | | | * Sort the .delete()'s * Remove an unused import. * Renamed and documented some tests. * Support tox's new passenv setting.
* Add tests for autoresponserecordAbhilash Raj2015-08-032-3/+13
|
* Fix zope lookup error in the previous commitAbhilash Raj2015-08-031-1/+1
|
* Add tests for #115Abhilash Raj2015-08-031-0/+9
|
* Fix #115Abhilash Raj2015-08-031-1/+5
|
* * Messages now include a `Message-ID-Hash` as the replacement forBarry Warsaw2015-06-143-15/+52
| | | | | | `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.
* * The default languages from Mailman 2.1 have been ported over. Given byBarry Warsaw2015-05-071-5/+0
| | | | Aurélien Bompard.
* Fix a typo. Found by Rashi Karanpuria.Barry Warsaw2015-05-041-3/+3
|
* 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