diff --git a/app/Http/Controllers/Api/UploadedFilesController.php b/app/Http/Controllers/Api/UploadedFilesController.php index eee72d9210..88399592a7 100644 --- a/app/Http/Controllers/Api/UploadedFilesController.php +++ b/app/Http/Controllers/Api/UploadedFilesController.php @@ -119,7 +119,6 @@ class UploadedFilesController extends Controller */ public function store(UploadFileRequest $request, $object_type, $id) : JsonResponse { - \Log::debug('store fired'); $object = self::$map_object_type[$object_type]::find($id); $this->authorize('view', $object); @@ -209,9 +208,10 @@ class UploadedFilesController extends Controller */ public function destroy($object_type, $id, $file_id) : JsonResponse { + \Log::error('destroy called for '.$object_type.' with id '.$id.' and file_id '.$file_id); $object = self::$map_object_type[$object_type]::find($id); - $this->authorize('update', $file_id); + $this->authorize('update', self::$map_object_type[$object_type]); if (!$object) { return response()->json(Helper::formatStandardApiResponse('error', null, trans('general.file_upload_status.invalid_object'))); @@ -219,7 +219,7 @@ class UploadedFilesController extends Controller // Check for the file - $log = Actionlog::find($file_id)->where('item_type', AssetModel::class) + $log = Actionlog::find($file_id)->where('item_type', self::$map_object_type[$object_type]) ->where('item_id', $object->id)->first(); if ($log) { diff --git a/app/Http/Transformers/UploadedFilesTransformer.php b/app/Http/Transformers/UploadedFilesTransformer.php index d61db90e3a..ee91d70974 100644 --- a/app/Http/Transformers/UploadedFilesTransformer.php +++ b/app/Http/Transformers/UploadedFilesTransformer.php @@ -29,14 +29,19 @@ class UploadedFilesTransformer $array = [ 'id' => (int) $file->id, 'icon' => Helper::filetype_icon($file->filename), + 'name' => e($file->filename), + 'item' => ($file->item_type) ? [ + 'id' => (int) $file->item_id, + 'type' => strtolower(class_basename($file->item_type)), + ] : null, 'filename' => e($file->filename), 'filetype' => StorageHelper::getFiletype($file->uploads_file_path()), 'url' => $file->uploads_file_url(), + 'note' => ($file->note) ? e($file->note) : null, 'created_by' => ($file->adminuser) ? [ 'id' => (int) $file->adminuser->id, 'name'=> e($file->adminuser->present()->fullName), ] : null, - 'note' => ($file->note) ? e($file->note) : null, 'created_at' => Helper::getFormattedDateObject($file->created_at, 'datetime'), 'deleted_at' => Helper::getFormattedDateObject($file->deleted_at, 'datetime'), 'inline' => StorageHelper::allowSafeInline($file->uploads_file_path()), diff --git a/app/Presenters/UploadsPresenter.php b/app/Presenters/UploadsPresenter.php index 63034ce96d..37f1c95f48 100644 --- a/app/Presenters/UploadsPresenter.php +++ b/app/Presenters/UploadsPresenter.php @@ -91,7 +91,7 @@ class UploadsPresenter extends Presenter 'sortable' => false, 'switchable' => false, 'title' => trans('table.actions'), - 'formatter' => $object.'ActionsFormatter', + 'formatter' => 'deleteUploadFormatter', ], ]; diff --git a/resources/views/blade/confirm-modal.blade.php b/resources/views/blade/confirm-modal.blade.php new file mode 100644 index 0000000000..bee7a3c03a --- /dev/null +++ b/resources/views/blade/confirm-modal.blade.php @@ -0,0 +1,32 @@ +{{-- IMPORTANT!!! Make sure there is no newline at the end of this file, or it will break the loaders for the tables --}} + +@props([ + 'route', + 'id', + 'method', +]) +