mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-11-26 00:03:16 +00:00
Update ReportController, handle json reports
This commit is contained in:
parent
2cf85394b3
commit
5206b09627
1 changed files with 30 additions and 10 deletions
|
@ -86,11 +86,11 @@ class ReportController extends Controller
|
|||
public function formStore(Request $request)
|
||||
{
|
||||
$this->validate($request, [
|
||||
'report' => 'required|alpha_dash',
|
||||
'type' => 'required|alpha_dash',
|
||||
'id' => 'required|integer|min:1',
|
||||
'msg' => 'nullable|string|max:150',
|
||||
]);
|
||||
'report' => 'required|alpha_dash',
|
||||
'type' => 'required|alpha_dash',
|
||||
'id' => 'required|integer|min:1',
|
||||
'msg' => 'nullable|string|max:150',
|
||||
]);
|
||||
|
||||
$profile = Auth::user()->profile;
|
||||
$reportType = $request->input('report');
|
||||
|
@ -113,7 +113,11 @@ class ReportController extends Controller
|
|||
];
|
||||
|
||||
if (!in_array($reportType, $types)) {
|
||||
return redirect('/timeline')->with('error', 'Invalid report type');
|
||||
if($request->wantsJson()) {
|
||||
return abort(400, 'Invalid report type');
|
||||
} else {
|
||||
return redirect('/timeline')->with('error', 'Invalid report type');
|
||||
}
|
||||
}
|
||||
|
||||
switch ($object_type) {
|
||||
|
@ -127,16 +131,28 @@ class ReportController extends Controller
|
|||
break;
|
||||
|
||||
default:
|
||||
return redirect('/timeline')->with('error', 'Invalid report type');
|
||||
if($request->wantsJson()) {
|
||||
return abort(400, 'Invalid report type');
|
||||
} else {
|
||||
return redirect('/timeline')->with('error', 'Invalid report type');
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if ($exists !== 0) {
|
||||
return redirect('/timeline')->with('error', 'You have already reported this!');
|
||||
if($request->wantsJson()) {
|
||||
return response()->json(200);
|
||||
} else {
|
||||
return redirect('/timeline')->with('error', 'You have already reported this!');
|
||||
}
|
||||
}
|
||||
|
||||
if ($object->profile_id == $profile->id) {
|
||||
return redirect('/timeline')->with('error', 'You cannot report your own content!');
|
||||
if($request->wantsJson()) {
|
||||
return response()->json(200);
|
||||
} else {
|
||||
return redirect('/timeline')->with('error', 'You cannot report your own content!');
|
||||
}
|
||||
}
|
||||
|
||||
$report = new Report();
|
||||
|
@ -149,6 +165,10 @@ class ReportController extends Controller
|
|||
$report->message = e($request->input('msg'));
|
||||
$report->save();
|
||||
|
||||
return redirect('/timeline')->with('status', 'Report successfully sent!');
|
||||
if($request->wantsJson()) {
|
||||
return response()->json(200);
|
||||
} else {
|
||||
return redirect('/timeline')->with('status', 'Report successfully sent!');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue