Exemplo n.º 1
0
 /**
  * Decline an invite to join a board
  *
  * @param $board
  * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
  */
 public function declineInvite($board)
 {
     $user = auth()->user();
     $board = Board::where('identifier', $board)->first();
     $decline = Invite::where('board_identifier', $board->identifier)->where('new_member', $user->email)->delete();
     return redirect('/boards');
 }
 /**
  * Bootstrap the application services.
  *
  * @return void
  */
 public function boot()
 {
     view()->composer('partials.navbar', function ($view) {
         $user = auth()->user();
         $invites = Invite::where('new_member', $user->email)->get();
         $view->with('invites', $invites);
     });
 }
Exemplo n.º 3
0
 /**
  * Add a new member to the board
  * Check if new user or existing user is invited
  *
  * @param Request $request
  * @return \Illuminate\Http\JsonResponse
  */
 public function addMemberToBoard(Request $request)
 {
     $validator = Validator::make($request->all(), ['email' => 'required|email']);
     if ($validator->fails()) {
         return response()->json('Email is required and in the right format', 400);
     }
     $user = User::where('email', $request->email)->first();
     $board = Board::where('identifier', $request->board)->first();
     if (is_null($user)) {
         $member = Invite::create(['new_member' => $request->email, 'board_identifier' => $request->board]);
         //Queue invite email to new user
         $job = (new inviteNewUserToBoard($member))->delay(60 * 2);
         $this->dispatch($job);
         return response()->json('successfully invited new member', 200);
     } else {
         $member = Invite::create(['new_member' => $user->email, 'board_identifier' => $request->board]);
         //Queue invite to existing user
         $job = (new inviteExistingUserToBoard($member, $user))->delay(60 * 2);
         $this->dispatch($job);
         return response()->json('successfully invited new member', 200);
     }
 }