This adds action buttons to the run detail page to allow users to perform actions through the UI that had only been available to admins via the CLI.
Specifically users can now:
Delete a run.
Use the restore run command.
Generate arrow files.
Which all uses the existing django-q processing (and using the Django call_command which makes things much more straight forward).
I have tested as much as possible but they all use the same user check as the process run command so it should all be good. Probably best to test it in a dev env through with lots of users.
It also includes:
Documentation update with the new actions available.
A fix for the relations issue in #579.
Added log files for the actions above (apart from delete).
Fixed a minor deprecation warning in the tests.
Added a restore-run test.
For the deletion from the UI I decided to make it so that the remove all option is used - i.e. the whole directory is removed. I thought that from the UI it made sense to remove everything. Otherwise that name of job will be forever blocked off without someone going in and removing the run directory.
Built on top of #576, that should be looked at first.
This adds action buttons to the run detail page to allow users to perform actions through the UI that had only been available to admins via the CLI.
Specifically users can now:
Which all uses the existing django-q processing (and using the Django
call_command
which makes things much more straight forward).I have tested as much as possible but they all use the same user check as the process run command so it should all be good. Probably best to test it in a dev env through with lots of users.
It also includes:
For the deletion from the UI I decided to make it so that the remove all option is used - i.e. the whole directory is removed. I thought that from the UI it made sense to remove everything. Otherwise that name of job will be forever blocked off without someone going in and removing the run directory.
Built on top of #576, that should be looked at first.
Fixes #579.
Screenshots: