Merge branch 'main' into production
This commit is contained in:
commit
39864df296
@ -145,15 +145,17 @@ class AdminController extends Controller
|
|||||||
$query->whereIn('unit', (array) $request->unit_kerja);
|
$query->whereIn('unit', (array) $request->unit_kerja);
|
||||||
$masterUnits = array_intersect($masterUnits, $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');
|
$rekap = $query->get()->pluck('total_unit', 'unit');
|
||||||
|
|
||||||
$data = collect($masterUnits)->map(function ($unit) use ($rekap) {
|
$data = collect($masterUnits)
|
||||||
return [
|
->filter(fn($unit) => ($rekap[$unit] ?? 0) > 0)
|
||||||
'unit' => $unit,
|
->map(fn($unit) => [
|
||||||
'total_unit' => $rekap[$unit] ?? 0,
|
'unit' => $unit,
|
||||||
];
|
'total_unit' => $rekap[$unit],
|
||||||
});
|
])
|
||||||
|
->values();
|
||||||
|
|
||||||
return DataTables::of($data)->make(true);
|
return DataTables::of($data)->make(true);
|
||||||
|
|
||||||
|
|||||||
@ -10,4 +10,18 @@ class AuthController extends Controller
|
|||||||
public function login() {
|
public function login() {
|
||||||
return view('auth.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');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
24
app/Http/Middleware/CekLogin.php
Normal file
24
app/Http/Middleware/CekLogin.php
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Closure;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
|
||||||
|
class CekLogin
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Handle an incoming request.
|
||||||
|
*
|
||||||
|
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
|
||||||
|
*/
|
||||||
|
public function handle(Request $request, Closure $next): Response
|
||||||
|
{
|
||||||
|
if (!session()->has('is_login')) {
|
||||||
|
return redirect('/login');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $next($request);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -12,6 +12,9 @@ return Application::configure(basePath: dirname(__DIR__))
|
|||||||
)
|
)
|
||||||
->withMiddleware(function (Middleware $middleware) {
|
->withMiddleware(function (Middleware $middleware) {
|
||||||
//
|
//
|
||||||
|
$middleware->alias([
|
||||||
|
'ceklogin' => \App\Http\Middleware\CekLogin::class,
|
||||||
|
]);
|
||||||
})
|
})
|
||||||
->withExceptions(function (Exceptions $exceptions) {
|
->withExceptions(function (Exceptions $exceptions) {
|
||||||
//
|
//
|
||||||
|
|||||||
@ -106,7 +106,7 @@
|
|||||||
processing: true,
|
processing: true,
|
||||||
serverSide: true,
|
serverSide: true,
|
||||||
ajax: {
|
ajax: {
|
||||||
url: `admin/get_data_pegawai_jawaban`,
|
url: `/admin/get_data_pegawai_jawaban`,
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
data: function (d) {
|
data: function (d) {
|
||||||
d.nama_pegawai = $('#nama_pegawai').val();
|
d.nama_pegawai = $('#nama_pegawai').val();
|
||||||
|
|||||||
@ -19,9 +19,10 @@
|
|||||||
<img src="{{ asset('assets/img/logo-fullname.png') }}" class="card-img-top w-100 w-md-40" alt="...">
|
<img src="{{ asset('assets/img/logo-fullname.png') }}" class="card-img-top w-100 w-md-40" alt="...">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<form id="form" action="/do_login" method="POST">
|
||||||
<h5 class="card-title text-center fw-bold">Login Survey Mutu</h5>
|
@csrf
|
||||||
<form id="form">
|
<div class="card-body">
|
||||||
|
<h5 class="card-title text-center fw-bold">Login Survey Mutu</h5>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="username">Username</label>
|
<label for="username">Username</label>
|
||||||
<input type="text" class="form-control" id="user_name" name="user_name" aria-describedby="user_name" />
|
<input type="text" class="form-control" id="user_name" name="user_name" aria-describedby="user_name" />
|
||||||
@ -36,11 +37,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<span id="password_error" class="form-label text-danger"></span>
|
<span id="password_error" class="form-label text-danger"></span>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</div>
|
||||||
</div>
|
<div class="card-body">
|
||||||
<div class="card-body">
|
<button class="btn btn-primary" type="submit">Login</button>
|
||||||
<button class="btn btn-primary" id="button_login">Login</button>
|
</div>
|
||||||
</div>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
|
|||||||
@ -213,7 +213,7 @@
|
|||||||
}).then(function(result) {
|
}).then(function(result) {
|
||||||
if (result.value) {
|
if (result.value) {
|
||||||
$.removeCookie('token');
|
$.removeCookie('token');
|
||||||
window.location.href = "/login";
|
window.location.href = "/logout";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|||||||
@ -5,24 +5,29 @@ use App\Http\Controllers\AuthController;
|
|||||||
use App\Http\Controllers\SoalController;
|
use App\Http\Controllers\SoalController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
|
Route::get('/logout', [AuthController::class, 'logout']);
|
||||||
Route::get('/login', [AuthController::class, 'login']);
|
Route::get('/login', [AuthController::class, 'login']);
|
||||||
|
Route::post('/do_login', [AuthController::class, 'do_login']);
|
||||||
Route::get('/', [SoalController::class, 'index'])->name('soal.index');
|
Route::get('/', [SoalController::class, 'index'])->name('soal.index');
|
||||||
Route::post('/jawaban', [SoalController::class, 'store'])->name('soal.store');
|
Route::post('/jawaban', [SoalController::class, 'store'])->name('soal.store');
|
||||||
Route::get('/jawaban/terima-kasih', [SoalController::class, 'thankYou'])->name('soal.thankyou');
|
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::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::middleware('ceklogin')->group(function () {
|
||||||
Route::get('/admin/dashboard_jawaban', [AdminController::class, 'dashboard_jawaban']);
|
Route::get('/admin', [AdminController::class, 'index']);
|
||||||
Route::post('/admin/get_data_pegawai_jawaban', [AdminController::class, 'get_data_pegawai_jawaban']);
|
Route::post('/admin/get_data_pegawai_sudah_survey', [AdminController::class, 'get_data_pegawai_sudah_survey']);
|
||||||
Route::get('/admin/detail_jawaban/{jawaban_id}', [AdminController::class, 'get_jawaban']);
|
Route::post('/admin/get_data_pegawai_tidak_mau_survey', [AdminController::class, 'data_tidak_mau_survey']);
|
||||||
Route::post('/admin/get_data_dashboard_analisis', [AdminController::class, 'get_data_dashboard_analisis']);
|
Route::get('/admin/dashboard_jawaban', [AdminController::class, 'dashboard_analisis']);
|
||||||
Route::post('/admin/report_data_analisis', [AdminController::class, 'report_data_dashboard_analisis']);
|
Route::post('/admin/get_data_dashboard_jawaban', [AdminController::class, 'get_data_dashboard_analisis']);
|
||||||
Route::post('/admin/report_jawaban', [AdminController::class, 'download_report_data_jawaban_pegawai']);
|
Route::post('/admin/report', [AdminController::class, 'download_report_data_pegawai_sudah_survey']);
|
||||||
Route::get('/admin/dashboard_demografi', [AdminController::class, 'dashboard_demografi']);
|
Route::get('/admin/dashboard_analisis', [AdminController::class, 'dashboard_analisis']);
|
||||||
Route::post('/admin/get_data_dashboard_demografi', [AdminController::class, 'get_data_dashboard_demografi']);
|
Route::get('/admin/dashboard_jawaban', [AdminController::class, 'dashboard_jawaban']);
|
||||||
Route::post('/admin/report_data_demografi', [AdminController::class, 'download_report_dashboard_demografi']);
|
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']);
|
||||||
|
});
|
||||||
Loading…
x
Reference in New Issue
Block a user