From 99a92c6106353b919a8027cdd0f3bb695736ab07 Mon Sep 17 00:00:00 2001 From: shibafu Date: Mon, 14 Oct 2019 02:03:57 +0900 Subject: [PATCH] =?UTF-8?q?=E3=83=81=E3=82=A7=E3=83=83=E3=82=AF=E3=82=A4?= =?UTF-8?q?=E3=83=B3=E3=81=AE=E7=B7=A8=E9=9B=86=E3=81=AF=E6=9C=AC=E4=BA=BA?= =?UTF-8?q?=E3=81=AE=E3=81=BF=E5=8F=AF=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit bcb5abb1611e0fcf99cff068676d650694fe8232) --- .../Controllers/EjaculationController.php | 13 +++++++++ app/Policies/EjaculationPolicy.php | 27 +++++++++++++++++++ app/Providers/AuthServiceProvider.php | 3 +++ 3 files changed, 43 insertions(+) create mode 100644 app/Policies/EjaculationPolicy.php diff --git a/app/Http/Controllers/EjaculationController.php b/app/Http/Controllers/EjaculationController.php index cf11294..aa770ca 100644 --- a/app/Http/Controllers/EjaculationController.php +++ b/app/Http/Controllers/EjaculationController.php @@ -106,6 +106,10 @@ class EjaculationController extends Controller { $ejaculation = Ejaculation::findOrFail($id); + if (Auth::user()->cant('edit', $ejaculation)) { + abort(403); + } + return view('ejaculation.edit')->with(compact('ejaculation')); } @@ -113,6 +117,10 @@ class EjaculationController extends Controller { $ejaculation = Ejaculation::findOrFail($id); + if (Auth::user()->cant('edit', $ejaculation)) { + abort(403); + } + $inputs = $request->all(); $validator = Validator::make($inputs, [ @@ -163,6 +171,11 @@ class EjaculationController extends Controller public function destroy($id) { $ejaculation = Ejaculation::findOrFail($id); + + if (Auth::user()->cant('edit', $ejaculation)) { + abort(403); + } + $user = User::findOrFail($ejaculation->user_id); $ejaculation->tags()->detach(); $ejaculation->delete(); diff --git a/app/Policies/EjaculationPolicy.php b/app/Policies/EjaculationPolicy.php new file mode 100644 index 0000000..d4f7f9d --- /dev/null +++ b/app/Policies/EjaculationPolicy.php @@ -0,0 +1,27 @@ +id === $ejaculation->user_id; + } +} diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index 600ff72..dd25e21 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -2,6 +2,8 @@ namespace App\Providers; +use App\Ejaculation; +use App\Policies\EjaculationPolicy; use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; use Illuminate\Support\Facades\Gate; @@ -14,6 +16,7 @@ class AuthServiceProvider extends ServiceProvider */ protected $policies = [ 'App\Model' => 'App\Policies\ModelPolicy', + Ejaculation::class => EjaculationPolicy::class, ]; /**