-
-
Notifications
You must be signed in to change notification settings - Fork 16
Open
Labels
Description
Current State
Currently, there is no option to delete a file. In /listoffiles, there is only an "edit" button and a "download" button for each file.
We do have a backend endpoint for this at DELETE /v1/api/uploadFile. The view is at /server/api/views/uploadFile/views.py/UploadFileView/delete, but it is not called by the frontend currently. It allows only the uploader of the file to delete it.
Expected Behavior
- Any admin (
superuser) can delete any file from the/listoffilespage. - Shows a confirmation prompt before deletion
- Make accidental deletion near impossible by requiring them to type "delete"
- Deleted file disappears from the list without page reload
Changes needed
Backend:
- in
uploadFile/views.py/uploadFileView/delete, update the permission check to allow superusers (admin):
if upload_file.uploaded_by != request.user and not request.user.is_superuser:
Frontend:
- Add a delete button to each
FileRowalongside the existing edit and download buttons - Add the confirmation dialog before sending the delete request
- call
DELETE /api/v1/api/uploadFilewith{ guid: file.guid }and JWT auth header (same pattern as the existing edit handler aroundFileRow.tsx/FileRow/handleSave) - On success, remove the file from the parent component's state, making it disappear without a reload
- for reference, check out how
updateFileNameworks - you'll need to create a new
onDeleteprop, defined inListOfFilesand passed toFileRow.
- for reference, check out how
@sue-hntr Sue is a UX designer and can weigh in on design decisions and other specifics
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Ready to Pick Up