X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/8cdf3203ef67b01ad359699c5c6a5ea8d890e4f8..refs/pull/4467/head:/app/Activity/Controllers/WatchController.php diff --git a/app/Activity/Controllers/WatchController.php b/app/Activity/Controllers/WatchController.php index f9e8a4e3d..3d7e18116 100644 --- a/app/Activity/Controllers/WatchController.php +++ b/app/Activity/Controllers/WatchController.php @@ -2,7 +2,7 @@ namespace BookStack\Activity\Controllers; -use BookStack\Activity\Models\Watch; +use BookStack\Activity\Tools\UserEntityWatchOptions; use BookStack\App\Model; use BookStack\Entities\Models\Entity; use BookStack\Http\Controller; @@ -14,18 +14,20 @@ class WatchController extends Controller { public function update(Request $request) { + $this->checkPermission('receive-notifications'); + $this->preventGuestAccess(); + $requestData = $this->validate($request, [ 'level' => ['required', 'string'], ]); $watchable = $this->getValidatedModelFromRequest($request); - $newLevel = Watch::optionNameToLevel($requestData['level']); + $watchOptions = new UserEntityWatchOptions(user(), $watchable); + $watchOptions->updateLevelByName($requestData['level']); - if ($newLevel < 0) { - // TODO - Delete - } else { - // TODO - Upsert - } + $this->showSuccessNotification(trans('activities.watch_update_level_notification')); + + return redirect()->back(); } /**