diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php
index d27cc40..c10f820 100644
--- a/app/Http/Controllers/AdminController.php
+++ b/app/Http/Controllers/AdminController.php
@@ -145,15 +145,17 @@ class AdminController extends Controller
$query->whereIn('unit', (array) $request->unit_kerja);
$masterUnits = array_intersect($masterUnits, $request->unit_kerja);
}
- $query->groupBy('unit');
+ $query->groupBy('unit')
+ ->havingRaw('COUNT(*) > 0');
$rekap = $query->get()->pluck('total_unit', 'unit');
- $data = collect($masterUnits)->map(function ($unit) use ($rekap) {
- return [
- 'unit' => $unit,
- 'total_unit' => $rekap[$unit] ?? 0,
- ];
- });
+ $data = collect($masterUnits)
+ ->filter(fn($unit) => ($rekap[$unit] ?? 0) > 0)
+ ->map(fn($unit) => [
+ 'unit' => $unit,
+ 'total_unit' => $rekap[$unit],
+ ])
+ ->values();
return DataTables::of($data)->make(true);
diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php
index c595d12..f0664a7 100644
--- a/app/Http/Controllers/AuthController.php
+++ b/app/Http/Controllers/AuthController.php
@@ -10,4 +10,18 @@ class AuthController extends Controller
public function login() {
return view('auth.login');
}
+
+ public function do_login(Request $request) {
+ if($request->user_name == 'admin' && $request->password == 'admin') {
+ session(['is_login' => true]);
+ return redirect('/admin');
+ } else {
+ return redirect('/login');
+ }
+ }
+
+ public function logout() {
+ session()->flush();
+ return redirect('/login');
+ }
}
diff --git a/app/Http/Middleware/CekLogin.php b/app/Http/Middleware/CekLogin.php
new file mode 100644
index 0000000..10d5ac7
--- /dev/null
+++ b/app/Http/Middleware/CekLogin.php
@@ -0,0 +1,24 @@
+has('is_login')) {
+ return redirect('/login');
+ }
+
+ return $next($request);
+ }
+}
diff --git a/bootstrap/app.php b/bootstrap/app.php
index 7b162da..4e18962 100644
--- a/bootstrap/app.php
+++ b/bootstrap/app.php
@@ -12,6 +12,9 @@ return Application::configure(basePath: dirname(__DIR__))
)
->withMiddleware(function (Middleware $middleware) {
//
+ $middleware->alias([
+ 'ceklogin' => \App\Http\Middleware\CekLogin::class,
+ ]);
})
->withExceptions(function (Exceptions $exceptions) {
//
diff --git a/resources/views/admin/dashboard_jawaban.blade.php b/resources/views/admin/dashboard_jawaban.blade.php
index 0722a41..d322b9c 100644
--- a/resources/views/admin/dashboard_jawaban.blade.php
+++ b/resources/views/admin/dashboard_jawaban.blade.php
@@ -106,7 +106,7 @@
processing: true,
serverSide: true,
ajax: {
- url: `admin/get_data_pegawai_jawaban`,
+ url: `/admin/get_data_pegawai_jawaban`,
type: 'POST',
data: function (d) {
d.nama_pegawai = $('#nama_pegawai').val();
diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php
index 7285b74..f5f01c1 100644
--- a/resources/views/auth/login.blade.php
+++ b/resources/views/auth/login.blade.php
@@ -19,9 +19,10 @@
-
-
-
-
+
+
+
+
+
@endsection
diff --git a/resources/views/layouts/template_admin.blade.php b/resources/views/layouts/template_admin.blade.php
index d589bbe..2f55d63 100644
--- a/resources/views/layouts/template_admin.blade.php
+++ b/resources/views/layouts/template_admin.blade.php
@@ -213,7 +213,7 @@
}).then(function(result) {
if (result.value) {
$.removeCookie('token');
- window.location.href = "/login";
+ window.location.href = "/logout";
}
});
})
diff --git a/routes/web.php b/routes/web.php
index 7589968..81647f6 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -5,24 +5,29 @@ use App\Http\Controllers\AuthController;
use App\Http\Controllers\SoalController;
use Illuminate\Support\Facades\Route;
+Route::get('/logout', [AuthController::class, 'logout']);
Route::get('/login', [AuthController::class, 'login']);
+Route::post('/do_login', [AuthController::class, 'do_login']);
Route::get('/', [SoalController::class, 'index'])->name('soal.index');
Route::post('/jawaban', [SoalController::class, 'store'])->name('soal.store');
Route::get('/jawaban/terima-kasih', [SoalController::class, 'thankYou'])->name('soal.thankyou');
-Route::get('/admin', [AdminController::class, 'index']);
-Route::post('/admin/get_data_pegawai_sudah_survey', [AdminController::class, 'get_data_pegawai_sudah_survey']);
-Route::post('/admin/get_data_pegawai_tidak_mau_survey', [AdminController::class, 'data_tidak_mau_survey']);
-Route::get('/admin/dashboard_jawaban', [AdminController::class, 'dashboard_analisis']);
-Route::post('/admin/get_data_dashboard_jawaban', [AdminController::class, 'get_data_dashboard_analisis']);
Route::get('/redirect-smart', [SoalController::class, 'redirectSmart']);
-Route::post('/admin/report', [AdminController::class, 'download_report_data_pegawai_sudah_survey']);
-Route::get('/admin/dashboard_analisis', [AdminController::class, 'dashboard_analisis']);
-Route::get('/admin/dashboard_jawaban', [AdminController::class, 'dashboard_jawaban']);
-Route::post('/admin/get_data_pegawai_jawaban', [AdminController::class, 'get_data_pegawai_jawaban']);
-Route::get('/admin/detail_jawaban/{jawaban_id}', [AdminController::class, 'get_jawaban']);
-Route::post('/admin/get_data_dashboard_analisis', [AdminController::class, 'get_data_dashboard_analisis']);
-Route::post('/admin/report_data_analisis', [AdminController::class, 'report_data_dashboard_analisis']);
-Route::post('/admin/report_jawaban', [AdminController::class, 'download_report_data_jawaban_pegawai']);
-Route::get('/admin/dashboard_demografi', [AdminController::class, 'dashboard_demografi']);
-Route::post('/admin/get_data_dashboard_demografi', [AdminController::class, 'get_data_dashboard_demografi']);
-Route::post('/admin/report_data_demografi', [AdminController::class, 'download_report_dashboard_demografi']);
\ No newline at end of file
+
+Route::middleware('ceklogin')->group(function () {
+ Route::get('/admin', [AdminController::class, 'index']);
+ Route::post('/admin/get_data_pegawai_sudah_survey', [AdminController::class, 'get_data_pegawai_sudah_survey']);
+ Route::post('/admin/get_data_pegawai_tidak_mau_survey', [AdminController::class, 'data_tidak_mau_survey']);
+ Route::get('/admin/dashboard_jawaban', [AdminController::class, 'dashboard_analisis']);
+ Route::post('/admin/get_data_dashboard_jawaban', [AdminController::class, 'get_data_dashboard_analisis']);
+ Route::post('/admin/report', [AdminController::class, 'download_report_data_pegawai_sudah_survey']);
+ Route::get('/admin/dashboard_analisis', [AdminController::class, 'dashboard_analisis']);
+ Route::get('/admin/dashboard_jawaban', [AdminController::class, 'dashboard_jawaban']);
+ Route::post('/admin/get_data_pegawai_jawaban', [AdminController::class, 'get_data_pegawai_jawaban']);
+ Route::get('/admin/detail_jawaban/{jawaban_id}', [AdminController::class, 'get_jawaban']);
+ Route::post('/admin/get_data_dashboard_analisis', [AdminController::class, 'get_data_dashboard_analisis']);
+ Route::post('/admin/report_data_analisis', [AdminController::class, 'report_data_dashboard_analisis']);
+ Route::post('/admin/report_jawaban', [AdminController::class, 'download_report_data_jawaban_pegawai']);
+ Route::get('/admin/dashboard_demografi', [AdminController::class, 'dashboard_demografi']);
+ Route::post('/admin/get_data_dashboard_demografi', [AdminController::class, 'get_data_dashboard_demografi']);
+ Route::post('/admin/report_data_demografi', [AdminController::class, 'download_report_dashboard_demografi']);
+});
\ No newline at end of file