summaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* _resource_as_dict() may not return None.Barry Warsaw2015-12-124-3/+9
| | | | Add some assertions to prove this is always the case.
* Reject notifications contained no reason.Aurélien Bompard2015-12-123-2/+88
| | | | | | Implement the suggestions from the review. Cleanups by Barry.
* Merge branch 'abompard/73'Barry Warsaw2015-12-113-36/+231
|\ | | | | | | | | | | Large performance improvement in SubscriptionService.find_members(), along with a refactoring which will allow future improvements, many new tests, and a bug fix. Minor branch cleanups by Barry.
| * Refactor the SubscriptionService.find_members method to be pure SQLAurélien Bompard2015-12-112-36/+227
|/ | | | | | | | | | Additional cleanups by Barry. Fix the SubscriptionService.find_members SQL query on PostgreSQL. Assert that an unsupported use case is actually unsupported. Various little clean ups.
* Allow a Member's moderation_action to be changed by the REST API.Aurélien Bompard2015-12-085-5/+102
| | | | Cleanups by Barry. Closes !67
* Handle deleting nonexistent messages from the message store. Closes: #167Aurélien Bompard2015-12-025-13/+63
|
* Allow list names to have command suffixesAurélien Bompard2015-11-293-2/+42
| | | | | | Fixes #168 Minor style fixes and add another test.
* 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-214-6/+62
| | | | | SQLite doesn't not enforce foreign key constraints, but PostgreSQL does, and without this fix, IntegrityErrors get raised.
* Fix the approved rule when there is no list passwordAurélien Bompard2015-11-213-0/+10
|
* Reorder the default-posting-chain to avoid spam.Aurélien Bompard2015-11-215-17/+14
| | | | | | Fixes: #163 Adapt unit tests.
* Add useful indexes on the member tableAurélien Bompard2015-11-213-4/+39
|
* Sort the JSON output when [devmode]enabled is true.Barry Warsaw2015-11-212-1/+3
|
* Sort the JSON keys in dev modeAurélien Bompard2015-11-211-1/+2
| | | | This makes it much easier to compare VCR tapes.
* JSON representations for held message now include a ``self_link``.Barry Warsaw2015-11-153-7/+11
|
* REST: add a self_link entry to held messagesAurélien Bompard2015-11-152-1/+6
|
* Closes #144Barry Warsaw2015-11-084-1/+44
| | | | | * Fix ``UnicodeEncodeError`` in the hold chain when sending the authorization email to the mailing list moderators. (Closes: #144)
* * Add NEWS and a missing _all__ key.Barry Warsaw2015-11-062-4/+8
| | | | * Wrap paragraph.
* Rework pagination to fix the 'start' and 'total_size' valuesAurélien Bompard2015-11-0410-109/+95
|
* Fix the Exim documentation. Given by Isaac Bennetch. Closes #124.Barry Warsaw2015-11-021-2/+2
|
* Clarify that the given example are the defaults.Barry Warsaw2015-11-011-3/+3
| | | | Closes #149
* Revert "Fix issue #3 by searching for the 'master' script in several possible"Barry Warsaw2015-11-013-19/+59
| | | | | | This reverts commit 8c471e067c4b31064c2f69c0afd048a7e756a429. The fix wasn't correct. Now we have a test for the expected behavior.
* * Fix the processing of subscription confirmation messages when the mailingBarry Warsaw2015-10-313-4/+93
| | | | list is set to confirm-then-moderate. (Closes #114)
* Added Trove classifiers to setup.py. (Closes: #152)Barry Warsaw2015-10-291-0/+1
|
* Collapse multiple ``Re:`` in Subject headers. Given by Mark Sapiro.Barry Warsaw2015-10-292-1/+2
| | | | (Closes: #147)
* Fixes for issue #147 Multiple "Re:" in subject.Mark Sapiro2015-10-292-19/+31
|
* A little bit of code cleanup.Barry Warsaw2015-10-291-3/+3
|
* Add NEWS.Barry Warsaw2015-10-201-0/+5
|
* Clean up pass through abompard's branch.Barry Warsaw2015-10-2010-136/+198
|
* Be compatible with older versions of SQLAlchemy and AlembicAurélien Bompard2015-10-201-4/+3
|
* Test schema migration for the header matchesAurélien Bompard2015-10-202-7/+57
|
* Use and interface for the set of header_matchesAurélien Bompard2015-10-208-35/+174
|
* Fix a code typo in the docsAurélien Bompard2015-10-201-1/+1
|
* Implement changes from the reviewAurélien Bompard2015-10-208-36/+82
|
* Make sure site-wide header_matches take precedence over list-specific onesAurélien Bompard2015-10-202-8/+45
|
* Adapt the code and the tests to the new HeaderMatch objectAurélien Bompard2015-10-205-13/+22
|
* Rename from plural to singularAurélien Bompard2015-10-203-12/+12
|
* Use a separate table for header_matchesAurélien Bompard2015-10-203-2/+121
|
* Convert header_filter_rules from 2.1 to header_matchesAurélien Bompard2015-10-202-0/+168
|
* Handle header-match rule-specific actionAurélien Bompard2015-10-202-2/+39
|
* * Remove the test_suite key from setup.py; it isn't the right way to run theBarry Warsaw2015-10-081-2/+2
| | | | | tests suite (for that, use tox). * Use resource_filename() to locate the top mailman package.
* The logging of moderation reasons has been fixed. Given by Aurélien Bompard.Barry Warsaw2015-09-233-2/+8
|\
| * Fix import order.Barry Warsaw2015-09-231-1/+1
| |
| * Fix the logging of the moderation reasonsAurélien Bompard2015-09-232-2/+6
|/
* Add NEWS.Barry Warsaw2015-09-231-0/+2
|
* Add another code-path test.Barry Warsaw2015-09-231-0/+40
|
* Implement the REST API for <api>/owners.Barry Warsaw2015-09-233-3/+46
|
* Add server_owners attribute to the user manager.Barry Warsaw2015-09-233-1/+55
|
* Start of owners top level resource.Barry Warsaw2015-09-231-0/+8
|
* Document an attribute.Barry Warsaw2015-09-232-0/+64
| | | | Add a doctest for the `owners` top-level resource.