summaryrefslogtreecommitdiff
path: root/src/mailman/app (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* A few more changes.Barry Warsaw2016-09-082-4/+5
|
* Fix many failures.Barry Warsaw2016-09-081-1/+18
| | | | Also, document more APIs.
* Remove workflowmanager.pyBarry Warsaw2016-09-024-154/+5
|
* IWorkflowManager -> ISubscriptionManagerBarry Warsaw2016-09-011-5/+5
|
* CheckpointingBarry Warsaw2016-09-015-308/+55
|
* Checkpointing.Barry Warsaw2016-09-011-3/+298
|
* Intermediate CommitAbhilash Raj2016-09-018-32/+744
|
* Added unsubscribe instructions to list:member:generic:footer.txtFrancesco Ariis2016-08-251-4/+4
|
* Reorganize the documentation for better accesibilityAbhilash Raj2016-08-211-0/+8
|
* Rebase mailman/mailman!180 and cleanup # noqaBarry Warsaw2016-07-283-3/+3
|
* New template system. Closes #249Barry Warsaw2016-07-1614-371/+150
| | | | | The new template system is introduced for API 3.1. See ``src/mailman/rest/docs/templates.rst`` for details.
* Fixes #237Barry Warsaw2016-06-032-16/+33
| | | | | Nonmember subscriptions are removed when one of the addresses controlled by a user is subscribed as a member. Given by Aditya Divekar. (Closes #237)
* Add test to check deletion of nonmmeber record.Aditya2016-05-311-0/+20
|
* Remove nonmember subscriptions if susbcribed as member.Aditya2016-05-311-0/+6
| | | | | | On subscribing an address as a member, we check if the related user is subscribed as a nonmember through any address. If yes, we remove the nonmember subscription.
* Use contextlib.suppress() where appropriate.Barry Warsaw2016-04-301-3/+2
|
* mailman subcommands commit transactionsBarry Warsaw2016-04-121-2/+1
| | | | | | Closes #223 Also: `mailman digests` has grown --verbose and -dry-run options.
* Use flake8-respect-noqa plugin and fix more complaints.Barry Warsaw2016-04-011-1/+1
|
* Don't use `flake8: noqa`.Barry Warsaw2016-04-014-6/+6
| | | | | | | This suppresses all errors in the file. Use `noqa`, although pep8 doesn't honor this for all errors. There may be a plugin which helps.
* Import order flake8 plugin.Barry Warsaw2016-03-272-3/+3
| | | | Fix lots of import order errors discovered by the new plugin.
* Clean up the core directory.Barry Warsaw2016-03-241-1/+1
| | | | | | | mailman/core/errors.py is gone now. We had a duplicate base exception which now always comes from mailman/interfaces/errors.py. Obsolete/unused exceptions are remove. The other exceptions are moved to better locations.
* First massive round of cleanups.Barry Warsaw2016-03-2326-384/+182
| | | | | | | | * Get rid of explicit __all__ settings and use the @public decorator. * Get rid of ^L's * Use expected_count argument for get_queue_messages() * Various code modernizations. * Other minor changes to make flake8 happy.
* Clean ups for merge.Barry Warsaw2016-03-232-52/+43
| | | | | | | | * Update some comments. * Slightly rewrite a conditional test. * Coding style fixes. * Add a convenience to get_queue_message(). * Add NEWS.
* Add test for checking the member display nameAditya2016-03-231-1/+87
|
* Assign the correct display name to the subscribed memberAditya2016-03-231-1/+7
|
* Closes #199Barry Warsaw2016-03-221-6/+8
| | | | | New subscription requests are rejected if there is already one pending. With thanks to Anirudh Dahiya. (Closes #199)
* Correct spacingAnirudh Dahiya2016-03-221-4/+4
|
* Incorporates suggested changesAnirudh Dahiya2016-03-221-1/+7
|
* Fix cross-posting held on more than one list.Barry Warsaw2016-03-083-59/+24
| | | | | | | | | | | 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.
* Allow List-ID in decoration template URIs.Barry Warsaw2016-02-271-11/+18
| | | | | | | | Closes #196 In mailman: URIs (e.g. IMailingList.header_uri and .footer_uri), you used to be able to only use fqdn-listnames. But since List-IDs are more stable, let's allow those too. Silently deprecate using the fqdn-listname.
* Add a set_preferred() helper.Barry Warsaw2016-02-061-7/+4
| | | | | This refactors the setting of a user's preferred address to the first in their list of linked addresses.
* Super duper.Barry Warsaw2016-01-261-2/+2
| | | | | * Python 3-ify super() calls. * Remove a bunch of obsolete exception classes.
* Boost coverage and remove dead code.Barry Warsaw2016-01-252-4/+11
|
* Boost coverage.Barry Warsaw2016-01-251-1/+1
| | | | Also, ignore `raise AssertionError` lines globally.
* Boost coverage.Barry Warsaw2016-01-081-0/+20
|
* Refactor some tests and documentation.Barry Warsaw2016-01-072-378/+2
| | | | | | Increase coverage. Add ISubscriptionService.find_member() as per discussion.
* Complete the layer violation fixes by moving the SubscriptionService class toBarry Warsaw2016-01-061-108/+1
| | | | the mailman.model package.
* Additional refactoring to use the QuerySequence wrapper, so that we can stillBarry Warsaw2016-01-062-10/+17
| | | | | | use len() and slicing on SQLAlchemy query results. We also don't need to list()-ify the results in the tests. This isn't perfect, but at least it doesn't introduce yet another layer violation.
* Make the members request pageableAurélien Bompard2016-01-063-10/+10
|
* Boost coverage.Barry Warsaw2016-01-031-1/+1
| | | | | | Use coverage.ini to ignore a few common idioms, so as to reduce code clutter. Invoke coverage slightly differently in the tox.ini.
* Happy New Year.Barry Warsaw2016-01-0226-26/+26
|
* More coverage.Barry Warsaw2015-12-291-0/+15
|
* Expose the "bump digest" and "send digest" functionality though the REST APIBarry Warsaw2015-12-221-1/+1
| | | | | | | via the ``<api>/lists/<list-id>/digest`` end-point. GETting this resource returns the ``next_digest_number`` and ``volume`` as the same values accessible through the list's configuraiton resource. POSTing to the resource with either ``send=True``, ``bump=True``, or both invokes the given action.
* Port bump-digests to MM3, via the `mailman digests` command.Barry Warsaw2015-12-221-3/+4
| | | | | Fix a buglet where if maybe_send_digest_now() was called before a digest has been prepared, a FileNotFoundError would be raised.
* Refactor bump_digest_number_and_volume() and maybe_send_digest_now() intoBarry Warsaw2015-12-222-0/+355
| | | | | | | | | their own module inside the mailman.app package. With the latter, remove the "all lists" functionality and require the mlist argument. We'll handle the "all lists" use case higher up the stack. Also, rename the send-digests handler digests since we'll next add the bump functionality.
* Move the data_paths.Barry Warsaw2015-12-201-2/+0
|
* Add a send-digests subcommand to send list digests right now.Barry Warsaw2015-12-202-13/+9
| | | | | | | | | | | | | | * 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.
* Make sure that Pendables always have a typeAurélien Bompard2015-12-165-4/+6
|
* 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.
* Handle deleting nonexistent messages from the message store. Closes: #167Aurélien Bompard2015-12-021-0/+9
|
* A little bit of code cleanup.Barry Warsaw2015-10-291-3/+3
|