First Commit
This commit is contained in:
@@ -0,0 +1,125 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Models\User;
|
||||
use App\Models\Role;
|
||||
use App\Models\Roless;
|
||||
use App\Models\RoleUser;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
class MstPenggunaController extends Controller
|
||||
{
|
||||
public function __construct(){
|
||||
$this->siteTitle = "Data Pengguna";
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$data = User::where('role_name', "<>", "superadmin")->latest()->paginate(10);
|
||||
return view('admin.mst_pengguna.index',compact('data'))
|
||||
->with('i', (request()->input('page', 1) - 1) * 10);
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
$this->setSubtitle("Tambah Data");
|
||||
return view('admin.mst_pengguna.create');
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
'name' => 'required',
|
||||
'nrk' => 'required',
|
||||
'password' => 'required',
|
||||
'opt_role' => 'required'
|
||||
]);
|
||||
|
||||
$requestAll = $request->all();
|
||||
$requestAll["password"] = \Hash::make($requestAll["password"]);
|
||||
$requestAll["role_name"] = $requestAll["opt_role"];
|
||||
$user=User::create($requestAll);
|
||||
|
||||
$user->roles()->detach();
|
||||
//$user->removeRole($requestAll["opt_role"]);
|
||||
$user->assignRole($requestAll["opt_role"]);
|
||||
|
||||
return redirect()->route('users.index')
|
||||
->with('success','User berhasil dibuat.');
|
||||
}
|
||||
|
||||
public function show(User $user)
|
||||
{
|
||||
$user = User::with("roleUser.role")->where("id",$user->id)->first();
|
||||
$this->setSubtitle("Detail Data");
|
||||
return view('admin.mst_pengguna.show',compact('user'));
|
||||
}
|
||||
|
||||
public function edit(User $user)
|
||||
{
|
||||
$this->setSubtitle("Ubah Data");
|
||||
return view('admin.mst_pengguna.edit',compact('user'));
|
||||
}
|
||||
|
||||
public function update(Request $request, User $user)
|
||||
{
|
||||
$request->validate([
|
||||
'name' => 'required',
|
||||
'opt_role' => 'required'
|
||||
]);
|
||||
|
||||
$requestAll = $request->all();
|
||||
$requestAll["role_name"] = $requestAll["opt_role"];
|
||||
$user->update($requestAll);
|
||||
|
||||
$user->roles()->detach();
|
||||
// $user->removeRole($requestAll["opt_role"]);
|
||||
$user->assignRole($requestAll["opt_role"]);
|
||||
|
||||
return redirect()->route('users.index')
|
||||
->with('success','User berhasil diubah!');
|
||||
}
|
||||
|
||||
public function destroy(User $user)
|
||||
{
|
||||
$user->delete();
|
||||
|
||||
return redirect()->route('users.index')
|
||||
->with('success','User berhasil dihapus!');
|
||||
}
|
||||
|
||||
public function roleList()
|
||||
{
|
||||
$mstRole = Roless::where("name","<>","superadmin")->select(["name","name"])->get();
|
||||
return response()->json($mstRole);
|
||||
}
|
||||
|
||||
public function changePass()
|
||||
{
|
||||
return view('admin.mst_pengguna.change_password');
|
||||
}
|
||||
|
||||
public function changePassSubmit(Request $request, $userId)
|
||||
{
|
||||
$request->validate([
|
||||
'old_password' => 'required',
|
||||
'new_password' => 'required',
|
||||
]);
|
||||
|
||||
$requestAll = $request->all();
|
||||
$cekUser = User::find($userId);
|
||||
if (\Hash::check($requestAll["old_password"], $cekUser->password)){
|
||||
User::where("id",$userId)->update(["password"=>\Hash::make($requestAll["new_password"])]);
|
||||
|
||||
return redirect()->route('home')
|
||||
->with('success','Kata sandi pengguna berhasil diubah!');
|
||||
}else{
|
||||
return redirect()->route('home')
|
||||
->with('error','Kata sandi gagal diubah!, Kata sandi lama salah!');
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user