Skip to content

Commit d3798bf

Browse files
authored
Merge pull request #14752 from snipe/fixes/better_handle_data_file_mismatch_in_user_files
Nicer handling of erroring when filename+log do not match
2 parents 12e8ac8 + 4bb7c17 commit d3798bf

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

app/Http/Controllers/Users/UserFilesController.php

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -78,24 +78,28 @@ public function store(UploadFileRequest $request, $userId = null)
7878
*/
7979
public function destroy($userId = null, $fileId = null)
8080
{
81-
$user = User::find($userId);
82-
$destinationPath = config('app.private_uploads').'/users';
81+
if ($user = User::find($userId)) {
82+
83+
$this->authorize('delete', $user);
84+
$rel_path = 'private_uploads/users';
85+
86+
87+
if ($log = Actionlog::find($fileId)) {
88+
$filename = $log->filename;
89+
$log->delete();
90+
91+
if (Storage::exists($rel_path.'/'.$filename)) {
92+
Storage::delete($rel_path.'/'.$filename);
93+
return redirect()->back()->with('success', trans('admin/users/message.deletefile.success'));
94+
}
8395

84-
if (isset($user->id)) {
85-
$this->authorize('update', $user);
86-
$log = Actionlog::find($fileId);
87-
$full_filename = $destinationPath.'/'.$log->filename;
88-
if (file_exists($full_filename)) {
89-
unlink($destinationPath.'/'.$log->filename);
9096
}
91-
$log->delete();
9297

98+
// The log record doesn't exist somehow
9399
return redirect()->back()->with('success', trans('admin/users/message.deletefile.success'));
94100
}
95-
// Prepare the error message
96-
$error = trans('admin/users/message.user_not_found', ['id' => $userId]);
97-
// Redirect to the licence management page
98-
return redirect()->route('users.index')->with('error', $error);
101+
102+
return redirect()->route('users.index')->with('error', trans('admin/users/message.user_not_found', ['id' => $userId]));
99103

100104
}
101105

0 commit comments

Comments
 (0)