middleware(function ($request, $next) { return $next($request); }); } public function index() { $menu_master = ''; $users = DB::table('emka_'.Auth::user()->database_name.'.users')->get(); $site_projects = SiteProject::all(); $role = Role::orderBy('name')->get(); return view('staff.list-user', compact('users', 'site_projects', 'role', 'menu_master')); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { // } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { // validasi dan create database user yang lagi login $request->validate([ 'username' => 'required|unique:users,username', 'password' => 'required', 'fullname' => 'required|max:50', 'email' => 'required|email|unique:users|max:50', 'level' => 'required', 'active' => 'required', ]); $user = User::create($request->except('site_projects', 'menu_access', 'act', 'id', 'level')); $user->password = bcrypt($request->password); $user->curr_siteproject = $request->site_projects[0]; $name_role = Role::where('id', $request->get('level'))->first()->name; $user->id_role = $request->get('level'); $user->level = $name_role; if ($user) { if ($request->site_projects) { foreach ($request->site_projects as $value) { UserSiteProject::create([ 'id_user' => $user->id, 'id_site_project' => $value, ]); } } $user->save(); } Config::set("database.connections.mysql.database", "emkabinggo"); DB::purge('mysql'); DB::reconnect('mysql'); // validasi dan create database emkabinggo $request->validate([ 'username' => 'required|unique:users,username', 'password' => 'required', 'fullname' => 'required|max:50', 'email' => 'required|email|unique:users|max:50', 'level' => 'required', 'active' => 'required', ]); $user = User::create($request->except('site_projects', 'menu_access', 'act', 'id', 'level')); $user->password = bcrypt($request->password); $user->curr_siteproject = $request->site_projects[0]; $name_role = Role::where('id', $request->get('level'))->first()->name; $user->id_role = $request->get('level'); $user->level = $name_role; if ($user) { if ($request->site_projects) { foreach ($request->site_projects as $value) { UserSiteProject::create([ 'id_user' => $user->id, 'id_site_project' => $value, ]); } } $user->save(); } return redirect()->back(); $name_role = Role::where('id', $request->get('level'))->first()->name; DB::table('emka_'.Auth::user()->database_name.'.users')->insert([ 'username' => $request->username, 'password' => bcrypt($request->password), 'fullname' => $request->fullname, 'email' => $request->email, 'level' => $request->level, 'active' => $request->active, 'id_role' => $request->get('level'), 'level' => $name_role ]); Config::set("database.connections.mysql.database", "emkabinggo"); $usersss = DB::table('emka_'.Auth::user()->database_name.'.users')->orderBy('id', 'desc')->first(); $user = User::create($request->except('site_projects', 'menu_access', 'act', 'id', 'level')); $user->password = bcrypt($request->password); $user->database_name = Auth::user()->database_name; $user->curr_siteproject = $request->site_projects[0]; $user->id_role = $request->get('level'); $user->level = $name_role; $user->id_dbdua = $usersss->id; $user->save(); if ($usersss) { if ($request->site_projects) { foreach ($request->site_projects as $value) { DB::table('emka_'.Auth::user()->database_name.'.users_site_project')->insert([ 'id_user' => $usersss->id, 'id_site_project' => $value ]); } } return redirect()->route('user.index')->with('msg', 'data berhasil ditambahkan'); } } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { if (\Request::ajax()) { $user = DB::table('emka_'.Auth::user()->database_name.'.users')->find($id); // $user = User::findOrFail($id); $usite_projectS = UserSiteProject::where('id_user', $id)->get(); $menu_accessS = NULL; return response()->json([ 'user' => $user, 'usite_projectS' => $usite_projectS, 'menu_accessS' => $menu_accessS, ]); } else { abort('404'); } } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { if (\Request::ajax()) { } else { abort('404'); } } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $request->validate([ 'username' => 'required|unique:users,username,' . $id . ',id', 'fullname' => 'required|max:50', 'email' => 'required|email|unique:users,email,' . $id . ',id|max:50', 'level' => 'required', 'active' => 'required', ]); Config::set("database.connections.mysql.database", "emkabinggo"); DB::purge('mysql'); DB::reconnect('mysql'); $user = User::where('id_dbdua', $id)->update($request->except('act', 'id', 'site_projects', 'menu_access', '_token', '_method', 'password', 'level')); $user = User::where('id_dbdua', $id)->first(); $name_role = Role::where('id', $request->get('level'))->first()->name; $user->id_role = $request->get('level'); $user->level = strtoupper($name_role); if ($request->site_projects) { $user->UserSiteProjects()->sync($request->site_projects); $user->curr_siteproject = $request->site_projects[0]; } $user->save(); DB::table('emka_'.Auth::user()->database_name.'.users')->where('id',$id)->update([ 'username' => $request->username, 'fullname' => $request->fullname, 'email' => $request->email, 'level' => $request->level, 'active' => $request->active ]); return redirect()->route('user.index')->with('msg', 'data berhasil diubah'); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { DB::table('users')->where('id_dbdua',$id)->delete(); DB::table('emka_'.Auth::user()->database_name.'.users')->where('id',$id)->delete(); return redirect()->route('user.index')->with('msg', 'data berhasil dihapus'); } }