*/ class TeamController extends Controller { /** * Create a new controller instance. * * @return type void */ public function __construct() { $this->middleware('auth'); $this->middleware('roles'); } /** * get Index page. * * @param type Teams $team * @param type Assign_team_agent $assign_team_agent * * @return type Response */ public function index(Teams $team, Assign_team_agent $assign_team_agent) { try { $teams = $team->get(); /* find out the Number of Members in the Team */ $id = $teams->lists('id'); $assign_team_agent = $assign_team_agent->get(); return view('themes.default1.admin.helpdesk.agent.teams.index', compact('assign_team_agent', 'teams')); } catch (Exception $e) { return redirect()->back()->with('fails', $e->getMessage()); } } /** * Show the form for creating a new resource. * * @param type User $user * * @return type Response */ public function create(User $user) { try { $user = $user->where('role', '<>', 'user')->where('active', '=', 1)->get(); return view('themes.default1.admin.helpdesk.agent.teams.create', compact('user')); } catch (Exception $e) { return redirect()->back()->with('fails', $e->getMessage()); } } /** * Store a newly created resource in storage. * * @param type Teams $team * @param type TeamRequest $request * * @return type Response */ public function store(Teams $team, TeamRequest $request) { if ($request->team_lead) { $team_lead = $request->team_lead; } else { $team_lead = null; } $team->team_lead = $team_lead; try { /* Check whether function success or not */ $team->fill($request->except('team_lead'))->save(); /* redirect to Index page with Success Message */ return redirect('teams')->with('success', Lang::get('lang.teams_created_successfully')); } catch (Exception $e) { /* redirect to Index page with Fails Message */ return redirect('teams')->with('fails', Lang::get('lang.teams_can_not_create').'
  • '.$e->getMessage().'
  • '); } } /** * Show the form for editing the specified resource. * * @param type $id * @param type User $user * @param type Assign_team_agent $assign_team_agent * @param type Teams $team * * @return type Response */ public function show($id, User $user, Assign_team_agent $assign_team_agent, Teams $team) { try { $user = $user->whereId($id)->first(); $teams = $team->whereId($id)->first(); // $team_lead_name=User::whereId($teams->team_lead)->first(); // $team_lead = $team_lead_name->first_name . " " . $team_lead_name->last_name; // $total_members = $assign_team_agent->where('team_id',$id)->count(); return view('themes.default1.admin.helpdesk.agent.teams.show', compact('user', 'teams','id')); } catch (Exception $e) { return redirect()->back()->with('fails', $e->getMessage()); } } public function getshow($id) { // dd($request); // $id = $request->input('show_id'); // dd($id); $users = DB::table('team_assign_agent')->select('team_assign_agent.id','team_assign_agent.team_id','users.user_name','users.first_name' ,'users.last_name','users.active','users.assign_group','users.primary_dpt','users.role') ->join('users','users.id','=','team_assign_agent.agent_id') ->where('team_assign_agent.team_id', '=',$id); // ->get(); // dd($users); return \Datatable::query($users) ->showColumns('user_name') ->addColumn('first_name', function($model) { $full_name = ucfirst($model->first_name).' '.ucfirst($model->last_name); return $full_name; }) ->addColumn('active', function($model) { if ($model->active == '1') { $role = "".'Active'.""; } elseif ($model->active == 'agent') { $role = "".'Inactive'.""; } return $role; }) ->addColumn('assign_group', function($model) { $group=Groups::whereId($model->assign_group)->first(); return ($group->name); }) ->addColumn('primary_dpt', function($model) { $dept=Department::whereId($model->primary_dpt)->first(); return $dept->name; }) ->addColumn('role', function($model) { if ($model->role == 'admin') { $role = "".$model->role.""; } elseif ($model->role == 'agent') { $role = "".$model->role.""; } return $role; }) // ->showColumns('role') ->searchColumns('first_name','last_name') ->orderColumns('first_name','last_name') ->make(); } /** * Show the form for editing the specified resource. * * @param type $id * @param type User $user * @param type Assign_team_agent $assign_team_agent * @param type Teams $team * * @return type Response */ public function edit($id, User $user, Assign_team_agent $assign_team_agent, Teams $team) { try { $user = $user->where('role', '<>', 'user')->where('active', '=', 1)->get(); $teams = $team->whereId($id)->first(); $agent_team = $assign_team_agent->where('team_id', $id)->get(); $agent_id = $agent_team->lists('agent_id', 'agent_id'); return view('themes.default1.admin.helpdesk.agent.teams.edit', compact('agent_id', 'user', 'teams', 'allagents')); } catch (Exception $e) { return redirect()->back()->with('fails', $e->getMessage()); } } /** * Update the specified resource in storage. * * @param type int $id * @param type Teams $team * @param type TeamUpdate $request * * @return type Response */ public function update($id, Teams $team, TeamUpdate $request) { $teams = $team->whereId($id)->first(); //updating check box if ($request->team_lead) { $team_lead = $request->team_lead; } else { $team_lead = null; } $teams->team_lead = $team_lead; $teams->save(); $alert = $request->input('assign_alert'); $teams->assign_alert = $alert; $teams->save(); //saving check box //updating whole field /* Check whether function success or not */ try { $teams->fill($request->except('team_lead'))->save(); /* redirect to Index page with Success Message */ return redirect('teams')->with('success', Lang::get('lang.teams_updated_successfully')); } catch (Exception $e) { /* redirect to Index page with Fails Message */ return redirect('teams')->with('fails', Lang::get('lang.teams_can_not_update').'
  • '.$e->getMessage().'
  • '); } } /** * Remove the specified resource from storage. * * @param type int $id * @param type Teams $team * @param type Assign_team_agent $assign_team_agent * * @return type Response */ public function destroy($id, Teams $team, Assign_team_agent $assign_team_agent) { try { $assign_team_agent->where('team_id', $id)->delete(); $teams = $team->whereId($id)->first(); $tickets = DB::table('tickets')->where('team_id', '=', $id)->update(['team_id' => null]); /* Check whether function success or not */ $teams->delete(); /* redirect to Index page with Success Message */ return redirect('teams')->with('success', Lang::get('lang.teams_deleted_successfully')); } catch (Exception $e) { /* redirect to Index page with Fails Message */ return redirect('teams')->with('fails', Lang::get('lang.teams_can_not_delete').'
  • '.$e->getMessage().'
  • '); } } }