summaryrefslogtreecommitdiff
path: root/app/Http/Controllers/FileController.php
diff options
context:
space:
mode:
authorThomas Grothe <grothe.tr@gmail.com>2026-04-11 17:49:42 -0400
committerThomas Grothe <grothe.tr@gmail.com>2026-04-11 17:49:42 -0400
commitd4f97aa956be051dd5b9a184557106dc7de112ac (patch)
treee4c73c93408b5fbc4cc1b92cabcaceaaebbb1833 /app/Http/Controllers/FileController.php
parentbcac54576d7309ac0471a7be5664c5a4e8d7349e (diff)
parent054c19bf65beb43d0dd6137f9bf16cf8ca9f6190 (diff)
Merge remote-tracking branch 'origin/main'
Diffstat (limited to 'app/Http/Controllers/FileController.php')
-rw-r--r--app/Http/Controllers/FileController.php21
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
+}