Пример #1
0
 public function closeEditor(Request $request)
 {
     $dbxClient = $this->getDropboxClient();
     $LocalAddress = $request->input('LocalAddress');
     $LocalName = $request->input('LocalName');
     $DropBoxFile = $request->input('DropBoxFile');
     // $dropboxFileName = $request->input('fileName');
     file_put_contents($LocalAddress, $_POST['text']);
     $editContent = array();
     $editContent[0] = htmlspecialchars($_POST['text']);
     //updated text
     $editContent[1] = $LocalAddress;
     // full local folder name with location
     $editContent[2] = $LocalName;
     //full local file name
     $editContent[3] = $DropBoxFile;
     //full dropbox path with name
     $LocalName = str_replace(' ', '', $LocalName);
     $f = fopen($editContent[1], "rb");
     $result = $dbxClient->uploadFile($editContent[3], dbx\WriteMode::force(), $f);
     fclose($f);
     $dropboxObject = Dropbox::where('userId', Auth::id())->firstOrFail();
     $access_token = $dropboxObject->accessToken;
     $dropboxClient = new dbx\Client($access_token, "PHP-Example/1.0");
     $folderMetadata = $dropboxClient->getMetadataWithChildren("/");
     $this->deleteFile($LocalAddress);
     return view('pages.dropbox')->with('dropboxData', $folderMetadata);
 }
Пример #2
0
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function show($id)
 {
     $taches = Tache::all();
     $test = true;
     foreach ($taches as $tache) {
         if ($tache->sprint_id == $id) {
             if ($tache->developer_id == Auth::id() && $tache->state == 1) {
                 $tache->update(['state' => 2]);
                 $tachesn = Tache::where('us_story_id', $tache->us_story_id)->get();
                 foreach ($tachesn as $tachen) {
                     if ($tachen->state != 2) {
                         $test = false;
                         break;
                     }
                 }
                 $userstory = Userstory::findOrFail($tache->us_story_id);
                 /*  if($test == true){
                         $userstory->update(['status'=> 1]);
                     }
                     else{
                         $userstory->update(['status'=> 0]);
                     }*/
             }
         }
     }
     return redirect(route('kanban.taches.show', $id));
     // return view('kanban.taches.show',compact('id'));
     //     return redirect(route('kanban.taches.index',$id));
 }
Пример #3
0
 /**
  * Save the changes.
  *
  * @param Issue $issue
  *
  * @return bool
  */
 public function persist(Issue $issue)
 {
     $issue->user_id = $issue->exists ? $issue->user_id : Auth::id();
     $issue->title = $this->input('title', $issue->title);
     $issue->description = $this->input('description', $issue->description);
     $issue->occurred_at = $this->input('occurred_at', $issue->occurred_at);
     if ($issue->save()) {
         // Check if we have any files to upload and attach.
         if (count($this->files) > 0) {
             foreach ($this->file('files') as $file) {
                 if (!is_null($file)) {
                     $issue->uploadFile($file);
                 }
             }
         }
         // Sync the issues labels.
         $labels = $this->input('labels', []);
         if (is_array($labels)) {
             $issue->labels()->sync($labels);
         }
         // Sync the issues users.
         $users = $this->input('users', []);
         if (is_array($users)) {
             $issue->users()->sync($users);
         }
         return true;
     }
     return false;
 }
Пример #4
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if (Auth::id() != 1) {
         return redirect('/');
     }
     return $next($request);
 }
Пример #5
0
 public function adminOrCurrentUserOwns($modelRecord)
 {
     if (Auth::user()->isAdmin()) {
         return true;
     }
     return $modelRecord->user_id === Auth::id();
 }
Пример #6
0
 public function isAdmin()
 {
     if (Cache::has('role.' . Auth::id()) && Cache::get('role.' . Auth::id()) === 'admin') {
         return true;
     }
     return false;
 }
