*/ class UserController extends Controller { /** * Create a new controller instance. * constructor to check * 1. authentication * 2. user roles * 3. roles must be agent * * @return void */ public function __construct() { $this->middleware('auth'); $this->middleware('role.agent'); // $this->middleware('roles'); } /** * Display a listing of the resource. * @param type User $user * @return type Response */ public function index() { try { /* get all values in Sys_user */ return view('themes.default1.agent.helpdesk.user.index'); } catch (Exception $e) { return view('404'); } } /** * This function is used to display the list of users * @return datatable */ public function user_list() { return \Datatable::collection(User::where('role','!=','admin')->where('role','!=','agent')->get()) ->searchColumns('user_name') ->orderColumns('user_name', 'email') ->addColumn('user_name', function ($model) { return $model->user_name; }) ->addColumn('email', function ($model) { $email = $model->email; return $email; }) ->addColumn('phone', function ($model) { $phone = ""; if($model->phone_number) { $phone = $model->ext . ' ' . $model->phone_number; } $mobile = ""; if($model->mobile) { $mobile = $model->mobile; } $phone = $phone ."   ". $mobile; return $phone; }) ->addColumn('status', function ($model) { $status = $model->active; if($status == 1) { $stat = ''; } else { $stat = ''; } return $stat; }) ->addColumn('lastlogin', function ($model) { $t = $model->updated_at; return TicketController::usertimezone($t); }) ->addColumn('Actions', function ($model) { //return 'id . ' class="btn btn-danger btn-flat" onclick="myFunction()">Delete id . '/edit class="btn btn-warning btn-flat">Edit id . ' class="btn btn-warning btn-flat">View'; //return '
id . '/edit class="btn btn-warning btn-flat">Edit id . ' class="btn btn-warning btn-flat">View'; return ' ' . \Lang::get('lang.edit') . ' ' . \Lang::get('lang.view') . ' '; }) ->make(); } /** * Show the form for creating a new resource. * @return type Response */ public function create() { try { return view('themes.default1.agent.helpdesk.user.create'); } catch (Exception $e) { return view('404'); } } /** * Store a newly created resource in storage. * @param type User $user * @param type Sys_userRequest $request * @return type Response */ public function store(User $user, Sys_userRequest $request) { try { /* insert the input request to sys_user table */ /* Check whether function success or not */ $user->email = $request->input('email'); $user->user_name = $request->input('full_name'); $user->mobile = $request->input('mobile'); $user->ext = $request->input('ext'); $user->phone_number = $request->input('phone_number'); $user->active = $request->input('active'); $user->internal_note = $request->input('internal_note'); $user->role = 'user'; if ($user->save() == true) { /* redirect to Index page with Success Message */ return redirect('user')->with('success', 'User Created Successfully'); } else { /* redirect to Index page with Fails Message */ return redirect('user')->with('fails', 'User can not Create'); } } catch (Exception $e) { /* redirect to Index page with Fails Message */ return redirect('user')->with('fails', 'User can not Create'); } } /** * Display the specified resource. * @param type int $id * @param type User $user * @return type Response */ public function show($id, User $user) { try { /* select the field where id = $id(request Id) */ $users = $user->whereId($id)->first(); return view('themes.default1.agent.helpdesk.user.show', compact('users')); } catch (Exception $e) { return view('404'); } } /** * Show the form for editing the specified resource. * @param type int $id * @param type User $user * @return type Response */ public function edit($id, User $user) { try { /* select the field where id = $id(request Id) */ $users = $user->whereId($id)->first(); return view('themes.default1.agent.helpdesk.user.edit', compact('users')); } catch (Exception $e) { return view('404'); } } /** * Update the specified resource in storage. * @param type int $id * @param type User $user * @param type Sys_userUpdate $request * @return type Response */ public function update($id, User $user, Sys_userUpdate $request) { try { /* select the field where id = $id(request Id) */ $users = $user->whereId($id)->first(); /* Update the value by selected field */ /* Check whether function success or not */ if ($users->fill($request->input())->save() == true) { /* redirect to Index page with Success Message */ return redirect('user')->with('success', 'User Updated Successfully'); } else { /* redirect to Index page with Fails Message */ return redirect('user')->with('fails', 'User can not Update'); } } catch (Exception $e) { /* redirect to Index page with Fails Message */ return redirect('user')->with('fails', 'User can not Update'); } } /** * Remove the specified resource from storage. * @param type int $id * @param type User $user * @return type Response */ public function destroy($id, User $user) { try { /* select the field where id = $id(request Id) */ $users = $user->whereId($id)->first(); /* delete the selected field */ /* Check whether function success or not */ if ($users->delete() == true) { /* redirect to Index page with Success Message */ return redirect('user')->with('success', 'User Deleted Successfully'); } else { /* redirect to Index page with Fails Message */ return redirect('user')->with('fails', 'User can not Delete'); } } catch (Exception $e) { /* redirect to Index page with Fails Message */ return redirect('user')->with('fails', 'User can not Delete'); } } /** * get profile page * @return type Response */ public function getProfile() { $user = Auth::user(); return view('themes.default1.agent.helpdesk.user.profile', compact('user')); } /** * get profile edit page * @return type Response */ public function getProfileedit() { $user = Auth::user(); return view('themes.default1.agent.helpdesk.user.profile-edit', compact('user')); } /** * post profile page * @param type int $id * @param type ProfileRequest $request * @return type Response */ public function postProfileedit(ProfileRequest $request) { $user = Auth::user(); $user->gender = $request->input('gender'); $user->save(); if ($user->profile_pic == 'avatar5.png' || $user->profile_pic == 'avatar2.png') { if ($request->input('gender') == 1) { $name = 'avatar5.png'; $destinationPath = 'lb-faveo/profilepic'; $user->profile_pic = $name; } elseif ($request->input('gender') == 0) { $name = 'avatar2.png'; $destinationPath = 'lb-faveo/profilepic'; $user->profile_pic = $name; } } if (Input::file('profile_pic')) { //$extension = Input::file('profile_pic')->getClientOriginalExtension(); $name = Input::file('profile_pic')->getClientOriginalName(); $destinationPath = 'lb-faveo/profilepic'; $fileName = rand(0000, 9999) . '.' . $name; //echo $fileName; Input::file('profile_pic')->move($destinationPath, $fileName); $user->profile_pic = $fileName; } else { $user->fill($request->except('profile_pic', 'gender'))->save(); return Redirect::route('profile')->with('success', 'Profile Updated sucessfully'); } if ($user->fill($request->except('profile_pic'))->save()) { return Redirect::route('profile')->with('success', 'Profile Updated sucessfully'); } } /** * Post profile password * @param type int $id * @param type ProfilePassword $request * @return type Response */ public function postProfilePassword($id, ProfilePassword $request) { $user = Auth::user(); //echo $user->password; if (Hash::check($request->input('old_password'), $user->getAuthPassword())) { $user->password = Hash::make($request->input('new_password')); $user->save(); return redirect('profile-edit')->with('success1', 'Password Updated sucessfully'); } else { return redirect('profile-edit')->with('fails1', 'Password was not Updated. Incorrect old password'); } } /** * User Assign Org * @param type $id * @return type boolean */ public function UserAssignOrg($id) { $org = Input::get('org'); $user_org = new User_org; $user_org->org_id = $org; $user_org->user_id = $id; $user_org->save(); return 1; } /** * user create organisation * @return type value */ public function User_Create_Org($id) { if(Input::get('website')!=null) { // checking website $check = Organization::where('website','=',Input::get('website'))->first(); } else { $check = null; } // checking name $check2 = Organization::where('name','=',Input::get('name'))->first(); if (\Input::get('name') == null) { return "Name is required"; } elseif($check2 != null) { return "Name should be Unique"; } elseif($check != null) { return "Website should be Unique"; } else { $org = new Organization; $org->name = Input::get('name'); $org->phone = Input::get('phone'); $org->website = Input::get('website'); $org->address = Input::get('address'); $org->internal_notes = Input::get('internal'); $org->save(); $user_org = new User_org; $user_org->org_id = $org->id; $user_org->user_id = $id; $user_org->save(); return 0; } } }