- Sep 21, 2018
-
-
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.
-
Tanner Prestegard authored
Superevent category is now queryable. Also set default queries to not return Test or MDC superevents.
-
Tanner Prestegard authored
-
Tanner Prestegard authored
Updated superevent creation and update serializers to handle superevent categories. Also updated utils to accept the category argument and do some checks.
-
Tanner Prestegard authored
Created ChoiceDisplayField - same as ChoiceField, except its to_representation() used the display value instead of the key.
-
Tanner Prestegard authored
Adding utils to Superevent and Event models for comparing categories and deciding if an Event is the correct category to be part of a superevent.
-
Tanner Prestegard authored
Superevents can now be of type 'Production', 'Test',' or 'MDC'.
-
Tanner Prestegard authored
Models which inherit from AutoIncrementModel can now specify more than one constraint. Needed for superevent categories.
-
Tanner Prestegard authored
-
Tanner Prestegard authored
Link to correct file versions in superevent log comments
-
Tanner Prestegard authored
-
Tanner Prestegard authored
-
Tanner Prestegard authored
Fixing issue where users could cause superevent date ID lookup to fail by providing date strings which couldn't be parsed by datetime.datetime.strptime (ex: '181309', month=13). Now we raise a custom exception in the class method and catch it in get_superevent_by_date_id_or_404.
-
Tanner Prestegard authored
Replacing redundant logic for superevent queries to just use Superevent.get_filter_kwargs_for_date_id_lookup so as to "NRY".
-
Tanner Prestegard authored
-
Tanner Prestegard authored
Fixing ambiguity in superevent date IDs due to use of a 2 digit year. datetime uses some range like 1969-2068, but we would prefer something more GPS-centric, so we force it to be 1980-2079. This will need to be dealt with in advance of 2080, probably will need to convert to 4 digit years. Shouldn't be too hard, will likely need to just make the switch, but maintain legacy compatibility with legacy URLs, search features, and a check in Superevent.get_filter_kwargs_for_date_id_lookup, which points to superevents between 1980-2079 if a 2 digit year is given.
-