main #1

Merged
Joko merged 3 commits from main into production 2025-12-08 14:37:12 +00:00
13 changed files with 197 additions and 116 deletions
Showing only changes of commit c56178868c - Show all commits

89
.env.prod Normal file
View File

@ -0,0 +1,89 @@
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:ysLF8NLAMjYCH7ikOgmCRATlMb6YT+8oFpAz0aJampI=
APP_DEBUG=true
APP_TIMEZONE=UTC
APP_URL=http://localhost
APP_LOCALE=en
APP_FALLBACK_LOCALE=en
APP_FAKER_LOCALE=en_US
APP_MAINTENANCE_DRIVER=file
# APP_MAINTENANCE_STORE=database
PHP_CLI_SERVER_WORKERS=4
BCRYPT_ROUNDS=12
LOG_CHANNEL=stack
LOG_STACK=single
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=pgsql
DB_HOST=172.16.88.22
DB_PORT=5432
DB_DATABASE=lms_mutu
DB_USERNAME=simrs
DB_PASSWORD=@S1mrs.3205@
DB_CONNECTION_LMS_MUTU= pgsql
DB_HOST_LMS_MUTU = 172.16.88.22
DB_PORT_LMS_MUTU = 5432
DB_DATABASE_LMS_MUTU = lms_mutu
DB_USERNAME_LMS_MUTU = simrs
DB_PASSWORD_LMS_MUTU = @S1mrs.3205@
SESSION_DRIVER=file
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_PATH=/
SESSION_DOMAIN=null
BROADCAST_CONNECTION=log
FILESYSTEM_DISK=local
QUEUE_CONNECTION=database
CACHE_STORE=database
CACHE_PREFIX=
MEMCACHED_HOST=127.0.0.1
REDIS_CLIENT=phpredis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=log
MAIL_SCHEME=null
MAIL_HOST=127.0.0.1
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false
VITE_APP_NAME="${APP_NAME}"
DB_CONNECTION_SMARTV1 = pgsql
DB_HOST_SMARTV1 = psql1.rsabhk.lan
DB_PORT_SMARTV1 = 5432
DB_DATABASE_SMARTV1 = rsab_hk_production
DB_USERNAME_SMARTV1 = postgres
DB_PASSWORD_SMARTV1 = postgres
APP_ASSET_URL=https://survei-mutu.rsabhk.co.id/
# DB_CONNECTION_SMARTV1 = pgsql
# DB_HOST_SMARTV1 = 192.168.12.3
# DB_PORT_SMARTV1 = 5432
# DB_DATABASE_SMARTV1 = rsab_hk_25_01_14
# DB_USERNAME_SMARTV1 = postgres
# DB_PASSWORD_SMARTV1 = postgres

View File

