| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
| |
Given by Abhilash Raj.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Fix the last few violations of the import rules.
|
| | |
|
| |
|
|
|
| |
* Python 3-ify super() calls.
* Remove a bunch of obsolete exception classes.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
* Cleanups.
* Updates to domains and users.
* Allow is_server_owner to be PUT.
|
| |
|
|
| |
* add and remove owners using the address
|
| |
|
|
|
|
|
|
| |
* 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 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
|
| |/
|
|
| |
Given by Abhishek. (LP: #1418276)
|
| | |
|
| | |
|
| | |
|
| | |
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
* remove alembic.cfg, move contents to schema.cfg
* fix import errors in src/mailman/model/language.py
* add indexes
* change the previously wrong written tablename autoresponserecord
* change alembic_cfg to use schema.cfg instead of alembic.cfg
|
| |/
|
|
| |
address tables
|
| | |
|
| |
|
|
|
|
|
| |
* add left out documentation
* remov super(<class>).__init__() calls in models
as it was useless now.
* remove schema_migrate func in mailman/database/base.py
|
| |
|
|
| |
* fix almost all the errors relating to doctests
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
* update some queries to match SA style
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
- 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.
|
| |
|
|
| |
- Convert direct use of config.db global to use the @dbconnection decorator.
|
| |
|
|
| |
(LP: #975700)
|
| |
|
|
|
|
|
|
|
|
|
| |
"display_name" across the board.
* `IMailingList.real_name` -> `IMailingList.display_name`
* `IUser.real_name` -> `IUser.display_name`
* `IAddress.real_name` -> `IAddress.display_name`
* Schema changes:
- real_name -> display_name (mailinglist, user, address)
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
path at the root of the resource tree (i.e. /members/X) and because when
members can be subscribed by their IUser record (for preferred address), their
canonical location cannot contain the address they are subscribed with. When
their preferred address changes (without otherwise touching their membership),
this address will change and that's not good for a canonical location.
Other changes:
* Added IMember.member_id attribute
* Added ISubscriptionService.get_member() so member records can be retrieve by
member id.
* We can now get individual members by id via the REST API.
* Extend the UniqueIDFactory so that it can take a 'context' (defaulting to
None). The context is only used in the testing infrastructure so that
separate files can be used for user ids and member ids. Otherwise, we'd
have gaps in those sequences.
* When *not* in testing mode, ensure that UIDs cannot be reused by keeping a
table of all UIDs ever handed out. We *should* never get collisions, but
this ensures it.
* Clean up mailman.sql
|
| |
|
|
| |
The preferred address must be verified, and controllable by the user.
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- As the most common interface for adding new members (and users), adapt the
password storing bit to storing only encrypted passwords in the database.
schema.cfg:
- Remove the creator_pw_file and site_pw_file as they are obsolete.
- Add password_schema key for defining the default password encryption scheme.
mailman.sql, user.py:
- Store the password as a binary blob instead of as unicode text.
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add a 'uid factory' which allows us to return predictable unique ids for
various testing purposes, e.g. user ids. This should work even in the case
of cross-subprocess uid generation.
* REST access to individual users, or the set of all users.
* User objects now have a created_on attribute.
* Users can be created through the web, but must have an email address.
* Add a [devmode] 'testing' variable for communicating to qrunner subprocesses
that we're running in testing mode. This allows us to coordinate factories
and such in the qrunner processes.
* layers.is_testing() for more consistent API.
* Give AddressError a .address attribute for better diagnostics.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
initialization. buildout.cfg is now really simple; it calls one method.
That method does all the relevant layer initializations. This better
localizes what has to be set up before testing can even begin.
* IUsers now have a created_on property which contains the datetime at which
the user record was created.
* Rework the date and uid factories so that they consult the
MockAndMonkeyLayer for the current testing flag. Also, those factories
register themselves with the layer so that they'll get automatically reset
between tests, without the layer actually having to know about them.
* Move the User model object initialization into User.__init__() from the user
manager. The User now also adds itself to the store.
* Add a 'uid factory' for unique id creation, which is test suite aware.
|
| |
|
|
|
| |
* Find users by user_id via the user manager.
* Extend the repr of users to include the user id.
|