Пример #7
0
 /**
  * Upload the file and store
  * the file path in the DB.
  */
 public function store()
 {
     // Rules
     $rules = array('name' => 'required', 'file' => 'required|max:20000');
     $messages = array('max' => 'Please make sure the file size is not larger then 20MB');
     // Create validation
     $validator = Validator::make(Input::all(), $rules, $messages);
     if ($validator->fails()) {
         return Redirect::back()->withErrors($validator)->withInput();
     }
     $directory = "uploads/files/";
     // Before anything let's make sure a file was uploaded
     if (Input::hasFile('file') && Request::file('file')->isValid()) {
         $current_file = Input::file('file');
         $filename = Auth::id() . '_' . $current_file->getClientOriginalName();
         $current_file->move($directory, $filename);
         $file = new Upload();
         $file->user_id = Auth::id();
         $file->project_id = Input::get('project_id');
         $file->name = Input::get('name');
         $file->path = $directory . $filename;
         $file->save();
         return Redirect::back();
     }
     $upload = new Upload();
     $upload->user_id = Auth::id();
     $upload->project_id = Input::get('project_id');
     $upload->name = Input::get('name');
     $upload->path = $directory . $filename;
     $upload->save();
     return Redirect::back();
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     //return $request->all();
     $changerequest = new ChangeRequest();
     $changerequest->subject_id = $request->subject_id;
     $changerequest->subject_type = $request->subject_type;
     $changerequest->subject_name = Breadcrumbs::getSubjectName($request->subject_type, $request->subject_id);
     $changerequest->external_id = $request->external_id;
     $changerequest->status = $request->status;
     $changerequest->title = $request->title;
     $changerequest->description = $request->description;
     $changerequest->sponsor = $request->sponsor;
     $changerequest->contact = $request->contact;
     $changerequest->submission_date = Carbon::parse($request->submission_date)->toDateTimeString();
     $changerequest->required_by = Carbon::parse($request->required_by)->toDateTimeString();
     $changerequest->lead_time = $request->lead_time;
     $changerequest->implementation_date = Carbon::parse($request->implementation_date)->toDateTimeString();
     $changerequest->ranking = $request->ranking;
     $changerequest->business_benefit = $request->business_benefit;
     $changerequest->business_impact = $request->business_impact;
     $changerequest->impact_analysis = $request->impact_analysis;
     $changerequest->created_by = Auth::id();
     $changerequest->save();
     flash()->success('Success', "New Change Request created successfully");
     return redirect(Session::GetRedirect());
 }
Пример #9
0
 /**
  * Unfallow a User
  *
  * @param $userIdToUnfallow
  * @param Request $request
  * @return \Illuminate\Http\RedirectResponse
  */
 public function destroy($userIdToUnfallow, Request $request)
 {
     $request->replace(array_add($request->all(), 'userId', Auth::id()));
     $this->dispatcher->dispatchFrom(UnfallowUser::class, $request);
     Flash::success('You have now unfallowed this user');
     return Redirect::back();
 }
