| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This merges the SubscriptionManager and UnsubscriptionManager into a
single SubscriptionManager implementation that handles both register()
and unregister(). This allows us to use direct class-based adaptation
instead of the more clunky getAdapter() API. We can also eliminate the
funky _get_workflow() implementation detail.
This has a couple of side-effects. .confirm() must lookup the token in
the pendings database and pull out the pending type, dispatching to the
proper class depending on the type, or raising a LookupError if the
token is None or there is no pendable associated with the given token.
This feels like an acceptable trade-off.
However, this *also* means that IWorkflowStateManager must lose its
'name' argument in its methods. That's because we won't actually know
the name until its too late. Honestly, the name wasn't providing much
value anyway (it was always the subclass's name), so losing that seems
fine too. The complication here is that the name was a primary key in
the 'workflowstate' table, so we need to add its removal in the database
migration.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
* Add a version_info field which is a better way to do ordered
comparisions of the API version.
* All subresources now get their .api attribute set automatically, if
they are passed back through the ObjectRouter. No more fiddling with
context['api'] (unless of course, they don't make a roundtrip through
the main ObjectRouter loop.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
The `moderation_action` for members and nonmember can now be ``None``
which signals falling back to the appropriate list default action,
e.g. `default_member_action` and `default_nonmember_action`. Given by
Aurélien Bompard.
Closes #189
|
| |
|
|
|
|
|
|
| |
Members and nonmember's moderation action should be None by default, and
in that case the moderation rule should fallback to the mailing list's
default action.
Fixes: #189
|
| | |
|
| |
|
|
|
| |
New subscription requests are rejected if there is already one pending.
With thanks to Anirudh Dahiya. (Closes #199)
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Trying to subscribe an address as a list owner (or moderator or
nonmember) which is already subscribed with that role produces a server
error.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Wrap lines.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
We now have an IAPI interface which defines methods to convert to/from
UUIDs to their REST representations, and to calculate the API-homed full
URL path to a resource. Add implementations API30 and API31 to handle
the two different implementations so far. This also simplifies the
various path_to() calls.
Also: Add support for diff_cover to tox.ini to check that all
differences against the master branch have full test coverage.
|
| |
|
|
|
|
| |
Rather than sprinkle API version string tests all over the place, create
an IAPI interface which encapsulates the differences between API 3.0 and
3.1, and arrange for this to be used to convert to and from UUIDs.
|
| | |
|
| |
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
| |
Use coverage.ini to ignore a few common idioms, so as to reduce code clutter.
Invoke coverage slightly differently in the tox.ini.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
hex representations of a UUID, not the int representation.
Also:
* Some general code cleanup.
* Fix issue 185 (REST server crash when subscribing a user without a
preferred address).
|
| |
|
|
| |
Cleanups by Barry. Closes !67
|
| | |
|
| |
|
|
|
|
| |
3.0 except that UUIDs are represented as hex strings instead of 128-bit
integers, since the latter are not compatible with all versions of
JavaScript.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
unnecessary changes are needed for upstream falcon to support restish-ish
traversal.
|
| |
|
|
| |
REST tests pass. This requires an as yet unmerged internal change to falcon.
|