/** * Delete a work item * * @param string $workId * @return string */ public function deleteWork($workId = '') { try { //User must be logged in if (!$this->auth->check()) { //Notify error $this->keeper->put('notificationError', 'You must log in to continue'); //Return to login redirect('/login', 'location'); } //Verify work delete capabilities if ($this->auth->user()->works()->whereId($workId)->count() != 1) { //Cannot edit throw new Exception('You do not have permission to delete this record', 403); } //Perform delete $results = $this->userRepo->deleteWork($this->auth->user(), $workId); //Could not delete if ($results == null) { //Alert error to user throw new Exception('Could delete data.Try again later', 422); } //Notify success $this->keeper->put('notificationSuccess', 'Work experience deleted'); //All ok redirect to User profile redirect($this->auth->user()->profile_uri . '/about', 'location'); } catch (Exception $e) { //Unexpected error //Notify error $this->keeper->put('notificationError', $e->getMessage()); //Go back to profile page redirect($this->auth->user()->profile_uri . '/about', 'location'); } }