diff --git a/app/Http/Controllers/Admins/SurveyController.php b/app/Http/Controllers/Admins/SurveyController.php
index 835607b..67abba9 100755
--- a/app/Http/Controllers/Admins/SurveyController.php
+++ b/app/Http/Controllers/Admins/SurveyController.php
@@ -3,6 +3,7 @@
namespace App\Http\Controllers\Admins;
use App\Http\Controllers\Controller;
+use App\Models\Master\ManagementMasters;
use App\Models\QuestionAnswers;
use App\Models\QuestionDetails;
use App\Models\QuestionSurveys;
@@ -64,8 +65,8 @@ class SurveyController extends Controller
{
// find data
$survey = Surveys::where('status', '!=', 'Deleted')
- ->with(['questionSurveys' => fn($query) => $query->where('status', '!=', 'Deleted')])
- ->findOrFail($id);
+ ->with(['questionSurveys' => fn ($query) => $query->where('status', '!=', 'Deleted')])
+ ->findOrFail($id);
// return ($survey);
// return view
@@ -78,11 +79,14 @@ class SurveyController extends Controller
public function show(string $id)
{
// find data
- $survey = Surveys::where('status', '!=', 'Deleted')->findOrFail($id);
- $questionSurveys = QuestionSurveys::where('survey_id', $id)->paginate();
+ $survey = Surveys::where('status', '!=', 'Deleted')->with('questionSurveys')->findOrFail($id);
+ // return $survey->questionSurveys;
+ $questionAnswers = QuestionAnswers::where('survey_id', $id)->with('questionSurveys')->get();
+ // return $questionSurveys = QuestionSurveys::where('survey_id', $id)->with('questionAnswers')->get();
+ // return [$survey->questionSurveys->first()->questionAnswers->first()->users->name];
// return view
- return view('pages.admins.surveys.detail', compact('survey', 'questionSurveys'));
+ return view('pages.admins.surveys.detail', compact('survey', 'questionAnswers'));
}
/**
@@ -92,9 +96,10 @@ class SurveyController extends Controller
{
// find data
$survey = Surveys::where('status', '!=', 'Deleted')->findOrFail($id);
+ $management_master = ManagementMasters::get();
// return view
- return view('pages.admins.surveys.edit', compact('survey'));
+ return view('pages.admins.surveys.edit', compact('survey', 'management_master'));
}
// SaveSurvey (Autosaved)
@@ -142,6 +147,20 @@ class SurveyController extends Controller
'question_label' => '["' . $value['labelfrom'] . '","' . $value['labelto'] . '"]',
'question_value' => '["' . $value['valuefrom'] . '","' . $value['valueto'] . '"]',
]);
+ } else if ($value['type'] == 'Jawaban Angka') {
+ QuestionDetails::updateOrCreate([
+ 'question_id' => $questionSurveys->id,
+ ], [
+ 'question_label' => '["Jawaban Angka"]',
+ 'question_value' => '["Angka"]',
+ ]);
+ } else if ($value['type'] == 'Jawaban Singkat') {
+ QuestionDetails::updateOrCreate([
+ 'question_id' => $questionSurveys->id,
+ ], [
+ 'question_label' => '["Jawaban Singkat"]',
+ 'question_value' => '["Teks Jawaban Singkat"]',
+ ]);
} else if ($value['type'] == 'Esai') {
QuestionDetails::updateOrCreate([
'question_id' => $questionSurveys->id,
@@ -149,6 +168,13 @@ class SurveyController extends Controller
'question_label' => '["Esai"]',
'question_value' => '["Teks"]',
]);
+ } else if ($value['type'] == 'Master') {
+ QuestionDetails::updateOrCreate([
+ 'question_id' => $questionSurveys->id,
+ ], [
+ 'question_label' => '["Master"]',
+ 'question_value' => '["' . $value['master'] . '"]',
+ ]);
} else {
QuestionDetails::updateOrCreate([
'question_id' => $questionSurveys->id,
@@ -190,8 +216,8 @@ class SurveyController extends Controller
{
// create unique answer_id
$unique_answer_id = QuestionAnswers::select('answer_id')->groupby('answer_id')->latest()->first();
- $unique_answer_id = empty($unique_answer_id) ? 1 : $unique_answer_id['answer_id'] + 1;
-
+ $unique_answer_id = empty($unique_answer_id) ? 1 : $unique_answer_id['answer_id'] + 1;
+
// validation
$request->validate([
'question.*.answer' => 'required',
@@ -200,10 +226,12 @@ class SurveyController extends Controller
// return $request;
foreach ($request->question as $key => $value) {
+ $answer_type = QuestionSurveys::select('type')->find($key);
QuestionAnswers::create([
'user_id' => Auth::user()->id,
'question_id' => $key,
'answer_id' => $unique_answer_id,
+ 'answer_type' => $answer_type ? $answer_type['type'] : null,
'answer' => $value['answer'],
'survey_id' => $request->survey_id,
]);
diff --git a/app/Http/Controllers/Master/ManagementMasterController.php b/app/Http/Controllers/Master/ManagementMasterController.php
new file mode 100644
index 0000000..b184dd1
--- /dev/null
+++ b/app/Http/Controllers/Master/ManagementMasterController.php
@@ -0,0 +1,119 @@
+ 'required',
+ 'master_value' => 'required',
+ );
+ $validator = Validator::make($request->all(), $rules);
+
+ // check validation
+ if ($validator->fails()) {
+ return Redirect::to('master/management-master/create')
+ ->withErrors($validator)
+ ->withInput($request->all());
+ } else {
+ // create new master data
+ $management_master = ManagementMasters::create([
+ 'master_code' => $request->master_code,
+ 'master_value' => $request->master_value,
+ ]);
+
+ // Create Session message
+ Session::flash('management_masters-message', [
+ 'type' => 'success',
+ 'msg' => 'Anda berhasil menambahkan data!'
+ ]);
+
+ return Redirect::to('master/management-master');
+ }
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ */
+ public function edit(string $id)
+ {
+ // get data from management_master
+ $management_master = ManagementMasters::findOrFail($id);
+
+ // call view pages
+ return view('pages.masters.management_masters.edit', compact('management_master'));
+ }
+
+ /**
+ * Update the specified resource in storage.
+ */
+ public function update(Request $request, string $id)
+ {
+ // validation
+ $rules = array(
+ 'master_code' => 'required',
+ 'master_value' => 'required',
+ );
+ $validator = Validator::make($request->all(), $rules);
+
+ // process the login
+ if ($validator->fails()) {
+ return Redirect::to('master/management-master/edit/' . $id)
+ ->withErrors($validator)
+ ->withInput($request->all());
+ } else {
+ // create new account
+ $management_master = ManagementMasters::findOrFail($id);
+ if (!$management_master) {
+ // Create Session message
+ Session::flash('management_masters-message', [
+ 'type' => 'warning',
+ 'msg' => 'Data tidak ditemukan!'
+ ]);
+
+ return Redirect::to('master/management-master');
+ }
+ $management_master->update([
+ 'master_code' => $request->master_code,
+ 'master_value' => $request->master_value,
+ ]);
+
+ // Create Session message
+ Session::flash('management_masters-message', [
+ 'type' => 'success',
+ 'msg' => 'Anda berhasil mengubah data!'
+ ]);
+
+ return Redirect::to('master/management-master');
+ }
+ }
+}
diff --git a/app/Http/Controllers/Master/MasterAgamaController.php b/app/Http/Controllers/Master/MasterAgamaController.php
new file mode 100644
index 0000000..05a28d6
--- /dev/null
+++ b/app/Http/Controllers/Master/MasterAgamaController.php
@@ -0,0 +1,17 @@
+belongsTo(QuestionSurveys::class, 'id', 'question_id');
+ return $this->belongsTo(QuestionSurveys::class, 'question_id', 'id');
}
public function users(): HasOne
diff --git a/database/migrations/2024_05_18_185119_add_answer_type.php b/database/migrations/2024_05_18_185119_add_answer_type.php
new file mode 100644
index 0000000..ef7cc79
--- /dev/null
+++ b/database/migrations/2024_05_18_185119_add_answer_type.php
@@ -0,0 +1,30 @@
+string('answer_type')->after('question_id')->nullable(); // answer_type
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ // remove answer_type
+ Schema::table('question_answers', function (Blueprint $table) {
+ $table->dropColumn('answer_type'); // answer_type
+ });
+ }
+};
diff --git a/database/migrations/2024_05_19_043616_create_agamas_table.php b/database/migrations/2024_05_19_043616_create_agamas_table.php
new file mode 100644
index 0000000..4be8850
--- /dev/null
+++ b/database/migrations/2024_05_19_043616_create_agamas_table.php
@@ -0,0 +1,28 @@
+id();
+ $table->string("keterangan");
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('mst_agamas');
+ }
+};
diff --git a/database/migrations/2024_05_19_051725_create_management_masters_table.php b/database/migrations/2024_05_19_051725_create_management_masters_table.php
new file mode 100644
index 0000000..fee4daa
--- /dev/null
+++ b/database/migrations/2024_05_19_051725_create_management_masters_table.php
@@ -0,0 +1,29 @@
+id();
+ $table->string('master_code'); // code for question master
+ $table->string('master_value'); // Value get model master
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('management_masters');
+ }
+};
diff --git a/database/seeders/AgamaSeeder.php b/database/seeders/AgamaSeeder.php
new file mode 100644
index 0000000..218ca75
--- /dev/null
+++ b/database/seeders/AgamaSeeder.php
@@ -0,0 +1,51 @@
+ 1,
+ 'keterangan' => 'Islam',
+ ],
+ [
+ 'id' => 2,
+ 'keterangan' => 'Kristen',
+ ],
+ [
+ 'id' => 3,
+ 'keterangan' => 'Katolik',
+ ],
+ [
+ 'id' => 4,
+ 'keterangan' => 'Hindu',
+ ],
+ [
+ 'id' => 5,
+ 'keterangan' => 'Budha',
+ ],
+ [
+ 'id' => 6,
+ 'keterangan' => 'Khonghucu',
+ ],
+ [
+ 'id' => 100,
+ 'keterangan' => 'Lainnya',
+ ],
+ ];
+
+ DB::table("mst_agamas")->insert($agama);
+ }
+}
diff --git a/resources/views/errors/403.blade.php b/resources/views/errors/403.blade.php
new file mode 100755
index 0000000..9989113
--- /dev/null
+++ b/resources/views/errors/403.blade.php
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 403 Access Denied
+
+
+
+
+
+
+
+
+
+
+
+
+
Opsss!!!
+
Maaf akses ditolak, silahkan login terlebih dahulu.
+
Kembali
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/views/errors/404.blade.php b/resources/views/errors/404.blade.php
new file mode 100755
index 0000000..0805824
--- /dev/null
+++ b/resources/views/errors/404.blade.php
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 404 Not Found
+
+
+
+
+
+
+
+
+
+
+
+
+
Opsss!!!
+
Maaf, halaman yang anda cari tidak ditemukan.
+
Kembali
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/views/includes/sidebar.blade.php b/resources/views/includes/sidebar.blade.php
index 83bfeaf..564cae9 100755
--- a/resources/views/includes/sidebar.blade.php
+++ b/resources/views/includes/sidebar.blade.php
@@ -49,9 +49,42 @@
@role(['Admin'])
+ {{-- Management Master --}}
-
+
+
+
+
+
+ {{-- Management User --}}
+
+
+