diff options
Diffstat (limited to 'app/Http/Controllers/FileController.php')
| -rw-r--r-- | app/Http/Controllers/FileController.php | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/app/Http/Controllers/FileController.php b/app/Http/Controllers/FileController.php index 5283ad5..70d07ef 100644 --- a/app/Http/Controllers/FileController.php +++ b/app/Http/Controllers/FileController.php @@ -59,7 +59,7 @@ class FileController extends Controller // Get all available tags for the tagging UI $allTags = Tag::orderBy('label')->get(); - return view('files.index', compact('fileData', 'allTags', 'currentDir')); + return view('f', compact('fileData', 'allTags', 'currentDir')); } /** @@ -132,7 +132,8 @@ class FileController extends Controller // Return based on requested response format if ($request->input('response_format') === 'html') { - return redirect()->back()->with('success', "{$results['num_uploaded']} files uploaded successfully"); + $redirect = $request->input('_redirect', url()->previous()); + return redirect($redirect)->with('success', "{$results['num_uploaded']} files uploaded successfully"); } return response()->json($results); @@ -144,7 +145,8 @@ class FileController extends Controller public function addTags(Request $request, $fileId) { $file = File::findOrFail($fileId); - + $this->authorize('update', $file); + $validated = $request->validate([ 'tags' => 'required|string' ]); @@ -168,6 +170,8 @@ class FileController extends Controller public function removeTag(Request $request, $fileId, $tagId) { $file = File::findOrFail($fileId); + $this->authorize('update', $file); + $tag = Tag::findOrFail($tagId); $file->tags()->detach($tagId); @@ -195,6 +199,8 @@ class FileController extends Controller */ public function update(Request $request, File $file) { + $this->authorize('update', $file); + $validated = $request->validate([ 'description' => 'nullable|string', 'tags' => 'nullable|string' @@ -217,6 +223,8 @@ class FileController extends Controller */ public function destroy(File $file) { + $this->authorize('delete', $file); + // Remove the file from storage if (Storage::disk('public')->exists($file->path)) { Storage::disk('public')->delete($file->path); @@ -224,8 +232,9 @@ class FileController extends Controller // Delete from database (will auto detach tags) $file->delete(); - - return redirect()->route('files.index')->with('success', 'File deleted successfully'); + + $redirect = request()->input('_redirect', route('f.index')); + return redirect($redirect)->with('success', 'File deleted successfully'); } /** @@ -258,4 +267,4 @@ class FileController extends Controller return view('files.by-tag', compact('tag', 'files')); } -}
\ No newline at end of file +} |
