Age | Commit message (Collapse) | Author |
|
Temporary traits are not saved to the database, and have no attached
resource (at this time). As such, make them all simply public-read to enable
access for users.
This might change after more information on usage of temporary traits is
collected and considered.
|
|
|
|
|
|
* Fix bugs introduced while attempting pagination.
* Return resource object without attached data items.
|
|
|
|
|
|
Make UI somewhat consistent with the GN2 UI.
|
|
|
|
|
|
|
|
Fetch from `__REDIS_COLLECTION_KEY__` not `"collections"` to ensure all
collections are retrieved correctly.
Rename from `__*_DOC__` to `__REDIS_*_KEY__` to more clearly express what the
variables are about.
|
|
|
|
|
|
Extract the functions acting on the session into a separate module and
namespace the session variable to prevent conflicts.
|
|
|
|
Add UI and code to enable the administrative user to register new OAuth2
clients that can access the API server.
|
|
* gn3/auth/authentication/oauth2/views.py: Remove endpoint
* gn3/auth/authorisation/users/admin/__init__.py: New admin module
* gn3/auth/authorisation/users/admin/ui.py: New admin module
* gn3/auth/authorisation/users/admin/views.py: New admin module
* gn3/auth/views.py: Use new admin module
* gn3/errors.py: Fix linting errors
* gn3/templates/login.html: New html template
* main.py: Fix linting errors
|
|
A script to assign existing data not assigned to any group to publicly-visible
resources.
|
|
|
|
Enable users with the appropriate privileges to masquerade as other users by
providing an endpoint that provides a new token for the "masqueradee"
|
|
Provide the user and resource_id information in each trait's authorisation
details to help with linking on the UI end.
|
|
Ensure the authorisation endpoint expects only JSON.
Add the user data to the response from the endpoint.
|
|
Enable renaming collections.
|
|
|
|
|
|
Add code to enable the importation/deletion of anonymous collections in the
active session to the authenticated user's collections.
|
|
|
|
Move the code to a new package.
Enable the creation of new collection by both authenticated and anonymous
users.
|
|
|
|
The code, as written previously had a subtle bug - if the user created a new
collection before they had tried accessing their list of collections, the
older code would not have migrated the older collections.
This commit fixes that by enabling the migration of older collections, whether
or not the user has created a collection with their new accounts.
|
|
Add an endpoint to list a user's collections. This only works for logged in
users.
|
|
With the assignment of `system:*` privileges to roles, we need to check for
their existence when doing authorisation.
This commit provides a hack for that, seeing as user groups (and the system
itself) are not treated as resources, and therefore the way to fetch the
privileges is not entirely consistent.
|
|
While creating new group roles, enable the listing of non-resource privileges,
e.g. `system:group:*` and `system:user:*` that the user has to allow for them
to be used in role creation.
|
|
|
|
|
|
|
|
|
|
Some roles should not be user-editable, and as such, we need to check before
allowing any edits on such roles. This commit makes that possible.
|
|
Previously, the `oauth2/data/authorisation` endpoint was returning hard-coded
values for the privileges assigned to the user for each resource. In this
change, we rework to return the actual privileges for the user.
|
|
|
|
|
|
|
|
|
|
Fix bugs with setting up of the selected traits for use while filtering the
search results.
|
|
|
|
|
|
|
|
|
|
Decouple the `gn3.db_utils` module from the global `flask.current_app` object,
ensuring that the database uri value is passed in as a required argument to
the `gn3.db_utils.database_connection` function.
|
|
We need a search through the available phenotype traits in the database when
linking the traits to user groups. Unfortunately, the Xapian Search indexes do
not (and should not) include the internal identifiers we use to disambiguate
the traits.
On the other hand, we do not want to present the user with traits that have
already been linked to any user group within the search results.
The script in this commit, together with the modified queries for fetching the
phenotype data form a "hack" of sorts to wrap around the way the search works
while ensuring we do not present the user with "non-actionable" (linked)
traits in the search results.
|