about summary refs log tree commit diff
path: root/laravel/app
diff options
context:
space:
mode:
Diffstat (limited to 'laravel/app')
-rw-r--r--laravel/app/Http/Controllers/PlaylistController.php12
-rw-r--r--laravel/app/Http/Controllers/SongController.php7
2 files changed, 18 insertions, 1 deletions
diff --git a/laravel/app/Http/Controllers/PlaylistController.php b/laravel/app/Http/Controllers/PlaylistController.php
index 49b1f35..c055601 100644
--- a/laravel/app/Http/Controllers/PlaylistController.php
+++ b/laravel/app/Http/Controllers/PlaylistController.php
@@ -15,4 +15,16 @@ class PlaylistController extends Controller
         }
         abort(404);
     }
+    public function post($playlistName, $songID)
+    {
+        $pl = Playlist::where('name',$playlistName)->first();
+        if (!$pl){
+            $pl = new Playlist();
+            $pl->name = $playlistName;
+        }
+        $pl->save();
+        $pl->songs()->attach($songID);
+        // Do people want to see the favorites playlist when they've added to it, or stay on the song?
+        return redirect()->route('playlist.show', [ 'playlist' => $playlistName]);
+    }
 }
diff --git a/laravel/app/Http/Controllers/SongController.php b/laravel/app/Http/Controllers/SongController.php
index 8e043ac..83c9601 100644
--- a/laravel/app/Http/Controllers/SongController.php
+++ b/laravel/app/Http/Controllers/SongController.php
@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
 use App\Playlist;
 use App\Song;
 use App\Suggestion;
+use App\User;
 use Illuminate\Http\Request;
 
 class SongController extends Controller
@@ -14,7 +15,7 @@ class SongController extends Controller
         $song = Song::where('number', $song )->first();
         return redirect()->route('song.show', ['song' => $song ] );
     }
-    public function show( Song $song, Request $request )
+    public function show( Song $song, Request $request, User $user )
     {
         $lines = explode( "\n", $song['text'] );
         $newText = '';
@@ -67,6 +68,10 @@ class SongController extends Controller
             $params['suggestions'] = $playlist->songs()->inRandomOrder()->limit(5)->get();
         } else {
             $params['suggestions'] = Song::inRandomOrder()->limit(5)->get();
+            $plName = ($user->name ?? 'anon') . 'favs';
+            if(! $song->playlists()->where('name',$plName)->exists()){
+                $params['addToPlaylist'] = ($user->name ?? 'anon') . 'favs';
+            }
         }
         foreach ($params['suggestions'] as $sugSong){
             $sug = Suggestion::firstOrNew(['from' => $song->id, 'song' => $sugSong->id]);