Пример #10
0
 /**
  * New status comment
  *
  * @param  Request $request
  * @return Response
  */
 public function store(Request $request)
 {
     $this->commentForm->validate($request->all());
     $input = array_add($request->all(), 'user_id', Auth::id());
     $this->statusRepo->leaveComment($input);
     return back();
 }
 /**
  * Determine if the user is authorized to make this request.
  *
  * @return bool
  */
 public function authorize()
 {
     $course = $this->get('course_id');
     $message = trans('messages.your_application_was_sent_successfully');
     Flash::info($message);
     return !Application::where('course_id', $course)->where('user_id', Auth::id())->exists();
 }
 /**
  * Handle the command.
  *
  * @param  UnFollowUserCommand  $command
  * @return void
  */
 public function handle(UnFollowUserCommand $command)
 {
     //
     //dd($command);
     $follow = Follow::whereRaw('user_id=? AND followed_id=?', [Auth::id(), $command->userId])->firstOrFail();
     $follow->delete();
 }
 public function create()
 {
     DB::transaction(function () {
         $twitterClient = new TwitterOAuth(Config::get('services.twitter.consumerKey'), Config::get('services.twitter.consumerSecret'), Config::get('services.twitter.accessToken'), Config::get('services.twitter.accessSecret'));
         // Fetch the tweet information from Twitter, if a tweet id was passed through (it is possible the tweet was created manually without an id)
         if (array_key_exists('tweet_id', $this->input)) {
             $tweet = $twitterClient->get('statuses/show', ['id' => $this->input['tweet_id']]);
             $tweetOwner = $tweet->user;
             $this->object = Object::create(['user_id' => Auth::id(), 'type' => MissionControlType::Tweet, 'tweet_text' => $tweet->text, 'tweet_id' => $tweet->id, 'tweet_parent_id' => $tweet->in_reply_to_status_id, 'size' => strlen($tweet->text), 'title' => $tweet->text, 'summary' => $this->input['summary'], 'cryptographic_hash' => hash('sha256', $tweet->text), 'originated_at' => Carbon::createFromFormat('D M d H:i:s P Y', $tweet->created_at)->toDateTimeString(), 'status' => ObjectPublicationStatus::QueuedStatus]);
         } else {
             $this->object = Object::create(['user_id' => Auth::id(), 'type' => MissionControlType::Tweet, 'tweet_text' => $this->input['tweet_text'], 'size' => strlen($this->input['tweet_text']), 'title' => $this->input['tweet_text'], 'summary' => $this->input['summary'], 'cryptographic_hash' => hash('sha256', $this->input['tweet_text']), 'originated_at' => $this->input['originated_at'], 'status' => ObjectPublicationStatus::QueuedStatus]);
         }
         try {
             if (!isset($tweetOwner)) {
                 $tweetOwner = $twitterClient->get('users/show', ['screen_name' => $this->input['tweet_screen_name']]);
             }
             $tweeter = Tweeter::byScreenName($tweetOwner->screen_name)->firstOrFail();
         } catch (ModelNotFoundException $e) {
             $tweeter = Tweeter::create(['screen_name' => $tweetOwner->screen_name, 'user_name' => $tweetOwner->name, 'description' => $tweetOwner->description]);
             $tweeter->saveProfilePicture();
         }
         $this->object->tweeter()->associate($tweeter);
         $this->createMissionRelation();
         $this->createTagRelations();
         $this->object->push();
     });
     return $this->object;
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param FlyerRequest|Request $request
  * @return Response
  */
 public function store(FlyerRequest $request)
 {
     $input = array_add($request->all(), 'user_id', Auth::id());
     $flyer = Flyer::create($input);
     flash()->success('Success', 'your flyer has been created');
     return Redirect::to(url('/' . $flyer->zip . '/' . $flyer->street));
 }
Пример #15
0
 public function store(OrderRequest $request)
 {
     $order = $request->all();
     $order['user_id'] = Auth::id();
     Order::create($order);
     return Redirect::to("/?timer=true");
 }
Пример #16
0
 public function newrating()
 {
     $my_id = Auth::id();
     $score = Input::get('score');
     $date = Input::get('date');
     $directing = Input::get('directing');
     $lead_actors = Input::get('lead_actors');
     $supporting_cast = Input::get('supporting_cast');
     $music = Input::get('music');
     $experience = Input::get('experience');
     $mood = Input::get('mood');
     $with = Input::get('with');
     $new_rating = new Rate();
     $new_rating->user_id = $my_id;
     $new_rating->movie_id = 42;
     $new_rating->rating = $score;
     $new_rating->date_watched = $date;
     $new_rating->directing = $directing;
     $new_rating->leading_actors = $lead_actors;
     $new_rating->supporting_cast = $supporting_cast;
     $new_rating->music = $music;
     $new_rating->experience = $experience;
     $new_rating->mood = $mood;
     $new_rating->watched_with = $with;
     $new_rating->save();
     Alert::add("You rated a move successfully!");
     return redirect()->route('rate');
 }
Пример #17
0
 public function rateThisBook()
 {
     $currentUserId = Auth::id();
     $bookIdToRate = $_POST['bookIdToRate'];
     $ratingInput = "";
     if (isset($_POST['userRating'])) {
         $ratingInput = $_POST['userRating'];
     }
     $datetime = new \DateTime();
     $datetime->setTimeZone(new \DateTimeZone('Europe/Skopje'));
     $rated = DB::select('select * from bookstore.ratings where book_id = ' . $bookIdToRate . ' and user_id =' . $currentUserId);
     //        print_r($rated);
     if (sizeof($rated) == 0) {
         if ($ratingInput >= 6 && $ratingInput <= 10) {
             $idTag = DB::table('ratings')->insertGetId(array('book_id' => $bookIdToRate, 'user_id' => $currentUserId, 'rating' => $ratingInput, 'created_at' => $datetime, 'updated_at' => $datetime));
         }
     } else {
         if ($ratingInput >= 6 && $ratingInput <= 10) {
             DB::table('ratings')->where('book_id', $bookIdToRate)->where('user_id', $currentUserId)->update(array('rating' => $ratingInput, 'updated_at' => $datetime));
         }
     }
     $path = '/book/' . $bookIdToRate;
     header("Location: " . $path);
     exit;
 }
 public function register(Request $request)
 {
     if (Session::has('fs_supplier')) {
         return redirect('/supplier/dashboard');
     }
     if ($request->isMethod('post')) {
         $rules = array('first_name' => 'required|max:255', 'last_name' => 'required|max:255', 'email' => 'required|email|max:255|unique:users', 'password' => 'required', 'password_confirm' => 'required|same:password', 'terms_and_policy' => 'accepted');
         $validator = Validator::make($request->all(), $rules);
         if ($validator->fails()) {
             return Redirect::back()->withErrors($validator)->withInput();
         } else {
             try {
                 $supplier = User::create(['name' => $request['first_name'], 'last_name' => $request['last_name'], 'email' => $request['email'], 'password' => bcrypt($request['password']), 'role' => '3', 'username' => $request['username'], 'profilepic' => '/assets/images/avatar-placeholder.jpg']);
                 if ($supplier) {
                     Auth::login($supplier);
                     $objModelUsers = User::getInstance();
                     $userDetails = $objModelUsers->getUserById(Auth::id());
                     Session::put('fs_supplier', $userDetails['original']);
                     return redirect()->intended('supplier/supplierDetails');
                 } else {
                     return view("Supplier/Views/supplier/register")->withErrors(['registerErrMsg' => 'Something went wrong, please try again.']);
                 }
             } catch (\Exception $ex) {
                 return redirect()->back()->with('exception', 'An exception occurred, please reload the page and try again.');
             }
         }
     }
     return view("Supplier/Views/supplier/register");
 }
Пример #19
0
 public function login(Request $request)
 {
     if (Session::has('ror_user')) {
         return redirect('/');
     }
     if ($request->isMethod('post')) {
         $email = $request->input('email');
         $password = $request->input('password');
         //            dd($request->all());
         if (Auth::attempt(['email' => $email, 'password' => $password])) {
             //            if(Auth::attempt(array('email' => Input::get('email'), 'password' => Input::get('password')))){
             $objModelUsers = User::getInstance();
             $userDetails = $objModelUsers->getUserById(Auth::id());
             if ($userDetails->role == 0) {
                 $sessionName = 'ror_user';
                 Session::put($sessionName, $userDetails['original']);
                 return redirect()->intended('/');
             } else {
                 return Redirect::back()->with(['status' => 'error', 'msg' => 'invalid creds.']);
             }
         } else {
             //                dd(Auth::attempt(['email' => $email, 'password' => $password]));
             return Redirect::back()->with(['status' => 'error', 'msg' => 'invalid creds.']);
         }
     }
     return view("User/Views/user/login");
 }
 public function getConversation($id)
 {
     $_messages = Message::where(['conversation_id' => $id])->orderBy('updated_at', 'desc')->get();
     $_conversation = Conversation::find($id);
     $messages = collect();
     foreach ($_messages as $_message) {
         $sender = User::find($_message->author_id);
         $message = array();
         $message['author_id'] = $_message->author_id;
         $message['body'] = $_message->body;
         $message['author_name'] = $sender->name;
         $message['author_surname'] = $sender->surname;
         $message['timestamp'] = $sender->updated_at;
         $messages->push($message);
     }
     $conversation_name = "";
     if ($_conversation->title == "") {
         $conversation_name = ConversationsController::getUsersString($id);
         $_conversation->save();
     } else {
         $conversation_name = $_conversation->title;
     }
     $user = User::find(Auth::id());
     $unreadNotifications = $user->notifications()->unread()->get()->count();
     $notifications = $user->notifications()->get();
     return view('conversations.conversation')->with(['messages' => $messages, 'conversation_name' => $conversation_name, 'id' => $id, 'new_notifications_count' => $user->notifications()->unread()->not_type('message')->get()->count(), 'notifications' => $user->notifications()->not_type('message')->get(), 'new_messagesNotifications_count' => $user->notifications()->unread()->type('message')->get()->count(), 'messagesNotifications' => $user->notifications()->type('message')->get()]);
 }
Пример #21
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if (Cache::get('role.' . Auth::id()) == 'admin') {
         return $next($request);
     }
     abort(404);
 }
