diff --git a/app/Http/Controllers/Admins/SurveyController.php b/app/Http/Controllers/Admins/SurveyController.php
index fdd00ee..3f3945e 100755
--- a/app/Http/Controllers/Admins/SurveyController.php
+++ b/app/Http/Controllers/Admins/SurveyController.php
@@ -3,7 +3,11 @@
namespace App\Http\Controllers\Admins;
use App\Http\Controllers\Controller;
+use App\Models\Master\Kabupatens;
+use App\Models\Master\Kecamatans;
+use App\Models\Master\Kelurahans;
use App\Models\Master\ManagementMasters;
+use App\Models\Master\Provinsis;
use App\Models\QuestionAnswers;
use App\Models\QuestionDetails;
use App\Models\QuestionSurveys;
@@ -69,6 +73,7 @@ class SurveyController extends Controller
->findOrFail($id);
// $responden = User::role('Staff')->get();
+ // return json_decode($survey->questionSurveys[15]->questionDetails->question_value)[0];
// return view
return view('pages.admins.surveys.preview-admin', compact('survey'));
}
@@ -239,7 +244,7 @@ class SurveyController extends Controller
// Add Data Answers
public function addAnswers(Request $request)
{
- // return $request->responden;
+ // return $request;
// 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;
@@ -304,6 +309,61 @@ class SurveyController extends Controller
return response()->json($data);
}
+ public function cariProvinsi(Request $request)
+ {
+ $data = [];
+ if ($request->has('q')) {
+ $search = $request->q;
+ $data = Provinsis::selectRaw('nama as name, id')
+ ->where('nama', 'LIKE', "%$search%")
+ ->limit(15)
+ ->get();
+ }
+ return response()->json($data);
+ }
+
+ public function cariKabupaten(Request $request, String $provId)
+ {
+ $data = [];
+ if ($request->has('q')) {
+ $search = $request->q;
+ $data = Kabupatens::selectRaw('nama as name, id')
+ ->where('nama', 'LIKE', "%$search%")
+ ->where('provinsi_id', $provId)
+ ->limit(15)
+ ->get();
+ }
+ return response()->json($data);
+ }
+
+ public function cariKecamatan(Request $request, String $kabId)
+ {
+ $data = [];
+ if ($request->has('q')) {
+ $search = $request->q;
+ $data = Kecamatans::selectRaw('nama as name, id')
+ ->where('nama', 'LIKE', "%$search%")
+ ->where('kabupaten_id', $kabId)
+ ->limit(15)
+ ->get();
+ }
+ return response()->json($data);
+ }
+
+ public function cariKelurahan(Request $request, String $kecId)
+ {
+ $data = [];
+ if ($request->has('q')) {
+ $search = $request->q;
+ $data = Kelurahans::selectRaw('nama as name, id')
+ ->where('nama', 'LIKE', "%$search%")
+ ->where('kecamatan_id', $kecId)
+ ->limit(15)
+ ->get();
+ }
+ return response()->json($data);
+ }
+
/**
* Remove the specified resource from storage.
*/
diff --git a/app/Http/Controllers/Admins/Users/UserController.php b/app/Http/Controllers/Admins/Users/UserController.php
index 99cc66b..89fe18e 100755
--- a/app/Http/Controllers/Admins/Users/UserController.php
+++ b/app/Http/Controllers/Admins/Users/UserController.php
@@ -9,6 +9,7 @@ use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Redirect;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Validator;
+use Illuminate\Validation\Rule;
use Spatie\Permission\Models\Role;
class UserController extends Controller
@@ -110,9 +111,16 @@ class UserController extends Controller
*/
public function update(Request $request, string $id)
{
+
+ $userId = User::findOrFail($id);
// validation
$rules = array(
- 'nik' => 'required|unique:users|min:16|max:16',
+ 'nik' => [
+ 'required',
+ 'min:16',
+ 'max:16',
+ Rule::unique('users')->ignore($userId),
+ ],
'name' => 'required|min:5',
'password' => 'required|min:8',
'gender' => 'required',
@@ -148,7 +156,9 @@ class UserController extends Controller
]);
// Update role for user
- $user->removeRole($user->roles[0]->name);
+ if (isset($user->roles[0])) {
+ $user->removeRole($user->roles[0]->name);
+ }
$user->assignRole($request->role);
// Create Session message
diff --git a/resources/views/pages/admins/surveys/preview-admin.blade.php b/resources/views/pages/admins/surveys/preview-admin.blade.php
index cd7b172..71f3e65 100755
--- a/resources/views/pages/admins/surveys/preview-admin.blade.php
+++ b/resources/views/pages/admins/surveys/preview-admin.blade.php
@@ -98,6 +98,180 @@
+ @elseif (
+ $questionSurveys->type == 'Master' &&
+ json_decode($questionSurveys->questionDetails->question_value)[0] == 'Alamats')
+
+
+ @php
+ // $master = 'App\Models\Master\\' . json_decode($questionSurveys->questionDetails->question_value)[0];
+ $master = json_decode(
+ $questionSurveys->questionDetails->question_value,
+ )[0];
+ $prov_unique_id =
+ 'question-' . $questionSurveys->id . '-answer-provinsi';
+ @endphp
+
+
+
+ @php
+ // $master = 'App\Models\Master\\' . json_decode($questionSurveys->questionDetails->question_value)[0];
+ $master = json_decode(
+ $questionSurveys->questionDetails->question_value,
+ )[0];
+ $kab_unique_id =
+ 'question-' . $questionSurveys->id . '-answer-kabupaten';
+ @endphp
+
+
+
+ @php
+ // $master = 'App\Models\Master\\' . json_decode($questionSurveys->questionDetails->question_value)[0];
+ $master = json_decode(
+ $questionSurveys->questionDetails->question_value,
+ )[0];
+ $kec_unique_id =
+ 'question-' . $questionSurveys->id . '-answer-kecamatan';
+ @endphp
+
+
+
+ @php
+ // $master = 'App\Models\Master\\' . json_decode($questionSurveys->questionDetails->question_value)[0];
+ $master = json_decode(
+ $questionSurveys->questionDetails->question_value,
+ )[0];
+ $kel_unique_id =
+ 'question-' . $questionSurveys->id . '-answer-kelurahan';
+ @endphp
+
+
+
+
@elseif ($questionSurveys->type == 'Master')
@php
diff --git a/resources/views/pages/admins/surveys/preview-user.blade.php b/resources/views/pages/admins/surveys/preview-user.blade.php
index 5618314..0373eb7 100755
--- a/resources/views/pages/admins/surveys/preview-user.blade.php
+++ b/resources/views/pages/admins/surveys/preview-user.blade.php
@@ -81,6 +81,180 @@
+ @elseif (
+ $questionSurveys->type == 'Master' &&
+ json_decode($questionSurveys->questionDetails->question_value)[0] == 'Alamats')
+
+
+ @php
+ // $master = 'App\Models\Master\\' . json_decode($questionSurveys->questionDetails->question_value)[0];
+ $master = json_decode(
+ $questionSurveys->questionDetails->question_value,
+ )[0];
+ $prov_unique_id =
+ 'question-' . $questionSurveys->id . '-answer-provinsi';
+ @endphp
+
+
+
+ @php
+ // $master = 'App\Models\Master\\' . json_decode($questionSurveys->questionDetails->question_value)[0];
+ $master = json_decode(
+ $questionSurveys->questionDetails->question_value,
+ )[0];
+ $kab_unique_id =
+ 'question-' . $questionSurveys->id . '-answer-kabupaten';
+ @endphp
+
+
+
+ @php
+ // $master = 'App\Models\Master\\' . json_decode($questionSurveys->questionDetails->question_value)[0];
+ $master = json_decode(
+ $questionSurveys->questionDetails->question_value,
+ )[0];
+ $kec_unique_id =
+ 'question-' . $questionSurveys->id . '-answer-kecamatan';
+ @endphp
+
+
+
+ @php
+ // $master = 'App\Models\Master\\' . json_decode($questionSurveys->questionDetails->question_value)[0];
+ $master = json_decode(
+ $questionSurveys->questionDetails->question_value,
+ )[0];
+ $kel_unique_id =
+ 'question-' . $questionSurveys->id . '-answer-kelurahan';
+ @endphp
+
+
+
+
@elseif ($questionSurveys->type == 'Master')
@php
diff --git a/resources/views/pages/admins/users/edit.blade.php b/resources/views/pages/admins/users/edit.blade.php
index 1885549..f376c23 100755
--- a/resources/views/pages/admins/users/edit.blade.php
+++ b/resources/views/pages/admins/users/edit.blade.php
@@ -54,7 +54,8 @@
@forelse ($roles as $role)
@empty
diff --git a/routes/web.php b/routes/web.php
index 3d24f5e..76d1166 100755
--- a/routes/web.php
+++ b/routes/web.php
@@ -112,9 +112,15 @@ Route::group(['prefix' => 'admin', 'middleware' => ['role:Admin|Staff|Responden'
Route::get('surveys', [SurveyController::class, 'index'])->name('admin.surveys');
Route::get('surveys/{id}', [SurveyController::class, 'show'])->name('admin.surveys');
Route::get('surveys/cari-responden/{survey_id}', [SurveyController::class, "cariResponden"])->name("admin.surveys.cari-responden");
- Route::get('surveys/cari-master/{master}', [SurveyController::class, "cariMaster"])->name("admin.surveys.cari-master");
Route::get('surveys/preview-user/{id}', [SurveyController::class, 'preview_user'])->name('admin.surveys.preview-user');
+ // Search master with ajax
+ Route::get('surveys/cari-master/{master}', [SurveyController::class, "cariMaster"])->name("admin.surveys.cari-master");
+ Route::get('surveys/cari/provinsi', [SurveyController::class, "cariProvinsi"])->name("admin.surveys.cari.provinsi");
+ Route::get('surveys/cari/kabupaten/{provId}', [SurveyController::class, "cariKabupaten"])->name("admin.surveys.cari.kabupaten");
+ Route::get('surveys/cari/kecamatan/{kabId}', [SurveyController::class, "cariKecamatan"])->name("admin.surveys.cari.kecamatan");
+ Route::get('surveys/cari/kelurahan/{kecId}', [SurveyController::class, "cariKelurahan"])->name("admin.surveys.cari.kelurahan");
+
// Surveys (Answers)
Route::post('surveys/question-answers', [SurveyController::class, 'addAnswers'])->name('admin.surveys.question-answers');
});