From c29b6d4bac2d4ab73e083cc8e1bb41c8e310b96e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Hru=C5=A1ka?= Date: Thu, 23 Aug 2018 22:51:40 +0200 Subject: [PATCH] fix double faves --- app/Http/Controllers/TableController.php | 7 ++++++- routes/web.php | 6 +++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/TableController.php b/app/Http/Controllers/TableController.php index 0001f1e..82a23ad 100644 --- a/app/Http/Controllers/TableController.php +++ b/app/Http/Controllers/TableController.php @@ -49,7 +49,12 @@ class TableController extends Controller public function favouriteTable(Request $request, User $user, string $table) { $tableModel = $this->resolveTable($request, $user, $table); - \user()->favouriteTables()->attach($tableModel); + + $self = \user(); + if (! $self->favouritesTable($tableModel)) { + $self->favouriteTables()->attach($tableModel); + } + return redirect($tableModel->viewRoute); } diff --git a/routes/web.php b/routes/web.php index c0efe7b..38c8163 100644 --- a/routes/web.php +++ b/routes/web.php @@ -47,13 +47,13 @@ Route::get('@{user}/!favourites', 'ProfileController@viewFavourites')->name('pro Route::get('@{user}/{table}', 'TableController@view')->name('table.view'); Route::get('@{user}/{table}/revisions', 'TableController@viewRevisions')->name('table.revisions'); Route::get('@{user}/{table}/export', 'TableController@export')->name('table.export'); -Route::get('@{user}/{table}/favourite', 'TableController@favouriteTable')->name('table.favourite'); -Route::get('@{user}/{table}/unfavourite', 'TableController@unfavouriteTable')->name('table.unfavourite'); Route::get('@{user}/{table}/favourites', 'TableController@viewFavourites')->name('table.favourites'); - // Routes for confirmed users Route::group(['middleware' => ['auth', 'activated']], function () { + Route::get('@{user}/{table}/favourite', 'TableController@favouriteTable')->name('table.favourite'); + Route::get('@{user}/{table}/unfavourite', 'TableController@unfavouriteTable')->name('table.unfavourite'); + // Table resource Route::group([ 'prefix' => 'table',