summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* * Add property `IListmanager.name_compoments` which returns 2-tuples forBarry Warsaw2012-01-275-6/+38
| | | | 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-272-10/+9
| | | | | 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.
* A faster implementation of SubscriptionService.get_members().Barry Warsaw2012-01-262-13/+22
|
* * Add property `IUserManager.members` to return all `IMembers` in the system.Barry Warsaw2012-01-264-1/+43
|
* - Bump copyright years.Barry Warsaw2012-01-07275-890/+309
|\ | | | | | | | | | | - Refactor to use the flufl.password package. - Adapt to the API for flufl.bounce 2.0. - Add a `bin/mailman shell` alias for `bin/mailman withlist`.
| * copybumpBarry Warsaw2012-01-01270-270/+270
| |
| * Replace the password stuff with flufl.password.Barry Warsaw2012-01-019-619/+17
| |
| * * `bin/mailman shell` is an alias for `withlist`.Barry Warsaw2011-11-132-0/+12
| |
* | typoBarry Warsaw2012-01-071-1/+1
|/
* * Stop adding the X-BeenThere header.Barry Warsaw2011-11-0613-352/+349
| | | | | | | * Separate out the RFC 2369 header adding handler. * Dynamically calculate the `List-Id` header instead of storing it in the database. This means it cannot be changed. * Be sure to clean out any digest .mmdf files when the world is reset.
* A couple of small cleanups.Barry Warsaw2011-11-042-5/+2
|
* * Fix a couple of spelling errors.Barry Warsaw2011-11-0210-34/+43
| | | | | | * Code cleanup (<> -> != ... sigh) * Minor refactoring of database setup code so that touch() is moved to the SQLiteDatabase class; it's not relevant for PostgreSQL.
* Remove extraneous `test_suite()` functions. zope.testrunner willBarry Warsaw2011-10-3031-667/+11
| | | | | | | | | automatically do the right thing in most cases. Keep test_suite() in test_documentation.py since these dynamically set up docs tests properly. Refactor test_passwords.py so that base class tests aren't bogusly run. Also, remove test_membership.py which was essentially disabled because it was testing the MM2 membership API.
* * Implement the style manager as a utility instead of an attribute hangingBarry Warsaw2011-10-2410-18/+83
| | | | | | off the `mailman.config.config` object. * Fixed bogus use of `bounce_processing` attribute (should have been `process_bounces`, with thanks to Vincent Fretin. (LP: #876774)
* * Fixed KeyError in retry runner, contributed by Stephen A. Goss.Barry Warsaw2011-10-243-1/+67
|\ | | | | | | (LP: #872391)
| * LP: #872391, fix Retry runner bug with unit testStephen A. Goss2011-10-242-1/+66
|/
* PostgreSQL support contributed by Stephen A. Goss, with refactoring and testBarry Warsaw2011-10-2314-24/+622
|\ | | | | | | suite compliance by Barry. (LP: #860159)
| * Add some minimal documentation about setting up the database.Barry Warsaw2011-10-231-0/+71
| |
| * Fix a few bogus sort order assumptions uncovered by the PostgreSQL tests.Barry Warsaw2011-10-231-2/+3
| |
| * Sort the address memberships, first by mailing list fqdn, then by emailBarry Warsaw2011-10-231-2/+8
| | | | | | | | address, then by the integer value of the role enum.
| * Add database specific pre- and post- reset callbacks. Use this to implementBarry Warsaw2011-10-233-1/+42
| | | | | | | | primary key reset for PostgreSQL, fixing several tests.
| * digest_size_thresholds should be floats. This still doesn't work inBarry Warsaw2011-10-222-2/+2
| | | | | | | | PostgreSQL.
| * - Be a little more careful about preparing the SQL statements for executionBarry Warsaw2011-10-223-7/+16
| | | | | | | | | | | | in the database, namely strip out empty lines and comments first, otherwise PostgreSQL spews "empty statement" errors at us. - Down to 4 test failures.
| * - Ensure that class removal is deterministic.Barry Warsaw2011-10-223-28/+53
| | | | | | | | | | | | - Comment out a few more foreign key constraints since they break the tests. - Enable the PostgreSQLDatabase for testing (this one should not be committed on trunk.
| * Merge PostgreSQL support from Stephen A. Goss, with refactoring by Barry. LP:Barry Warsaw2011-10-227-16/+456
|/| | | | | | | #860159.
| * LP: #860159 (experimental) PostgreSQL supportStephen A. Goss2011-09-262-4/+344
| |
* | * Fixed Postfix alias file generation when more than one mailing listBarry Warsaw2011-10-163-4/+41
| | | | | | | | exists. (LP: #874929). Given by Vincent Fretin.
* | * `bin/mailman start --force` option is fixed. (LP: #869317)Barry Warsaw2011-10-167-76/+217
| | | | | | | | | | | | | | | | | | | | | | | | * acquire_lock_1(): No need to unlink the tempfile * Start.process(): Don't print error message when the lock is in stale_lock or host_mismatch status and --force has been given. * control.rst: Refactor test code into test_control.py. * test_create.py: To more accurately mimic argparse, FakeParser.error() needs to `sys.exit(1)`. The `SystemExit` must also be caught in the appropriate tests. * logging.py: Locking is now down by the flufl.lock package, so apply the `mailman.lock` configuration to it.
* | * Build the Sphinx documentation with `python setup.py build_sphinx` insteadBarry Warsaw2011-10-051-0/+2
|/ | | | | of bin/docs from buildout. * Ensure foreign_keys are ON (probably unnecessary).
* Bump version numbersBarry Warsaw2011-09-252-4/+9
|
* Fix a shallow test failure.Barry Warsaw2011-09-241-1/+1
|
* This is the way to build the documentation now:Barry Warsaw2011-09-233-33/+26
| | | | $ python setup.py build_sphinx
* Finally, all doctests are named .rstBarry Warsaw2011-09-2385-0/+0
|
* Version number bump for 3.0.0a8 release.Barry Warsaw2011-09-232-2/+2
|
* Improved the way flufl.enum.Enums are stored in the database. Now, theyBarry Warsaw2011-09-2312-46/+62
| | | | | | | | should always be stored as INTEGER columns, with the enum class explicitly described in the code. This should be more efficient, and besides EIBTI. Also, filled in a few additional IMailingList attributes which were not documented in the interface.
* * Preferences for addresses, users, and members can be accessed, changed, andBarry Warsaw2011-09-2312-12/+541
| | | | | | deleted through the REST interface. Hierarchical, combined preferences for members, and system preferences can be read through the REST interface. (LP: #821438)
* * Getting the memberships for a non-existent address did not give a 404 errorBarry Warsaw2011-09-134-3/+66
| | | | (LP: #848103). Given by Stephen A. Goss.
* * Rewrote a test for compatibility between Python 2.6 and 2.7. (LP: #833208)Barry Warsaw2011-09-072-24/+16
|
* * Four new events are created, and notifications are sent during domainBarry Warsaw2011-09-027-5/+216
| | | | | | | | | | lifecycle changes: - DomainCreatingEvent - sent before the domain is created - DomainCreatedEvent - sent after the domain is created - DomainDeletingEvent - sent before the domain is deleted - DomainDeletedEvent - sent after the domain is deleted * Using the above events, when a domain is deleted, associated mailing lists are deleted. (LP: #837526)
* * You can now query or change a member's `delivery_mode` attribute throughBarry Warsaw2011-09-015-12/+130
|\ | | | | | | the REST API (LP: #833132). Given by Stephen A. Goss.
| * LP 833132: add delivery_mode to member info in REST API, and make PATCHable ↵Stephen A. Goss2011-08-243-10/+129
| | | | | | | | with tests
* | * PATCHing an invalid attribute on a member did not give a 400 errorBarry Warsaw2011-09-013-2/+22
| | | | | | | | (LP: #833376). Given by Stephen A. Goss.
* | * Getting the roster or configuration of a nonexistent list did not give aBarry Warsaw2011-09-013-0/+95
| | | | | | | | 404 error (LP: #837676). Given by Stephen A. Goss.
* | * New REST resource http://.../<domain>/lists can be GETed in order to findBarry Warsaw2011-08-3010-4/+198
|\ \ | | | | | | | | | | | | all the mailing lists in a specific domain (LP: #829765). Given by Stephen A. Goss.
| * | email_host => mail_hostStephen A. Goss2011-08-231-1/+1
| | |
| * | merged changes to main branchStephen A. Goss2011-08-2315-70/+195
| |\ \
| * | | some tweaks to fix for LP: 829765 based on feedbackStephen A. Goss2011-08-239-18/+88
| | | |
| * | | REST API: add listing of mailing lists per domainStephen A. Goss2011-08-196-3/+61
| | | |
* | | | * User and Member ids are now proper UUIDs. The UUIDs are pended as unicodes,Barry Warsaw2011-08-3031-142/+424
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and exposed to the REST API as their integer equivalents. They are stored in the database using Storm's UUID type. - ISubscriptionService.get_member() now takes a UUID - IUserManager.get_user_by_id() now takes a UUID * Moderators and owners can be added via REST (LP: #834130). Given by Stephen A. Goss. - add_member() grows a `role` parameter. - ISubscriptionService.join() grows a `role` parameter. * InvalidEmailAddressError no longer repr()'s its value. * `address` -> `email` for consistency - delete_member() - ISubscriptionService.leave() * Fixed typo in app/subscriptions.py __all__ * AlreadySubscribedError: attributes are now public. * More .txt -> .rst renames.