<?php
namespace App\Http\Controllers;
use App\Models\cabor;
use App\Models\fasilitas;
use App\Models\pelatih;
use App\Models\User;
use App\Models\users;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Crypt;
class AuthController extends Controller
{
public function login()
{
return view('auth.login');
}
public function dashboard(Request $request)
{
if (Auth()->user()->role == 2) {
return redirect()->route('userPelatih.show', Crypt::encryptString(Auth()->user()->id));
}
if (Auth()->user()->role == 3) {
return redirect()->route('userAtlit.show', Crypt::encryptString(Auth()->user()->id));
}
if (Auth()->user()->role == 4) {
return redirect()->route('userWasit.show', Crypt::encryptString(Auth()->user()->id));
} else {
$data['cabor'] = cabor::get();
$data['pelatih'] = users::where('role', 2)->count();
$data['atlit'] = users::where('role', 3)->count();
$data['wasit'] = users::where('role', 4)->count();
$data['operator'] = users::where('role', 1)->count();
$data['request'] = $request;
$users = users::with(['atlit', 'pelatih', 'wasit'])->where('role', '<>', 0);
$data['role'] = '';
if ($request->input('role') == 'atlit') {
$users = $users->where('role', 3);
if (isset($request->cabor)) {
$users = $users->whereHas('atlit', function ($query) use ($request) {
$query->where('cabor', $request->cabor);
});
}
$data['role'] = 'Atlet';
}
if ($request->input('role') == 'pelatih') {
$users = $users->where('role', 2);
if (isset($request->cabor)) {
$users = $users->whereHas('pelatih', function ($query) use ($request) {
$query->where('cabor', $request->cabor);
});
}
$data['role'] = 'Pelatih';
}
if ($request->input('role') == 'wasit') {
$users = $users->where('role', 4);
if (isset($request->cabor)) {
$users = $users->whereHas('wasit', function ($query) use ($request) {
$query->where('cabor', $request->cabor);
});
}
$data['role'] = 'Wasit';
}
if ($request->input('role') == 'Operator') {
$users = $users->where('role', 1);
$data['role'] = 'Operator';
}
$users = $users->orderBy('created_at', 'desc')->get();
$data['user'] = $users;
return view('admin.dashboard.index')->with($data);
}
}
public function loginAction(Request $request)
{
// validasi request
$credentials = $request->validate([
'email' => ['required', 'email'],
'password' => ['required'],
]);
// memanggil data user dari database
$user = users::where('email', $request->email)->first();
// cek ada tidaknya data user di database
if ($user != "") {
// memeriksa kombinasi password dan email dengan data pengguna
if (Auth::attempt($credentials)) {
// jika berhasil masuk
return redirect()->route('dashboard')->with('success', 'You have successfully logged in');
} else {
// jika gagal masuk
return back()->with('error', 'password yang anda masukan salah!');
}
} else {
// jika email tidak sesuai
return back()->with('error', 'email yang anda masukan tidak tersedia!')->onlyInput('email');
}
}
public function logout()
{
Auth::logout();
return redirect()->route('login');
}
public function createAtlit()
{
$data['cabor'] = cabor::get();
$data['pelatih'] = pelatih::get();
return view('auth.signin.atlit')->with($data);
}
public function createPelatih()
{
$data['cabor'] = cabor::get();
return view('auth.signin.pelatih')->with($data);
}
public function createWasit()
{
$data['cabor'] = cabor::get();
return view('auth.signin.wasit')->with($data);
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]