@ -448,7 +448,7 @@ class AdminController extends Controller
if(count($soal_json['options']) > 0){
foreach ($soal_json['options'] as $v) {
if($v != 'Lainnya'){
if($v != 'TIDAK BERLAKU/TIDAK TAHU, Sebutkan alasan'){
$row = (clone $result)->where('d.jawaban', $v)
->first();
@ -501,7 +501,7 @@ class AdminController extends Controller
// foreach ($get_data as $val) {
if($get_data){
$data_per_jawaban = [
'name' => 'Lainnya',
'name' => 'TIDAK BERLAKU/TIDAK TAHU, Sebutkan alasan',
'percent' => (float) $get_data->percent,
'value' => $get_data->total_jawaban,
'total' => $get_data->total_semua,
@ -509,7 +509,7 @@ class AdminController extends Controller
];
} else {
$data_per_jawaban = [
'name' => 'Lainnya',
'name' => 'TIDAK BERLAKU/TIDAK TAHU, Sebutkan alasan',
'percent' => 0,
'value' => 0,
'jawaban' => '-'
@ -628,7 +628,7 @@ class AdminController extends Controller
if(count($soal_json['options']) > 0){
foreach ($soal_json['options'] as $v) {
if($v != 'Lainnya'){
if($v != 'TIDAK BERLAKU/TIDAK TAHU, Sebutkan alasan'){
$row = (clone $result)->where('d.jawaban', $v)
->first();
@ -680,7 +680,7 @@ class AdminController extends Controller
// foreach ($get_data as $val) {
if($get_data){
$data_per_jawaban = [
'name' => 'Lainnya',
'name' => 'TIDAK BERLAKU/TIDAK TAHU, Sebutkan alasan',
'percent' => (float) $get_data->percent,
'value' => $get_data->total_jawaban,
'total' => $get_data->total_semua,
@ -688,7 +688,7 @@ class AdminController extends Controller
];
} else {
$data_per_jawaban = [
'name' => 'Lainnya',
'name' => 'TIDAK BERLAKU/TIDAK TAHU, Sebutkan alasan',
'percent' => 0,
'value' => 0,
'jawaban' => '-'
@ -743,17 +743,17 @@ class AdminController extends Controller
$data[$v['name']] = '-';
}
if($v['name'] == 'Lainnya') {
$data['jawaban_lainnya'] = $v['jawaban'];
}
// if($v['name'] == 'TIDAK BERLAKU/TIDAK TAHU, Sebutkan alasan') {
// $data['jawaban_lainnya'] = $v['jawaban'];
// }
}
$data['total'] = $total;
array_push($data_setuju_report, $data);
}
array_push($data_setuju_header, 'Jawaban Lainnya');
// array_push($data_setuju_header, 'Jawaban Lainnya');
array_push($data_setuju_header, 'Total Responden');
array_unshift($data_setuju_report, $data_setuju_header);
$data_other_report = [];
$data_other_header = ['No', 'Soal'];
foreach ($data_option_other as $key => $value) {
@ -790,14 +790,14 @@ class AdminController extends Controller
$data_selalu[$v['name']] = '-';
}
if($v['name'] == 'Lainnya') {
$data_selalu['jawaban_lainnya'] = $v['jawaban'];
}
// if($v['name'] == 'TIDAK BERLAKU/TIDAK TAHU, Sebutkan alasan') {
// $data_selalu['jawaban_lainnya'] = $v['jawaban'];
// }
}
$data_selalu['total'] = $total;
array_push($data_selalu_report, $data_selalu);
}
array_push($data_selalu_header, 'Jawaban Lainnya');
// array_push($data_selalu_header, 'Jawaban Lainnya');
array_push($data_selalu_header, 'Total Responden');
array_unshift($data_selalu_report, $data_selalu_header);

View File

@ -249,7 +249,7 @@ class SoalController extends Controller
$array = json_decode($json, true);
session(['pegawai' => $array]);
return redirect('/');
return redirect('/?start=1&soal_id=1');
}
protected function generatePrefillJawaban($detailSoal, $pegawai): array

View File

@ -15,7 +15,7 @@ return [
|
*/
'default' => env('CACHE_STORE', 'database'),
'default' => env('CACHE_STORE', 'file'),
/*
|--------------------------------------------------------------------------

View File

@ -37,7 +37,7 @@
<div class="btn btn-primary" id="search_button">
Cari
</div>
<form id="export_form" action="{{ url('/admin/report') }}" method="POST">
<form id="export_form" action="admin/report" method="POST">
@csrf
<select class="d-none" name="select_unit_kerja[]" multiple>
@foreach ($list_unit_kerja as $item)
@ -90,7 +90,7 @@
processing: true,
serverSide: true,
ajax: {
url: `{{ url('/admin/get_data_pegawai_sudah_survey') }}`,
url: `admin/get_data_pegawai_sudah_survey`,
type: 'POST',
data: function (d) {
d.unit_kerja = $('#select_unit_kerja').val();
@ -106,7 +106,7 @@
function getTotalTidakMauSurvey() {
$.ajax({
url: "{{ url('/admin/get_data_pegawai_tidak_mau_survey') }}",
url: "/admin/get_data_pegawai_tidak_mau_survey",
type: "POST",
data: {
unit_kerja: $('#select_unit_kerja').val(),

View File

@ -22,7 +22,7 @@
<div class="btn btn-primary" id="search_button">
Cari
</div>
<form id="export_form" action="{{ url('/admin/report_data_analisis') }}" method="POST">
<form id="export_form" action="/admin/report_data_analisis" method="POST">
@csrf
<select class="d-none" name="unit_kerja[]" multiple>
@foreach ($list_unit_kerja as $item)
@ -70,7 +70,7 @@
</div>
</div>`);
$.ajax({
url: "{{ url('/admin/get_data_dashboard_analisis') }}",
url: "/admin/get_data_dashboard_analisis",
type: "POST",
data: {
unit_kerja: $('#select_unit_kerja').val(),
@ -95,8 +95,7 @@
<th class="text-white">Netral</th>
<th class="text-white">Setuju</th>
<th class="text-white">Sangat Setuju</th>
<th class="text-white">Lainnya</th>
<th class="text-white">Jawaban Lainnya</th>
<th class="text-white">TIDAK BERLAKU/TIDAK TAHU, Sebutkan alasan</th>
<th class="text-white">Total Responden</th>
</tr>
</thead>`;
@ -116,9 +115,6 @@
} else {
stringTable += `<td class="fw-bold">-</td>`;
}
if(e.name == 'Lainnya') {
stringTable += `<td class="fw-bold">${e.jawaban}</td>`;
}
});
stringTable += `<td class="">${total}</td>`;
stringTable += `</tr>`;
@ -176,8 +172,7 @@
<th class="text-white">Kadang-kadang</th>
<th class="text-white">Sering</th>
<th class="text-white">Selalu</th>
<th class="text-white">Lainnya</th>
<th class="text-white">Jawaban Lainnya</th>
<th class="text-white">TIDAK BERLAKU/TIDAK TAHU, Sebutkan alasan</th>
<th class="text-white">Total Responden</th>
</tr>
</thead>`;
@ -193,9 +188,6 @@
} else {
stringTable += `<td class="fw-bold">-</td>`;
}
if(e.name == 'Lainnya') {
stringTable += `<td class="fw-bold">${e.jawaban}</td>`;
}
});
stringTable += `<td class="">${data.total}</td>`;
stringTable += `</tr>`;

View File

@ -22,7 +22,7 @@
<div class="btn btn-primary" id="search_button">
Cari
</div>
<form id="export_form" action="{{ url('/admin/report_data_demografi') }}" method="POST">
<form id="export_form" action="admin/report_data_demografi" method="POST">
@csrf
<select class="d-none" name="unit_kerja[]" multiple>
@foreach ($list_unit_kerja as $item)
@ -70,7 +70,7 @@
</div>
</div>`);
$.ajax({
url: "{{ url('/admin/get_data_dashboard_demografi') }}",
url: "/admin/get_data_dashboard_demografi",
type: "POST",
data: {
unit_kerja: $('#select_unit_kerja').val(),

View File

@ -27,7 +27,7 @@
<div class="btn btn-primary" id="search_button">
Cari
</div>
<form id="export_form" action="{{ url('/admin/report_jawaban') }}" method="POST">
<form id="export_form" action="admin/report_jawaban" method="POST">
@csrf
<select class="d-none" name="select_unit_kerja[]" multiple>
@foreach ($list_unit_kerja as $item)
@ -106,7 +106,7 @@
processing: true,
serverSide: true,
ajax: {
url: `{{ url('/admin/get_data_pegawai_jawaban') }}`,
url: `admin/get_data_pegawai_jawaban`,
type: 'POST',
data: function (d) {
d.nama_pegawai = $('#nama_pegawai').val();
@ -125,7 +125,7 @@
function getJawaban(id) {
loadLoading();
$.ajax({
url: `{{ url('/admin/detail_jawaban') }}/${id}`,
url: `/admin/detail_jawaban/${id}`,
type: 'GET',
success: function (res) {
const data = res.data;

View File

@ -8,7 +8,7 @@
<title>@yield('title', 'Survey Mutu RSAB Harapan Kita')</title>
<!-- Favicon -->
<link rel="icon" type="image/png" href="{{ asset('vuexy/assets/img/favicon/favicon.png') }}" />
<link rel="icon" type="image/png" href="{{ env('APP_ASSET_URL') .'vuexy/assets/img/favicon/favicon.png' }}" />
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
@ -18,29 +18,29 @@
rel="stylesheet">
<!-- Icons. Uncomment required icon fonts -->
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/fonts/iconify-icons.css') }}" />
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/fonts/fontawesome.css') }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') . 'vuexy/assets/vendor/fonts/iconify-icons.css' }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/fonts/fontawesome.css' }}" />
<!-- Core CSS -->
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/css/core.css') }}" class="template-customizer-core-css" />
<link rel="stylesheet" href="{{ asset('vuexy/assets/css/demo.css') }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/css/core.css' }}" class="template-customizer-core-css" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/css/demo.css' }}" />
<!-- Vendors CSS -->
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/libs/node-waves/node-waves.css') }}" />
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.css') }}" />
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/libs/animate-css/animate.css') }}" />
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/libs/sweetalert2/sweetalert2.css') }}" />
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/libs/datatables-bs5/datatables.bootstrap5.css') }}" />
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/libs/datatables-responsive-bs5/responsive.bootstrap5.css') }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/node-waves/node-waves.css' }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.css' }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/animate-css/animate.css' }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/sweetalert2/sweetalert2.css' }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/datatables-bs5/datatables.bootstrap5.css' }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/datatables-responsive-bs5/responsive.bootstrap5.css' }}" />
<!-- Helpers -->
<script src="{{ asset('vuexy/assets/vendor/js/helpers.js') }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/js/helpers.js' }}"></script>
<!--! Template customizer & Theme config files MUST be included after core stylesheets and helpers.js in the <head> section -->
<!--? Template customizer: To hide customizer set displayCustomizer value false in config.js. -->
<!--? Config: Mandatory theme config file contain global vars & default theme options, Set your preferred theme option in this file. -->
<script src="{{ asset('vuexy/assets/js/config.js') }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/js/config.js' }}"></script>
@yield('custom_css')
</head>
@ -48,8 +48,8 @@
<body>
<nav class="navbar navbar-expand-lg bg-primary fw-bold">
<div class="container-fluid">
<a class="navbar-brand" href="{{ url('/') }}">
<img src="{{ asset('assets/img/logo-fullname-negatif.png') }}" alt="Logo" height="40" class="d-inline-block align-text-top">
<a class="navbar-brand" href="/">
<img src="{{ env('APP_ASSET_URL') .'assets/img/logo-fullname-negatif.png' }}" alt="Logo" height="40" class="d-inline-block align-text-top">
</a>
</div>
</nav>
@ -59,20 +59,20 @@
<!-- Core JS -->
<!-- build:js assets/vendor/js/core.js -->
<script src="{{ asset('vuexy/assets/vendor/libs/jquery/jquery.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/libs/popper/popper.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/js/bootstrap.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/libs/node-waves/node-waves.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/libs/hammer/hammer.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/js/menu.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/libs/sweetalert2/sweetalert2.js') }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/jquery/jquery.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/popper/popper.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/js/bootstrap.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/node-waves/node-waves.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/hammer/hammer.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/js/menu.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/sweetalert2/sweetalert2.js' }}"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
<script src="{{ asset('vuexy/assets/vendor/libs/datatables-bs5/datatables-bootstrap5.js') }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/datatables-bs5/datatables-bootstrap5.js' }}"></script>
<!-- endbuild -->
<!-- Main JS -->
<script src="{{ asset('vuexy/assets/js/main.js') }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/js/main.js' }}"></script>
<script>
const token = $.cookie('token');
const headers = {

View File

@ -8,7 +8,7 @@
<title>@yield('title', 'Mutu RSAB Harapan Kita')</title>
<!-- Favicon -->
<link rel="icon" type="image/png" href="{{ asset('vuexy/assets/img/favicon/favicon.png') }}" />
<link rel="icon" type="image/png" href="{{ env('APP_ASSET_URL') . 'vuexy/assets/img/favicon/favicon.png' }}" />
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
@ -18,31 +18,31 @@
rel="stylesheet">
<!-- Icons. Uncomment required icon fonts -->
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/fonts/iconify-icons.css') }}" />
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/fonts/fontawesome.css') }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/fonts/iconify-icons.css' }}" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/all.min.css" integrity="sha512-2SwdPD6INVrV/lHTZbO2nodKhrnDdJK9/kg2XD1r9uGqPo1cUbujc+IYdlYdEErWNu69gVcYgdxlmVmzTWnetw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<!-- Core CSS -->
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/css/core.css') }}" class="template-customizer-core-css" />
<link rel="stylesheet" href="{{ asset('vuexy/assets/css/demo.css') }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/css/core.css' }}" class="template-customizer-core-css" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/css/demo.css' }}" />
<!-- Vendors CSS -->
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/libs/node-waves/node-waves.css') }}" />
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.css') }}" />
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/libs/datatables-bs5/datatables.bootstrap5.css') }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/node-waves/node-waves.css' }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.css' }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/datatables-bs5/datatables.bootstrap5.css' }}" />
<link rel="stylesheet"
href="{{ asset('vuexy/assets/vendor/libs/datatables-responsive-bs5/responsive.bootstrap5.css') }}" />
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/libs/sweetalert2/sweetalert2.css') }}" />
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/libs/select2/select2.css') }} " />
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/libs/spinkit/spinkit.css') }}" />
href="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/datatables-responsive-bs5/responsive.bootstrap5.css' }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/sweetalert2/sweetalert2.css' }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/select2/select2.css' }} " />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/spinkit/spinkit.css' }}" />
<!-- Helpers -->
<script src="{{ asset('vuexy/assets/vendor/js/helpers.js') }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/js/helpers.js' }}"></script>
<!--! Template customizer & Theme config files MUST be included after core stylesheets and helpers.js in the <head> section -->
<!--? Template customizer: To hide customizer set displayCustomizer value false in config.js. -->
<!--? Config: Mandatory theme config file contain global vars & default theme options, Set your preferred theme option in this file. -->
<script src="{{ asset('vuexy/assets/js/config.js') }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/js/config.js' }}"></script>
<style>
.list-materi-hover:hover,
.list-materi-selected {
@ -67,7 +67,7 @@
<body>
<nav class="navbar navbar-expand-lg bg-primary fw-bold">
<div class="container-fluid">
<a class="navbar-brand" href="{{ url('/') }}">
<a class="navbar-brand" href="/">
<img src="{{ asset('assets/img/logo-fullname-negatif.png') }}" alt="Logo" height="40"
class="d-inline-block align-text-top">
</a>
@ -108,22 +108,22 @@
<img src="{{ asset('assets/img/logo-fullname.png') }}" alt="Logo" class="w-50">
</div>
<nav class="nav flex-column sidebar-scroll list-materi bg-white px-5 gap-2">
<a href="{{ url('/admin') }}" class="nav-link px-0 list-materi-hover px-3 d-flex justify-content-between align-items-center fs-5">
<a href="/admin" class="nav-link px-0 list-materi-hover px-3 d-flex justify-content-between align-items-center fs-5">
<div class="d-flex gap-2 align-items-center">
<i class="fa-solid fa-building"></i> Dashboard Per Unit
</div>
</a>
<a href="{{ url('/admin/dashboard_demografi') }}" class="nav-link px-0 list-materi-hover px-3 d-flex justify-content-between align-items-center fs-5">
<a href="/admin/dashboard_demografi" class="nav-link px-0 list-materi-hover px-3 d-flex justify-content-between align-items-center fs-5">
<div class="d-flex gap-2 align-items-center">
<i class="fa-solid fa-magnifying-glass-chart"></i> Analisis Demografi
</div>
</a>
<a href="{{ url('/admin/dashboard_analisis') }}" class="nav-link px-0 list-materi-hover px-3 d-flex justify-content-between align-items-center fs-5">
<a href="/admin/dashboard_analisis" class="nav-link px-0 list-materi-hover px-3 d-flex justify-content-between align-items-center fs-5">
<div class="d-flex gap-2 align-items-center">
<i class="fa-solid fa-circle-question"></i> Analisis Per Soal
</div>
</a>
<a href="{{ url('/admin/dashboard_jawaban') }}" class="nav-link px-0 list-materi-hover px-3 d-flex justify-content-between align-items-center fs-5">
<a href="/admin/dashboard_jawaban" class="nav-link px-0 list-materi-hover px-3 d-flex justify-content-between align-items-center fs-5">
<div class="d-flex gap-2 align-items-center">
<i class="fa-solid fa-people-group"></i> Detail Jawaban Pegawai
</div>
@ -145,13 +145,13 @@
<div class="sidebar">
<div class="px-3">
<nav class="nav flex-column list-materi">
<a href="{{ url('/admin') }}" class="nav-link px-0 list-materi-hover px-3 d-flex justify-content-between align-items-center fs-5">
<a href="/admin" class="nav-link px-0 list-materi-hover px-3 d-flex justify-content-between align-items-center fs-5">
<div class="d-flex gap-2 align-items-center">
<i class="fa-solid fa-gauge-high"></i> Dashboard
</div>
<i class="fa-solid fa-chevron-right"></i>
</a>
<a href="{{ url('/admin/dashboard_jawaban') }}" class="nav-link px-0 list-materi-hover px-3 d-flex justify-content-between align-items-center fs-5">
<a href="/admin/dashboard_jawaban" class="nav-link px-0 list-materi-hover px-3 d-flex justify-content-between align-items-center fs-5">
<div class="d-flex gap-2 align-items-center">
<i class="fa-solid fa-gauge-high"></i> Dashboard
</div>
@ -171,21 +171,21 @@
<!-- Core JS -->
<!-- build:js assets/vendor/js/core.js -->
<script src="{{ asset('vuexy/assets/vendor/libs/jquery/jquery.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/libs/popper/popper.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/js/bootstrap.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/libs/node-waves/node-waves.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/libs/hammer/hammer.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/js/menu.js') }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/jquery/jquery.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/popper/popper.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/js/bootstrap.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/node-waves/node-waves.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/hammer/hammer.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/js/menu.js' }}"></script>
<!-- endbuild -->
<!-- Main JS -->
<script src="{{ asset('vuexy/assets/js/main.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/libs/sweetalert2/sweetalert2.js') }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/js/main.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/sweetalert2/sweetalert2.js' }}"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
<script src="{{ asset('vuexy/assets/vendor/libs/datatables-bs5/datatables-bootstrap5.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/libs/select2/select2.js') }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/datatables-bs5/datatables-bootstrap5.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/select2/select2.js' }}"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>
<script>
@ -213,7 +213,7 @@
}).then(function(result) {
if (result.value) {
$.removeCookie('token');
window.location.href = "/logout";
window.location.href = "/login";
}
});
})

View File

@ -18,27 +18,27 @@
rel="stylesheet">
<!-- Icons. Uncomment required icon fonts -->
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/fonts/iconify-icons.css') }}" />
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/fonts/fontawesome.css') }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') . 'vuexy/assets/vendor/fonts/iconify-icons.css' }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') . 'vuexy/assets/vendor/fonts/fontawesome.css' }}" />
<!-- Core CSS -->
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/css/core.css') }}" class="template-customizer-core-css" />
<link rel="stylesheet" href="{{ asset('vuexy/assets/css/demo.css') }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') . 'vuexy/assets/vendor/css/core.css' }}" class="template-customizer-core-css" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') . 'vuexy/assets/css/demo.css' }}" />
<!-- Vendors CSS -->
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/libs/node-waves/node-waves.css') }}" />
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.css') }}" />
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/libs/animate-css/animate.css') }}" />
<link rel="stylesheet" href="{{ asset('vuexy/assets/vendor/libs/sweetalert2/sweetalert2.css') }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/node-waves/node-waves.css' }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.css' }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/animate-css/animate.css' }}" />
<link rel="stylesheet" href="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/sweetalert2/sweetalert2.css' }}" />
<!-- Helpers -->
<script src="{{ asset('vuexy/assets/vendor/js/helpers.js') }}"></script>
<script src="{{ env('APP_ASSET_URL') . 'vuexy/assets/vendor/js/helpers.js' }}"></script>
<!--! Template customizer & Theme config files MUST be included after core stylesheets and helpers.js in the <head> section -->
<!--? Template customizer: To hide customizer set displayCustomizer value false in config.js. -->
<!--? Config: Mandatory theme config file contain global vars & default theme options, Set your preferred theme option in this file. -->
<script src="{{ asset('vuexy/assets/js/config.js') }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/js/config.js' }}"></script>
@yield('custom_css')
</head>
@ -49,18 +49,18 @@
<!-- Core JS -->
<!-- build:js assets/vendor/js/core.js -->
<script src="{{ asset('vuexy/assets/vendor/libs/jquery/jquery.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/libs/popper/popper.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/js/bootstrap.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/libs/node-waves/node-waves.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/libs/hammer/hammer.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/js/menu.js') }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/jquery/jquery.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/popper/popper.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/js/bootstrap.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/node-waves/node-waves.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/libs/hammer/hammer.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') .'vuexy/assets/vendor/js/menu.js' }}"></script>
<!-- endbuild -->
<!-- Main JS -->
<script src="{{ asset('vuexy/assets/js/main.js') }}"></script>
<script src="{{ asset('vuexy/assets/vendor/libs/sweetalert2/sweetalert2.js') }}"></script>
<script src="{{ env('APP_ASSET_URL') . 'vuexy/assets/js/main.js' }}"></script>
<script src="{{ env('APP_ASSET_URL') . 'vuexy/assets/vendor/libs/sweetalert2/sweetalert2.js' }}"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
@yield('custom_js')

View File

@ -269,7 +269,7 @@
<small class="text-muted" id="summary-hal">Halaman {{ $hal }} dari {{ $listHal->count() }}</small>
</div>
<form id="form-soal" method="POST" action="{{ route('soal.store') }}" data-hal-list='@json($listHal->values())' data-form-locked="{{ $formLocked ? '1' : '0' }}" data-group-info='@json($groupInfoByHal)'>
<form id="form-soal" method="POST" action="/jawaban" data-hal-list='@json($listHal->values())' data-form-locked="{{ $formLocked ? '1' : '0' }}" data-group-info='@json($groupInfoByHal)'>
@csrf
<input type="hidden" name="lms_mutu_soal_id" value="{{ $soal->id }}">
<input type="hidden" name="hal" id="input-hal" value="{{ $hal }}">

View File

@ -32,7 +32,7 @@
<nav class="-mx-3 flex flex-1 justify-end">
@auth
<a
href="{{ url('/dashboard') }}"
href="/dashboard"
class="rounded-md px-3 py-2 text-black ring-1 ring-transparent transition hover:text-black/70 focus:outline-none focus-visible:ring-[#FF2D20] dark:text-white dark:hover:text-white/80 dark:focus-visible:ring-white"
>
Dashboard