From dedbf5bd92fde8bfd1c6c12139f92d924be14df2 Mon Sep 17 00:00:00 2001 From: DimazzP Date: Wed, 4 Oct 2023 20:58:16 +0700 Subject: [PATCH] Kuesioner User --- .../Backend/QuestionnaireController.php | 29 +++++++++------ app/Http/Controllers/Backend/UiController.php | 37 +++++++++++++++++++ .../assets/img/closed_questionnaire.svg | 1 + .../assets/img/completed_quiestionnaire.svg | 1 + .../assets/img/closed_questionnaire.svg | 1 + public/backend/assets/img/not-found.svg | 1 - .../backend/closed_questionnaire.blade.php | 14 +++++++ .../backend/completed_questionnaire.blade.php | 14 +++++++ .../views/backend/layouts/sidebar.blade.php | 2 +- .../not_filled_questionnaire.blade.php | 2 +- .../backend/users_questionnaire.blade.php | 4 +- routes/web.php | 13 +++---- 12 files changed, 94 insertions(+), 25 deletions(-) create mode 100644 app/Http/Controllers/Backend/UiController.php create mode 100644 public/admin_backend/assets/img/closed_questionnaire.svg create mode 100644 public/admin_backend/assets/img/completed_quiestionnaire.svg create mode 100644 public/backend/assets/img/closed_questionnaire.svg delete mode 100644 public/backend/assets/img/not-found.svg create mode 100644 resources/views/backend/closed_questionnaire.blade.php create mode 100644 resources/views/backend/completed_questionnaire.blade.php diff --git a/app/Http/Controllers/Backend/QuestionnaireController.php b/app/Http/Controllers/Backend/QuestionnaireController.php index d0bdba1..3593854 100644 --- a/app/Http/Controllers/Backend/QuestionnaireController.php +++ b/app/Http/Controllers/Backend/QuestionnaireController.php @@ -6,12 +6,18 @@ use App\Models\Hasil; use App\Models\Kuesioner; use App\Models\Periode; +use App\Models\PilihPeriode; use Illuminate\Http\Request; class QuestionnaireController extends Controller { public function index() { + $idUser = auth()->user()->id; + $checkKuesioner = Hasil::where('id_user', $idUser)->count(); + if ($checkKuesioner > 0) { + return redirect()->route('user.questionnaire.check'); + } $kuesioners = Kuesioner::get(); return view('backend.users_questionnaire', compact('kuesioners')); } @@ -19,11 +25,10 @@ public function index() public function store(Request $request) { $idUser = auth()->user()->id; - - $lastPeriode = Periode::latest()->first(); - $periode = Hasil::where('id_user', $idUser)->where('id_periode', $lastPeriode)->count(); + $checkPeriod = PilihPeriode::first(); + $periode = Hasil::where('id_user', $idUser)->where('id_periode', $checkPeriod->id_periode)->count(); if ($periode > 0) { - return redirect()->route('user.checkFilled')->with('error', 'Gagal, anda sudah pernah mengisikan kuesioner'); + return redirect()->route('user.questionnaire.check')->with('error', 'Gagal, anda sudah pernah mengisikan kuesioner'); } $answer = []; // Array yang berisi data jawaban @@ -54,26 +59,26 @@ public function store(Request $request) $kmTotal = $totalsPerGroup[1] + $totalsPerGroup[2] + $totalsPerGroup[3]; $kmClass = null; if ($kmTotal >= 63) { - $kmClass = 'Tinggi'; + $kmClass = 'High'; } else if ($kmTotal >= 42) { - $kmClass = 'Sedang'; + $kmClass = 'Medium'; } else { - $kmClass = 'Rendah'; + $kmClass = 'Low'; } $rmTotal = $totalsPerGroup[4] + $totalsPerGroup[5] + $totalsPerGroup[6] + $totalsPerGroup[7] + $totalsPerGroup[8]; $rmClass = null; if ($rmTotal >= 63) { - $rmClass = 'Tinggi'; + $rmClass = 'High'; } else if ($rmTotal >= 42) { - $rmClass = 'Sedang'; + $rmClass = 'Medium'; } else { - $rmClass = 'Rendah'; + $rmClass = 'Low'; } Hasil::create([ 'id_user' => $idUser, - 'id_periode' => 1, + 'id_periode' => $checkPeriod->id_periode, 'declarative_knowledge' => $totalsPerGroup[1], 'procedural_knowledge' => $totalsPerGroup[2], 'conditional_knowledge' => $totalsPerGroup[3], @@ -88,6 +93,6 @@ public function store(Request $request) 'rm_class' => $rmClass, ]); - return $idUser; + return redirect()->route('user.questionnaire.check'); } } diff --git a/app/Http/Controllers/Backend/UiController.php b/app/Http/Controllers/Backend/UiController.php new file mode 100644 index 0000000..d96f6a7 --- /dev/null +++ b/app/Http/Controllers/Backend/UiController.php @@ -0,0 +1,37 @@ +aktif == 0 || !$checkPeriod->id_periode) { + return view('backend.closed_questionnaire'); + } + $idUser = auth()->user()->id; + + $countResult = Hasil::where('id_user', $idUser)->where('id_periode', $checkPeriod->id_periode)->count(); + if ($countResult > 0) { + return view('backend.completed_questionnaire'); + } + + return view('backend.not_filled_questionnaire'); + } + + public function closedQuestionnaire() + { + return view('backend.closed_questionnaire'); + } +} diff --git a/public/admin_backend/assets/img/closed_questionnaire.svg b/public/admin_backend/assets/img/closed_questionnaire.svg new file mode 100644 index 0000000..a7509e1 --- /dev/null +++ b/public/admin_backend/assets/img/closed_questionnaire.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/admin_backend/assets/img/completed_quiestionnaire.svg b/public/admin_backend/assets/img/completed_quiestionnaire.svg new file mode 100644 index 0000000..7943475 --- /dev/null +++ b/public/admin_backend/assets/img/completed_quiestionnaire.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/backend/assets/img/closed_questionnaire.svg b/public/backend/assets/img/closed_questionnaire.svg new file mode 100644 index 0000000..a7509e1 --- /dev/null +++ b/public/backend/assets/img/closed_questionnaire.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/backend/assets/img/not-found.svg b/public/backend/assets/img/not-found.svg deleted file mode 100644 index 3822279..0000000 --- a/public/backend/assets/img/not-found.svg +++ /dev/null @@ -1 +0,0 @@ -not found \ No newline at end of file diff --git a/resources/views/backend/closed_questionnaire.blade.php b/resources/views/backend/closed_questionnaire.blade.php new file mode 100644 index 0000000..69365f9 --- /dev/null +++ b/resources/views/backend/closed_questionnaire.blade.php @@ -0,0 +1,14 @@ +@extends('backend/layouts.template') +@section('content') +
+
+
+
+ +
+
+

Ups! Periode pengisian kuesioner belum dibuka!

+

Silakan kembali lagi nanti atau cek informasi terbaru untuk melihat kapan periode pengisian akan dibuka. Terima kasih atas pengertiannya.

+
+
+ @endsection \ No newline at end of file diff --git a/resources/views/backend/completed_questionnaire.blade.php b/resources/views/backend/completed_questionnaire.blade.php new file mode 100644 index 0000000..685d929 --- /dev/null +++ b/resources/views/backend/completed_questionnaire.blade.php @@ -0,0 +1,14 @@ +@extends('backend/layouts.template') +@section('content') +
+
+
+
+ +
+
+

Anda telah mengisikan kuesioner!

+

Anda telah berhasil menyelesaikan kuesioner yang telah kami sediakan. Terima kasih atas partisipasi Anda dalam memberikan masukan penting kepada kami.

+
+
+ @endsection \ No newline at end of file diff --git a/resources/views/backend/layouts/sidebar.blade.php b/resources/views/backend/layouts/sidebar.blade.php index 4d20e99..b2d0666 100644 --- a/resources/views/backend/layouts/sidebar.blade.php +++ b/resources/views/backend/layouts/sidebar.blade.php @@ -17,7 +17,7 @@