summaryrefslogtreecommitdiff
path: root/src/mailman/model/listmanager.py
Commit message (Collapse)AuthorAgeFilesLines
* IListManager.get() now accepts both List-IDs and FQDN list names.Barry Warsaw2017-06-241-4/+11
|
* Delete all pendings when mailing list is deletedAbhilash Raj2017-01-081-0/+2
|
* Bump copyright years.Barry Warsaw2017-01-041-1/+1
|
* Use `atpublic` for @public instead of internal copy.Barry Warsaw2016-11-291-1/+1
|
* Implement the review suggestionsAurélien Bompard2016-10-261-3/+7
| | | | See !161
* Add a method to find list using properties filtersAurélien Bompard2016-10-261-0/+7
| | | | | | This allows the filtering to be done at the database level. It also makes list pagination much more efficient, since the slicing is done at the database level too.
* __iter__() must sort just like mailing_lists property.Barry Warsaw2016-04-131-1/+2
|
* Clean up the model and languages directories.Barry Warsaw2016-03-251-6/+4
|
* First massive round of cleanups.Barry Warsaw2016-03-231-6/+4
| | | | | | | | * 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.
* Delete bans when their associated list is deletedAurélien Bompard2016-01-141-0/+2
| | | | Also add indexes on the Ban fields that are filtered on.
* Several optimizations:Barry Warsaw2016-01-111-6/+4
| | | | | | | | | | | | * Use `yield from` wherever appropriate. * Use SA's .one_or_none() where appropriate. - Fix a bug in MailingList.pass_extensions. - Use ValueError in other places for consistency. - Remove unreached/nonsense code. - Simplify the SubscriptionService.find_member() and .find_members() implementations. - Boost coverage.
* Happy New Year.Barry Warsaw2016-01-021-1/+1
|
* Clean up maxking's branch a little bit.Barry Warsaw2015-08-041-1/+1
| | | | | | | * 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-031-1/+1
|
* Fix #115Abhilash Raj2015-08-031-1/+5
|
* LP: #1432239 - Make sure acceptable aliases are deleted before the mailingBarry Warsaw2015-03-241-1/+3
| | | | list is deleted.
* Bump copyright years.Barry Warsaw2015-01-041-1/+1
|
* Remove huge amounts of now unnecessary file boilerplate.Barry Warsaw2014-12-221-6/+2
|
* Merge abompard's fixes to the Postgres test suite.Barry Warsaw2014-10-301-1/+2
|
* Test repair:Barry Warsaw2014-09-211-1/+2
| | | | | | | | * Remove an unused import. * Add skips for all migration unit tests. * Fix model class attribute typo. * .values() returns tuples, so adjust for that. * Add a test.
* all tests except for importer working(ignoring test_migrations.py)Abhilash Raj2014-09-181-2/+2
|
* fix all tests in mailman.model.testsAbhilash Raj2014-09-131-1/+1
|
* modify all storm queries to work with SAAbhilash Raj2014-09-121-2/+2
|
* * change declarative_base class to use ModelMeta classAbhilash Raj2014-09-061-12/+10
| | | | * update some queries to match SA style
* * Fix IntegrityError (against PostgreSQL) when deleting a list with contentBarry Warsaw2014-03-151-0/+2
| | | | filters. Given by Aurélien Bompard. (LP: #1117174)
* Bump copyright years.Barry Warsaw2014-01-011-1/+1
|
* * Creation of lists with upper case names should be coerced to lower case.Barry Warsaw2013-03-061-0/+1
| | | | (LP: #1117176)
* Bump copyright years.Barry Warsaw2013-01-011-1/+1
|
* * The link between members and the mailing lists they are subscribed to, isBarry Warsaw2012-09-041-5/+17
| | | | | | | | | | | | | | | now via the RFC 2369 `list_id` instead of the fqdn listname (i.e. posting address). This is because while the posting address can change if the mailing list is moved to a new server, the list id is fixed. (LP: #1024509) + IListManager.get_by_list_id() added. + IListManager.list_ids added. + IMailingList.list_id added. + Several internal APIs that accepted fqdn list names now require list ids, e.g. ISubscriptionService.join() and .find_members(). + IMember.list_id attribute added; .mailing_list is now an alias that retrieves and returns the IMailingList. - list_id added (LP: #1024509)
* General code cleanup.Barry Warsaw2012-04-251-3/+2
| | | | | | | | - Add explicit dependency on zope.event in setup.py. - Use Python 3 compatible syntax for specifying that a class implements an interface, i.e. the @implementer class decorator. - print_function futures. - Whitespace normalization.
* - Module modernatizations (print function).Barry Warsaw2012-04-221-21/+28
| | | | - Convert direct use of config.db global to use the @dbconnection decorator.
* ArchitectureBarry Warsaw2012-03-261-3/+2
| | | | | | | | | | | | | | | | | | | ------------ * Internally, all datetimes are kept in the UTC timezone, however because of LP: #280708, they are stored in the database in naive format. * `received_time` is now added to the message metadata by the LMTP runner instead of by `Switchboard.enqueue()`. This latter no longer depends on `received_time` in the metadata. * The `ArchiveRunner` no longer acquires a lock before it calls the individual archiver implementations, since not all of them need a lock. If they do, the implementations must acquire said lock themselves. Configuration ------------- * New configuration variables `clobber_date` and `clobber_skew` supported in every `[archiver.<name>]` section. These are used to determine under what circumstances a message destined for a specific archiver should have its `Date:` header clobbered.
* * Remove previously deprecated `IListManager.get_mailing_lists()`.Barry Warsaw2012-01-271-6/+0
|
* * Add property `IListmanager.name_compoments` which returns 2-tuples forBarry Warsaw2012-01-271-0/+8
| | | | every mailing list as (list_name, mail_host).
* Three performance improvements.Barry Warsaw2012-01-271-6/+8
|
* Storm now has a "load hook" which we can use to restore the rosters when theBarry Warsaw2012-01-271-7/+3
| | | | | MailingList is loaded from the database. We need to call this explicitly in the constructor, but at least nothing else will ever need to call it.
* copybumpBarry Warsaw2012-01-011-1/+1
|
* Complete bug 827036 work.Barry Warsaw2011-08-171-1/+4
| | | | | | | | | | | * Add ListCreatingEvent and ListDeletingEvent. These are sent before the operation actually occurs, whereas the previously added ListCreatedEvent and ListDeletedEvent are sent after the operation. Specifically, this is necessary because request database deletion requires the IMailingList object, which is only available before the list is deleted. * Add a handler to clear out the requests database for a mailing list, when the mailing list is about to be deleted.
* Send event notifications whenever a mailing list is created or deleted.Barry Warsaw2011-08-161-1/+6
|
* Remove all pylint vestiges.Barry Warsaw2011-08-031-1/+0
|
* * The IMailingList attribute ``host_name`` has been renamed to ``mail_host``Barry Warsaw2011-06-161-3/+3
| | | | | for consistency. This changes the REST API for mailing list resources. (LP: #787599)
* Happy New Year.Barry Warsaw2011-01-011-1/+1
|
* Add POST validators.Barry Warsaw2010-03-011-5/+0
|
* Refactoring the REST support by removing unnecessary stuff and moving otherBarry Warsaw2010-02-251-2/+1
| | | | | | stuff around. We no longer need APIValueError or IResolvePathNames. Also, refactor the creation of the REST server so that it could be used with other WSGI frameworks.
* Complete the conversion to restish. All the tests pass and we're now actuallyBarry Warsaw2010-02-241-0/+1
| | | | | | RESTful. We have to use httplib2 to get DELETE and PUT. This is a prototype and could still use much cleanup.
* * Make the lists.txt doctest pass with restish.Barry Warsaw2010-02-231-5/+10
| | | | | * Put the domain name on the BadDomainSpecificationError * Give the IListManager an __iter__()
* Happy New Year.Barry Warsaw2010-01-011-1/+1
|
* * Add REST interface for joining a mailing list.Barry Warsaw2009-12-281-2/+2
| | | | | | * add_member() now returns the newly created IMember. * Reorganized several exceptions and exposed them to the REST API. * Added NoSuchListError.
* database/model reorganization. Model classes go in mailman.model. StockBarry Warsaw2009-10-101-0/+97
database support goes in mailman.database. Move stuff out of mailman/database/__init__.py.