From c0953948d7008100ab4fcb4c5df6076ed7e69e3c Mon Sep 17 00:00:00 2001 From: Zach DeCook Date: Thu, 27 Dec 2018 21:33:47 -0500 Subject: * Routes: Create edit route --- laravel/app/Http/Controllers/SongController.php | 25 +++++-- laravel/app/Policies/SongPolicy.php | 86 +++++++++++++++++++++++++ laravel/app/Providers/AuthServiceProvider.php | 3 + 3 files changed, 110 insertions(+), 4 deletions(-) create mode 100644 laravel/app/Policies/SongPolicy.php (limited to 'laravel/app') diff --git a/laravel/app/Http/Controllers/SongController.php b/laravel/app/Http/Controllers/SongController.php index 8d6c497..8206bca 100644 --- a/laravel/app/Http/Controllers/SongController.php +++ b/laravel/app/Http/Controllers/SongController.php @@ -8,10 +8,13 @@ use Illuminate\Http\Request; class SongController extends Controller { - - public function show( $songNumber ) + public function oldShow( $song ) + { + $song = Song::where('number', $song ); + return $this->show( $song ); + } + public function show( Song $song ) { - $song = Song::where('number', $songNumber )->first(); $lines = explode( "\n", $song['text'] ); $newText = ''; $transp = $_GET['transp'] ?? 0; @@ -165,7 +168,7 @@ class SongController extends Controller $song->playlists()->attach( $_POST['playlist'] ); } return redirect()->route('song.show', [ - 'song' => $song->number, + 'song' => $song, 'playlist' => $_POST['playlist'] ] ); } @@ -174,4 +177,18 @@ class SongController extends Controller } return redirect('/'); } + + public function edit(Song $song) + { + return view('editsong', ['song' => $song]); + } + public function update(Song $song, Request $request) + { + $song->title = $request->title; + $song->author = $request->author; + $song->key = $request->key; + $song->text = $request->text; + $song->save(); + return redirect()->route( 'song.show', ['song' => $song->number ] ); + } } diff --git a/laravel/app/Policies/SongPolicy.php b/laravel/app/Policies/SongPolicy.php new file mode 100644 index 0000000..2f92bfb --- /dev/null +++ b/laravel/app/Policies/SongPolicy.php @@ -0,0 +1,86 @@ + 'App\Policies\ModelPolicy', + Song::class => SongPolicy::class, ]; /** -- cgit 1.4.1