Пример #22
0
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     // Session used to check roles inside the views
     //FIRST :: SESSION(ROLE.ID)
     // SECOND CACHE(MODULES.ID
     // THIRD :: CACHE(ABILITIES.ID
     // FOURTH  CACHE(AUTHOR/ADMIN/EDITOR.ID
     // FIFTH CACHE(ROLE.ID
     $this->userRoles = $this->user->roles()->first();
     $authUserRole = $this->user->roles()->first();
     Session::put('ROLE.' . Auth::id(), $authUserRole->id);
     Session::put('ROLE.' . $authUserRole->name, md5($authUserRole->id));
     $modules = $this->userRoles->perms()->where('level', '=', '1');
     $modulesList = $modules->lists('name', 'id')->toArray();
     // abilitiles = modules + permissions
     $abilities = $this->userRoles->perms()->get();
     $abilitiesList = $abilities->Lists('name', 'id')->toArray();
     // ROLE.AUTHOR/ADMIN/EDITOR
     Cache::put(strtoupper($authUserRole->name) . Auth::id(), $authUserRole->name, 99999999);
     // GET USER ROLE
     Cache::put('ROLE.' . Auth::id(), $authUserRole->name, 99999999);
     /*
      * 'Module.ID' => [List of Modules]
      * */
     Cache::put('MODULES.' . Auth::id(), array_values($modulesList), 99999999);
     /*
      * All Permissions and Roles in one array
      *
      * */
     Cache::put('ABILITIES.' . Auth::id(), array_values($abilitiesList), 99999999);
 }
 /**
  * Show a list of all the languages posts formatted for Datatables.
  *
  * @return Datatables JSON
  */
 public function data()
 {
     $questions = Question::whereNull('questions.deleted_at')->where('questions.user_id', '=', Auth::id())->join('question_categories', 'question_categories.id', '=', 'questions.question_category_id')->join('answers', 'answers.question_id', '=', 'questions.id')->select(array('questions.id', 'question_categories.name as category', 'questions.content', 'answers.content AS answer_content', 'questions.created_at', 'questions.updated_at'))->orderBy('questions.updated_at', 'DESC');
     return Datatables::of($questions)->add_column('actions', '
             <a href="{{{ URL::to(\'question/\' . $id . \'/delete\' ) }}}" class="btn btn-sm btn-danger iframe"><span class="glyphicon glyphicon-trash"></span> {{ trans("admin/modal.delete") }}</a>
             <input type="hidden" name="row" value="{{$id}}" id="row">')->remove_column('id')->make();
 }
 public function store(Request $request)
 {
     $input = $request->all();
     $this->dispatch(new StoreUserLessonResultCommand(Auth::id(), $input['lesson_id'], $input['quiz_result']));
     Flash::success('Results Saved');
     return redirect()->back();
 }
 /**
  * @param ClanakRequest $request
  * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
  */
 public function store(ClanakRequest $request)
 {
     $input = ['title' => $request->get('title'), 'body' => $request->get('body'), 'published_at' => $request->get('published_at'), 'user_id' => Auth::id()];
     Article::create($input);
     Session::flash('flash_message', 'Uspjesno ste kreirali clanak');
     return redirect('clanak');
 }
Пример #26
0
 static function getTasksList($request)
 {
     if ('' != $request->folder_id) {
         $arrTasks = DB::table('tasks')->join('folders', 'folders.id', '=', 'tasks.folder_id')->select('folders.name as folder_name', 'tasks.*')->where('tasks.folder_id', $request->folder_id)->where('tasks.created_by', Auth::id())->where('is_completed', 0)->whereNull('tasks.deleted_at')->orderBy('due_date', 'DESC')->orderBy('title', 'ASC')->get();
     } else {
         switch ($request->folder_name) {
             case NULL:
             case 'General':
                 $arrTasks = DB::table('tasks')->where('created_by', Auth::id())->where('is_completed', 0)->whereNull('folder_id')->whereNull('deleted_at')->orderBy('due_date', 'DESC')->orderBy('title', 'ASC')->get();
                 break;
             case 'Completed':
                 $arrTasks = DB::table('tasks')->where('created_by', Auth::id())->where('is_completed', 1)->whereNull('deleted_at')->orderBy('due_date', 'DESC')->orderBy('title', 'ASC')->get();
                 break;
             case 'Today':
                 $arrTasks = DB::table('tasks')->where('created_by', Auth::id())->where('is_completed', 0)->where('due_date', date('Y-m-d'))->whereNull('deleted_at')->orderBy('due_date', 'DESC')->orderBy('title', 'ASC')->get();
                 break;
             case 'Week':
                 $arrTasks = DB::table('tasks')->where('created_by', Auth::id())->where('is_completed', 0)->whereBetween('due_date', [date('Y-m-d'), date('Y-m-d', strtotime("+6 day", strtotime(date('Y-m-d'))))])->whereNull('deleted_at')->orderBy('due_date', 'DESC')->orderBy('title', 'ASC')->get();
                 break;
             default:
                 break;
         }
     }
     return $arrTasks;
 }
 protected function binnacle($message, $request)
 {
     $binnacle = new Binnacle();
     $binnacle->user_id = Auth::id();
     $binnacle->action = $message;
     $binnacle->save();
 }
Пример #28
0
 /**
  * Store a newly created resource in storage.
  *
  * @param Request $request
  * @return Response
  */
 public function store(Request $request)
 {
     $quiz = Quiz::findOrFail($request->get('quiz_id'));
     //calculamos la nota
     $value_evaluation = $quiz->evaluation->value;
     $max_question = $quiz->evaluation->max_question;
     $min_value = $quiz->evaluation->min_value;
     $answers = $quiz->answers;
     /*
      * Respuestas Correctas
      */
     $correct_answers = 0;
     foreach ($answers as $answer) {
         if ($answer->correct == 1) {
             $correct_answers++;
         }
     }
     $quiz_result = $value_evaluation / $max_question * $correct_answers;
     $quiz_approval = $quiz_result * 100 / $value_evaluation;
     if ($quiz_approval < $min_value) {
         $quiz->status = 'rejected';
     } else {
         $quiz->status = 'approved';
     }
     $quiz->save();
     $result = new Result();
     $result->fill($request->all());
     $result->correct_answers = $correct_answers;
     $result->quiz_result = $quiz_result;
     $result->quiz_approval = $quiz_approval;
     $result->user_id = Auth::id();
     $result->save();
     return redirect()->route('results.show', $result);
 }
 public function editRoles($userId = null)
 {
     if (is_null($userId)) {
         return editRoles(Auth::id());
     }
     //if you can't edit roles, abort.
     if (!Gate::allows('edit-roles')) {
         abort(403);
     }
     $user = User::find($userId);
     //example posted data: adminRole=Add
     Role::all()->each(function ($role) {
         if (Input::has($role->description . "Role")) {
             Input::get($role->description . "Role");
             $action = Input::get($inputName);
             if ($action === "Add") {
                 $user->roles()->attach($role);
             } elseif ($action === "Remove") {
                 $user->roles()->detach($role);
             } else {
                 Redirect::to('/error/whatAreYouEvenTryingToDo');
             }
         }
     });
     return Redirect::to('/user/' . $user->id);
 }
Пример #30
0
 /**
  * Determine if the user is authorized to make this request.
  *
  * @return bool
  */
 public function authorize()
 {
     $lesson = Lesson::find($this->input('lesson_id'));
     $product = $lesson->product;
     $users = $product->owner()->lists('id')->toArray();
     return in_array(Auth::id(), $users);
 }