summaryrefslogtreecommitdiff
path: root/src/mailman/rest (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Abhilash's fix for allowing singleton strings in REST interfaces that alsoBarry Warsaw2015-04-153-1/+68
|\ | | | | | | accept lists of strings.
| * add test for previous bugfixAbhilash Raj2015-04-141-0/+9
| |
| * fix creating domains from rest with only one ownersAbhilash Raj2015-04-141-1/+4
| | | | | | | | | | | | When domains are created using REST API with only one owner, validator changes it to be a string instead of a list and so the .add() function iterates over the string raising InvalidEmailError
* | Trunk mergeBarry Warsaw2015-04-078-58/+374
|\|
| * * Domains now have a list of owners, which are ``IUser`` objects, instead ofBarry Warsaw2015-04-068-58/+374
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the single ``contact_address`` they used to have. ``IUser`` objects now also have a ``is_server_owner`` flag (defaulting to False) to indicate whether they have superuser privileges. Give by Abhliash Raj, with fixes and refinements by Barry Warsaw. (LP: #1423756) * Domains can now optionally be created with owners; domain owners can be added after the fact; domain owners can be deleted. Also, users now have an ``is_server_owner`` flag as part of their representation, which defaults to False, and can be PUT and PATCH'd. Given by Abhilash Raj, with fixes and refinements by Barry Warsaw. (LP: #1423756)
| | * Add lots of test for various bits of domain owners.Barry Warsaw2015-04-066-37/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A little refactoring of list_of_str() into list_of_strings_validator() which is now put in the validators.py module and used in several places. Python 3 super() style. Add some code and tests to catch <domain>/owners references when <domain> doesn't exist.
| | * Checkpointing:Barry Warsaw2015-04-065-17/+169
| | | | | | | | | | | | | | | | | | * Cleanups. * Updates to domains and users. * Allow is_server_owner to be PUT.
| | * Abhilash's branch, pre-cleaning.Barry Warsaw2015-04-067-37/+106
| |/|
| | * * implement left over methodsAbhilash Raj2015-04-064-21/+29
| | | | | | | | | | | | * add and remove owners using the address
| | * * Add `drop_column` inside sqlite check, fix indentationAbhilash Raj2015-03-312-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | * Change `Owner` to `DomainOwner` * Fix indentation errors in docs * add multiple owners using `add_owners` * all dummy addresses should be using example.com, example.org to avoid conflict ever * add dummy tests
| | * add tests, fix docs, remove contact_addressAbhilash Raj2015-03-283-25/+26
| | |
| | * merge serverowner branchAbhilash Raj2015-03-272-10/+65
| | |\
| | | * all tests passing now (except doctests)Abhilash Raj2015-03-261-5/+19
| | | |
| | | * add domainowner and serverowner optionsAbhilash Raj2015-03-212-8/+49
| | | | | | | | | | | | | | | | | | | | | | | | * Add is_serverowner flag in User model and api * Add owner table for user-domain's many to many relationship * add owners subresource in domain's rest api
| * | | Update docstring.Barry Warsaw2015-03-291-0/+1
| | | |
* | | | Advertise the subscription policy in the REST APIAurélien Bompard2015-03-313-1/+7
| | | |
* | | | Merge abompard's subpolicy branch port with trunk. Still a WIP.Barry Warsaw2015-03-291-0/+1
|\ \ \ \ | |/ / / |/| | |
| * | | Merge from headAurélien Bompard2015-03-263-1/+38
| |\| |
| * | | Resurrect Barry's subpolicy branch (lp:~barry/mailman/subpolicy)Aurélien Bompard2015-03-203-18/+19
| | |/ | |/|
* | | Merging in several refactorings, and a REST API change.Barry Warsaw2015-03-263-17/+32
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backward Incompatible REST API Changes: * The JSON representation for subscription holds now no longer contains the `password` key. Also, the `address` key has been renamed to `email` for consistency with established terminology and other usage. Other Internal API Changes: * IUserManager has grown a `make_user()` method. Refactorings: * Most uses in the test suite of add_member() have been replaced with a new version of the subscribe() helper. This reduces the surface area of this ancient internal API. Eventually add_member() will have to go away or significantly change with the subscription policy workflow. * hold_subscription() as well as the remaining instances of add_member() now use a namedtuple in their arguments, to keep the signatures manageable.
| * | Replace add_member() with subscribe() helper.Barry Warsaw2015-03-261-3/+2
| | |
| * | Extended test helper subscribe() which takes an optional email address andBarry Warsaw2015-03-261-0/+13
| | | | | | | | | | | | returns the newly created member.
| * | * Refactor add_member() so that it uses a RequestRecord namedtuple.Barry Warsaw2015-03-212-16/+19
| | | | | | | | | | | | | | | | | | * RequestRecord contains no password key so these are not part of the held requests database any more. * Pending record contains `email` now instead of `address`.
* | | LP: #1432239 - Make sure acceptable aliases are deleted before the mailingBarry Warsaw2015-03-241-0/+16
|/ / | | | | | | list is deleted.
* / * When deleting a user object, make sure their preferences are also deleted.Barry Warsaw2015-03-202-1/+22
|/ | | | Given by Abhishek. (LP: #1418276)
* LP: #1425359: Elaborate on how email addresses with mixed case can subscribeBarry Warsaw2015-03-131-6/+38
|\ | | | | | | to a mailing list.
| * Fixed the issue #1425359 and wrote corresponding tests.black-perl ankprashar@gmail.com2015-03-041-0/+9
|/
* * Member resource JSON now include the ``member_id`` as a separate key.Barry Warsaw2015-02-133-1/+54
|
* * A new API is provided to support non-production testing infrastructures,Barry Warsaw2015-02-133-1/+113
| | | | | | | | | | | | allowing a client to cull all orphaned UIDs via ``DELETE`` on ``<api>/reserved/uids/orphans``. Note that *no guarantees* of API stability will ever be made for resources under ``reserved``. (LP: #1420083) Also: - Allow @dbconnection methods to be @staticmethods taking only one argument, the store to perform the query on.
* Don't hardcode the Python versionAurélien Bompard2015-02-111-1/+1
|
* * When deleting a user via REST, make sure all linked addresses are deleted.Barry Warsaw2015-02-092-70/+119
| | | | Found by Andrew Stuart. (LP: #1419519)
* * You can now DELETE an address. If the address is linked to a user, theBarry Warsaw2015-02-053-0/+77
| | | | user is not delete, it is just unlinked.
* * When creating a user with an email address, do not create the user recordBarry Warsaw2015-02-051-0/+22
| | | | | if the email address already exists. Given by Andrew Stuart. (LP: #1418280)
* We don't need the 'six' package any more.Barry Warsaw2015-01-0417-48/+35
|
* Bump copyright years.Barry Warsaw2015-01-0425-25/+25
|
* * ``$cwd`` is now an additional substitution variable for the ``mailman.cfg``Barry Warsaw2015-01-035-0/+424
| | | | | | | | | | | | | file's ``[paths.*]`` sections. A new ``[paths.here]`` section is added, which puts the ``var_dir`` in ``$cwd``. It is made the default layout. * You can now view the contents of, inject messages into, and delete messages from the various queue directories via the ``<api>/queues`` resource. Also: inject_message() and inject_text() now return the filebase of the file injected into the queue directory.
* * You can access the system configuration via the resource pathBarry Warsaw2014-12-268-16/+246
| | | | | | | | | ``/3.0/system/configuration/<section>``. This returns a dictionary with the keys being the section's variables and the values being their value from ``mailman.cfg`` as verbatim strings. You can get a list of all section names via ``/3.0/system/configuration`` which returns a dictionary containing the ``http_etag`` and the section names as a sorted list under the ``sections`` key. The system configuration resource is read-only.
* Deprecate <api>/system path in favor of <api>/system/versions.Barry Warsaw2014-12-263-13/+32
|
* Remove huge amounts of now unnecessary file boilerplate.Barry Warsaw2014-12-2224-91/+18
|
* Trunk merge.Barry Warsaw2014-12-225-32/+445
|\
| * /user sub-resource of the address documented by Aurélien Bompard.Barry Warsaw2014-12-091-11/+124
| |\
| | * Document the new /addresses/<email>/user resourceAurélien Bompard2014-12-091-10/+120
| |/ | | | | | | Fixes LP bug #1400520
| * * The address resource now has an additional '/user' sub-resource which canBarry Warsaw2014-12-085-22/+323
| |\ | | | | | | | | | | | | | | | | | | | | | be used to GET the address's linked user if there is one. This sub-resource also supports POST to link an unlinked address (with an optional 'auto_create' flag), and PUT to link the address to a different user. It also supports DELETE to unlink the address. (LP: #1312884) Given by Aurélien Bompard based on work by nicolask.
| | * REST feature: create a user from an existing addressAurélien Bompard2014-12-085-21/+274
| |/ | | | | | | Fixes LP bug #1312884
* | All the REST tests pass.Barry Warsaw2014-12-1512-66/+98
| |
* | Lots of REST test fixes.Barry Warsaw2014-12-156-20/+20
| |
* | Two more REST tests passing.Barry Warsaw2014-12-153-9/+9
| |
* | Checkpointing more fixes.Barry Warsaw2014-12-113-8/+13
| |
* | Fix some basic REST plumbing, and make test_rosters pass.Barry Warsaw2014-12-113-5/+8
| |
* | Checkpointing.Barry Warsaw2014-11-3016-52/+59
|/ | | | | | | | | | By using `six` I think I have most of the imports squared away. There's probably still uses of `unicode` built-ins that need fixing. The idea is to first get the test suite running (which it doesn't yet), and then to fix tests. There's a bug in lazr.config which requires us to patch it for now.