type != '') { $data_obj = $data_obj->where('account_type', $request->type); } $data = $data_obj->orderBy('name')->get(); $route_name_update = 'admin/users/update'; $title = 'Danh mục người dùng'; return view('backend.user.index')->with('data', $data) ->with('title', $title) ->with('route_name_update', $route_name_update) ->with('request_type', $request->type); } public function getUser(Request $request) { $title = 'Cập nhật người dùng'; if ($request->id == 0) { $title = 'Thêm mới người dùng'; } $data = User::find($request->id); $role_data = Role::where('role_status', 1) ->orderBy('role_order', 'asc') ->orderBy('role_name', 'asc')->get(); $user_role_data = UserRole::where('user_id', $request->id)->get(); $user_role = []; foreach ($user_role_data as $user_role_item) { $user_role[] = $user_role_item['role_id']; } return view('backend.user.detail') ->with('data', $data) ->with('title', $title) ->with('role_data', $role_data) ->with('user_role', $user_role); } public function updateUser(Request $request) { if ($request->type == 'account') { // cap nhat tai khoan ca nhan $request->validate([ 'name'=>'required|max:50', 'email'=>'required|unique:users,email,' . $request->id . ',id' ], [ 'name.required' => 'Nhập tên hiển thị', 'name.max' => 'Tên hiển thị vượt quá ký tự cho phép', 'email.required' => 'Nhập tên đăng nhập', 'email.unique' => 'Tên đăng nhập bị trùng' ]); } else { $request->validate([ 'name'=>'required|max:50', 'email'=>'required|unique:users,email,' . $request->id . ',id', 'status' => 'required' ], [ 'name.required' => 'Nhập tên hiển thị', 'name.max' => 'Tên hiển thị vượt quá ký tự cho phép', 'email.required' => 'Nhập tên đăng nhập', 'email.unique' => 'Tên đăng nhập bị trùng', 'status.required' => 'Nhập trạng thái' ]); } if ($request->id == 0){ $request_data = $request->except('id'); $request_data['name'] = $request->name; $request_data['email'] = $request->email; if ($request->password != '') { $request_data['password'] = bcrypt($request->password); } else { $request_data['password'] = bcrypt('123'); } $request_data['status'] = $request->status; $id = User::create($request_data)->id; $role_obj = Role::where('role_code', 'admin_account')->first(); if ($role_obj != null) { $role_id = $role_obj->id; UserRole::create(Array( 'user_id' => $id, 'role_id' => $role_id )); } return redirect()->route('admin/users/update', array('id' => $id)); } else { // cap nhat $id = $request->id; $user_obj = User::find($id); $user_obj->name = $request->name; if ($request->status != '') { $user_obj->status = $request->status; } if ($request->password != '') { $user_obj->password = bcrypt($request->password); } $user_obj->save(); if (!empty($request->user_role)) { UserRole::where('user_id', $id)->delete(); foreach ($request->user_role as $role_id) { UserRole::create(Array( 'user_id' => $id, 'role_id' => $role_id )); } } return redirect()->back()->with('success', 'Cập nhật thành công '); } } public function updateSpined (Request $request) { $user_id = $request->user_id; $user_obj = User::find($user_id); if ($user_obj != null) { $user_obj->spined = 0; $user_obj->save(); } return response()->json(['success' => 'Thành công']); } public function checkspined () { if (!Auth::check()) { return response()->json(['error' => 'Chưa đăng nhập', 'message' => 'Người dùng phải đăng nhập trước khi thực hiện']); } $user_obj = User::find(Auth::user()->id); if ($user_obj == null) { return response()->json(['error' => 'Không tồn tại tài khoản', 'message' => 'Không tìm thấy tài khoản']); } return response()->json(['success' => 'Lấy dữ liệu thành công', 'spined' => $user_obj->spined]); } }