diff --git a/app/Http/Controllers/ReportController.php b/app/Http/Controllers/ReportController.php index aa20fb3e..8791856e 100644 --- a/app/Http/Controllers/ReportController.php +++ b/app/Http/Controllers/ReportController.php @@ -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!'); + } } }