- Sep 21, 2018
-
-
Tanner Prestegard authored
Moved events.api and superevents.api into the new api app. We want to have a versioned API, so these are now in api.v1.events and api.v1.superevents, respectively. Part of this change is that we require a custom reverse function (api_reverse) for handling versioning. Much of the required code changes for this migration include converting reverses to use this function and changing relative imports appropriately.
-
Tanner Prestegard authored
-
Tanner Prestegard authored
Add the AnonymousUser from the guardian package to the 'public_users' group. This will allow us to assign group permissions to unauthenticated users.
-
Tanner Prestegard authored
Full unit test suite for user access - making sure that internal and external users can only see/do what they are supposed to, based on the defined permissions structure.
-
Tanner Prestegard authored
-
Tanner Prestegard authored
-
Tanner Prestegard authored
We no longer need group object permissions to be assigned by default for superevent creation since all LVC users will have table-level permissions to view all superevents.
-
Tanner Prestegard authored
-
Tanner Prestegard authored
-
Tanner Prestegard authored
-
Tanner Prestegard authored
Custom model, object, and parent object permission classes which run a function to determine which permissions are required.
-
Tanner Prestegard authored
-
Tanner Prestegard authored
Added utility functions for hiding and exposing logs from LV-EM and the public. They are triggered by log messages being tagged or untagged. Also added utilities for hiding/exposing superevents.
-
Tanner Prestegard authored
GetParentObject and SupereventParentMixin are now full viewsets rather than just mixins. They also get the parent object during the initial phase of request processing, cache it, and are able to check object permissions on the parent.
-
Tanner Prestegard authored
get_superevent_by_date_id_or_404 no longer takes a request object as an argument (wasn't using it anyway).
-
Tanner Prestegard authored
I had been mistakenly using lookup_field for the lookup_url_kwarg. This commit fixes that mistake to use both field properly. It also lets us remove the customized GetObjectDefault mixin that was trying to deal with this behavior.
-
Tanner Prestegard authored
-
Tanner Prestegard authored
-
Tanner Prestegard authored
Assigning permissions for viewing, creating, exposing/hiding, etc. for superevents, logs, labels, etc. in the superevents app.
-
Tanner Prestegard authored
Created the 'access_managers' and 'superevent_managers' groups. These groups will be given appropriate permissions for managing external access to gracedb and creating/updating superevents, respectively.
-
Tanner Prestegard authored
The built-in DjangoObjectPermissionsFilter from DRF doesn't accept global (table-level) permissions as higher-level than object permissions. This filter replaces the built-in one and sets the 'accept_global_perms' argument to True so that global permissions are accepted when filtering objects based on user view permissions.
-
Tanner Prestegard authored
Adding custom permissions for Superevent and Log objects in the superevents app. We also add *direct* foreign keys to the permissions objects for performance.
-
Tanner Prestegard authored
Since we are still developing on the superevents branch, it makes sense to squash the migrations set into a single one, just to keep things nice and clean.
-
Tanner Prestegard authored
A new static method is attached to the Log base class, which uses the VersionedFile method to split a versioned filename into its filename and version components.
-
Tanner Prestegard authored
Added explicit methods for versioning a file name and un-versioning a versioned file name to VersionedFile. These should be used throughout the code so as to "NRY".
-
Tanner Prestegard authored
-
Tanner Prestegard authored
New custom model backend, which includes the table/object permissions backend and does not authenticate.
-
Tanner Prestegard authored
New auth backend for permissions. Basic ModelBackend returns false if user has table-level permissions, but an object is passed in. This new backend establishes that if the user has table-level permissions, those supersede the lack of row-level permissions on a given object.
-
Tanner Prestegard authored
The "full_filename" property for Log objects is now called the "versioned_filename" to improve clarity.
-
Tanner Prestegard authored
Removing use of the router for defining superevent list and detail URLs, so that all of the possible URL/method combinations are explicitly defined.
-
Tanner Prestegard authored
Since we use the preferred event to construct much of the VOEvent for a superevent, we have to select the event's subclass (note that this is done for events by the event_and_auth_required decorator, which calls Event.getByGraceid). This was preventing certain subclass-specific attributes from being added to the VOEvents, like ProbHasNS, ProbHasRemnant, etc.
-
Tanner Prestegard authored
-
Tanner Prestegard authored
-
Tanner Prestegard authored
Superevent now always have a letter suffix - remove the logic which gives the first superevent on a date no letter suffix and allows it to be looked up without the letter suffix even after it receives one.
-
Tanner Prestegard authored
Changing SupereventID -> GraceID and SupereventPage -> EventPage for consistency with old VOEvents.
-
Tanner Prestegard authored
-
Tanner Prestegard authored
-
Tanner Prestegard authored
Update alert code to determine whether the message should go to the production, test, or mdc superevent nodes.
-
Tanner Prestegard authored
-
Tanner Prestegard authored
Superevent categories are now exposed by the API root, for use in gracedb-client.
-