diff --git a/app/Http/Controllers/DataBumdesController.php b/app/Http/Controllers/DataBumdesController.php index 2d879ea..23e28a0 100644 --- a/app/Http/Controllers/DataBumdesController.php +++ b/app/Http/Controllers/DataBumdesController.php @@ -27,12 +27,12 @@ class DataBumdesController extends Controller 'jabatan' => 'required', 'instansi' => 'required', 'kabupaten' => 'required', - 'phone_number' => 'required|numeric', + 'phone_number' => 'required|string', 'pesan' => 'required', 'alamat' => 'required', 'nama_distrik' => 'required', - 'jumlah_kampung' => 'required|numeric', - 'jumlah_penduduk' => 'required|numeric', + 'jumlah_kampung' => 'required|integer', + 'jumlah_penduduk' => 'required|integer', 'pendidikan' => 'required', 'pertanian' => 'required', 'peternakan' => 'required', @@ -47,11 +47,48 @@ class DataBumdesController extends Controller 'bumdes_sudah_berbadan' => 'required', 'bumdes_belum_berbadan' => 'required', 'jenis_usaha_bumdes' => 'required', - 'jarak_tempuh_bandara' => 'required|numeric', - 'jarak_tempuh_kampung' => 'required|numeric', + 'jarak_tempuh_bandara' => 'required|string', + 'jarak_tempuh_kampung' => 'required|string', 'sharing_information' => 'required', ]; - $validator = Validator::make($request->all(), $rules); + + $messages = [ + 'nip.required' => 'Form NIP wajib diisi!', + 'nama_lengkap.required' => 'Form nama lengkap wajib diisi!', + 'pangkat.required' => 'Form pangkat wajib diisi!', + 'jabatan.required' => 'Form jabatan wajib diisi!', + 'instansi.required' => 'Form instansi wajib diisi!', + 'kabupaten.required' => 'Form kabupaten wajib diisi!', + 'phone_number.required' => 'Form nomor telepon wajib diisi!', + 'pesan.required' => 'Form pesan wajib diisi!', + 'alamat.required' => 'Form alamat wajib diisi!', + 'nama_distrik.required' => 'Form nama distrik wajib diisi!', + 'jumlah_kampung.required' => 'Form jumlah kampung wajib diisi!', + 'jumlah_penduduk.required' => 'Form jumlah penduduk wajib diisi!', + 'pendidikan.required' => 'Form pendidikan wajib diisi!', + 'pertanian.required' => 'Form pertanian wajib diisi!', + 'peternakan.required' => 'Form pertenakan wajib diisi!', + 'perikanan.required' => 'Form perikanan wajib diisi!', + 'perkebunan.required' => 'Form perkebunan wajib diisi!', + 'kehutanan.required' => 'Form kehutanan wajib diisi!', + 'lain_lain.required' => 'Form lain-lain wajib diisi!', + 'potensi_aset.required' => 'Form ppotensi aset wajib diisi!', + 'kelembagaan_adat.required' => 'Form kelembagaan adat wajib diisi!', + 'kelembagaan_sosial.required' => 'Form kelembagaan sosial wajib diisi!', + 'bumdes_sudah_berbadan.required' => 'Form bumdes sudah berbadan wajib diisi!', + 'bumdes_belum_berbadan.required' => 'Form bumdes belum berbadan wajib diisi!', + 'jenis_usaha_bumdes.required' => 'Form jenis usaha bumdes wajib diisi!', + 'jarak_tempuh_bandara.required' => 'Form jarak tempuh bandara wajib diisi!', + 'jarak_tempuh_kampung.required' => 'Form jarak tempuh kampung wajib diisi!', + 'jenis_pelatihan.required' => 'Form jenis pelatihan wajib diisi!', + 'kampung_binaan.required' => 'Form kampung binaan wajib diisi!', + 'sharing_information.required' => 'Form sharing information wajib diisi!', + 'nip.integer' => 'Form NIP harus diisi dengan angka!', + 'jumlah_kampung.integer' => 'Form jumlah kampung harus diisi dengan angka!', + 'jumlah_penduduk.integer' => 'Form jumlah penduduk harus diisi dengan angka!' + ]; + + $validator = Validator::make($request->all(), $rules, $messages); // Check if validation fails if ($validator->fails()) { diff --git a/app/Http/Controllers/DataClatransController.php b/app/Http/Controllers/DataClatransController.php index 69ae0a9..d7dd274 100644 --- a/app/Http/Controllers/DataClatransController.php +++ b/app/Http/Controllers/DataClatransController.php @@ -25,12 +25,12 @@ class DataClatransController extends Controller 'jabatan' => 'required', 'instansi' => 'required', 'kabupaten' => 'required', - 'phone_number' => 'required|numeric', + 'phone_number' => 'required|string', 'pesan' => 'required', 'alamat' => 'required', 'nama_distrik' => 'required', - 'jumlah_kampung' => 'required|numeric', - 'jumlah_penduduk' => 'required|numeric', + 'jumlah_kampung' => 'required|integer', + 'jumlah_penduduk' => 'required|integer', 'pendidikan' => 'required', 'pertanian' => 'required', 'peternakan' => 'required', @@ -43,13 +43,49 @@ class DataClatransController extends Controller 'no_sk_caltrans' => 'required', 'tgl_sk_caltrans' => 'required', 'penandatangan_sk_caltrans' => 'required', - 'jarak_tempuh_bandara' => 'required|numeric', - 'jarak_tempuh_kampung' => 'required|numeric', + 'jarak_tempuh_bandara' => 'required|string', + 'jarak_tempuh_kampung' => 'required|string', 'kampung_binaan' => 'required', 'jenis_pelatihan' => 'required', 'sharing_information' => 'required', ]; - $validator = Validator::make($request->all(), $rules); + + $messages = [ + 'nip.required' => 'Form NIP wajib diisi!', + 'nama_lengkap.required' => 'Form nama lengkap wajib diisi!', + 'pangkat.required' => 'Form pangkat wajib diisi!', + 'jabatan.required' => 'Form jabatan wajib diisi!', + 'instansi.required' => 'Form instansi wajib diisi!', + 'kabupaten.required' => 'Form kabupaten wajib diisi!', + 'phone_number.required' => 'Form nomor telepon wajib diisi!', + 'pesan.required' => 'Form pesan wajib diisi!', + 'alamat.required' => 'Form alamat wajib diisi!', + 'nama_distrik.required' => 'Form nama distrik wajib diisi!', + 'jumlah_kampung.required' => 'Form jumlah kampung wajib diisi!', + 'jumlah_penduduk.required' => 'Form jumlah penduduk wajib diisi!', + 'pendidikan.required' => 'Form pendidikan wajib diisi!', + 'pertanian.required' => 'Form pertanian wajib diisi!', + 'peternakan.required' => 'Form pertenakan wajib diisi!', + 'perikanan.required' => 'Form perikanan wajib diisi!', + 'perkebunan.required' => 'Form perkebunan wajib diisi!', + 'kehutanan.required' => 'Form kehutanan wajib diisi!', + 'lain_lain.required' => 'Form lain-lain wajib diisi!', + 'kelembagaan_adat.required' => 'Form kelembagaan adat wajib diisi!', + 'kelembagaan_sosial.required' => 'Form kelembagaan sosial wajib diisi!', + 'no_sk_caltrans.required' => 'Form no. SK CALTRANS wajib diisi!', + 'tgl_sk_caltrans.required' => 'Form tanggal SK CALTRANS wajib diisi!', + 'penandatangan_sk_caltrans.required' => 'Form penandatangan SK CALTRANS wajib diisi!', + 'jarak_tempuh_bandara.required' => 'Form jarak tempuh bandara wajib diisi!', + 'jarak_tempuh_kampung.required' => 'Form jarak tempuh kampung wajib diisi!', + 'jenis_pelatihan.required' => 'Form jenis pelatihan wajib diisi!', + 'kampung_binaan.required' => 'Form kampung binaan wajib diisi!', + 'sharing_information.required' => 'Form sharing information wajib diisi!', + 'nip.integer' => 'Form NIP harus diisi dengan angka!', + 'jumlah_kampung.integer' => 'Form jumlah kampung harus diisi dengan angka!', + 'jumlah_penduduk.integer' => 'Form jumlah penduduk harus diisi dengan angka!' + ]; + + $validator = Validator::make($request->all(), $rules, $messages); // Check if validation fails if ($validator->fails()) { diff --git a/app/Http/Controllers/DataDeswitaController.php b/app/Http/Controllers/DataDeswitaController.php index 786abb8..702c8ed 100644 --- a/app/Http/Controllers/DataDeswitaController.php +++ b/app/Http/Controllers/DataDeswitaController.php @@ -25,25 +25,56 @@ class DataDeswitaController extends Controller 'jabatan' => 'required', 'instansi' => 'required', 'kabupaten' => 'required', - 'phone_number' => 'required|numeric', + 'phone_number' => 'required|string', 'pesan' => 'required', 'alamat' => 'required', 'nama_distrik' => 'required', - 'jumlah_kampung' => 'required|numeric', - 'jumlah_penduduk' => 'required|numeric', + 'jumlah_kampung' => 'required|integer', + 'jumlah_penduduk' => 'required|integer', 'pendidikan' => 'required', 'atraksi' => 'required', 'amenitas' => 'required', 'aksesibilitas' => 'required', 'kelembagaan' => 'required', - 'jumlah_pokdarwis' => 'required|numeric', - 'jarak_tempuh_bandara' => 'required|numeric', - 'jarak_tempuh_kampung' => 'required|numeric', + 'jumlah_pokdarwis' => 'required|integer', + 'jarak_tempuh_bandara' => 'required|string', + 'jarak_tempuh_kampung' => 'required|string', 'jenis_pelatihan' => 'required', 'kampung_binaan' => 'required', 'sharing_information' => 'required', ]; - $validator = Validator::make($request->all(), $rules); + + $messages = [ + 'nip.required' => 'Form NIP wajib diisi!', + 'nama_lengkap.required' => 'Form nama lengkap wajib diisi!', + 'pangkat.required' => 'Form pangkat wajib diisi!', + 'jabatan.required' => 'Form jabatan wajib diisi!', + 'instansi.required' => 'Form instansi wajib diisi!', + 'kabupaten.required' => 'Form kabupaten wajib diisi!', + 'phone_number.required' => 'Form nomor telepon wajib diisi!', + 'pesan.required' => 'Form pesan wajib diisi!', + 'alamat.required' => 'Form alamat wajib diisi!', + 'nama_distrik.required' => 'Form nama distrik wajib diisi!', + 'jumlah_kampung.required' => 'Form jumlah kampung wajib diisi!', + 'jumlah_penduduk.required' => 'Form jumlah penduduk wajib diisi!', + 'pendidikan.required' => 'Form pendidikan wajib diisi!', + 'atraksi.required' => 'Form atraksi wajib diisi!', + 'amenitas.required' => 'Form amenitas wajib diisi!', + 'aksesibilitas.required' => 'Form aksesibilitas wajib diisi!', + 'kelembagaan.required' => 'Form kelembagaan wajib diisi!', + 'jumlah_pokdarwis.required' => 'Form jumlah pokdarwis wajib diisi!', + 'jarak_tempuh_bandara.required' => 'Form jarak tempuh bandara wajib diisi!', + 'jarak_tempuh_kampung.required' => 'Form jarak tempuh kampung wajib diisi!', + 'jenis_pelatihan.required' => 'Form jenis pelatihan wajib diisi!', + 'kampung_binaan.required' => 'Form kampung binaan wajib diisi!', + 'sharing_information.required' => 'Form sharing information wajib diisi!', + 'nip.integer' => 'Form NIP harus diisi dengan angka!', + 'jumlah_pokdarwis.integer' => 'Form jumlah POKDARWIS harus diisi dengan angka!', + 'jumlah_kampung.integer' => 'Form jumlah kampung harus diisi dengan angka!', + 'jumlah_penduduk.integer' => 'Form jumlah penduduk harus diisi dengan angka!' + ]; + + $validator = Validator::make($request->all(), $rules, $messages); // Check if validation fails if ($validator->fails()) { diff --git a/app/Http/Controllers/DataKpmdController.php b/app/Http/Controllers/DataKpmdController.php index e62df4b..1468606 100644 --- a/app/Http/Controllers/DataKpmdController.php +++ b/app/Http/Controllers/DataKpmdController.php @@ -10,6 +10,8 @@ use App\Models\data_pribadi_kpmd; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Validator; +use App\Http\Controllers\Hash; +use Illuminate\Support\Facades\Hash as FacadesHash; class DataKpmdController extends Controller { @@ -40,20 +42,54 @@ class DataKpmdController extends Controller 'lain_lain' => 'required|string', 'kelembagaan_adat' => 'required|string', 'kelembagaan_sosial' => 'required|string', - 'jarak_tempuh_bandara' => 'required|numeric', - 'jarak_tempuh_kampung' => 'required|numeric', + 'jarak_tempuh_bandara' => 'required|string', + 'jarak_tempuh_kampung' => 'required|string', 'jenis_pelatihan' => 'required|string', 'kampung_binaan' => 'required|string', 'sharing_information' => 'required|string', ]; + $messages = [ + 'nip.required' => 'Form NIP wajib diisi!', + 'nama_lengkap.required' => 'Form nama lengkap wajib diisi!', + 'pangkat.required' => 'Form pangkat wajib diisi!', + 'jabatan.required' => 'Form jabatan wajib diisi!', + 'instansi.required' => 'Form instansi wajib diisi!', + 'kabupaten.required' => 'Form kabupaten wajib diisi!', + 'phone_number.required' => 'Form nomor telepon wajib diisi!', + 'pesan.required' => 'Form pesan wajib diisi!', + 'alamat.required' => 'Form alamat wajib diisi!', + 'nama_distrik.required' => 'Form nama distrik wajib diisi!', + 'jumlah_kampung.required' => 'Form jumlah kampung wajib diisi!', + 'jumlah_penduduk.required' => 'Form jumlah penduduk wajib diisi!', + 'pendidikan.required' => 'Form pendidikan wajib diisi!', + 'pertanian.required' => 'Form pertanian wajib diisi!', + 'peternakan.required' => 'Form pertenakan wajib diisi!', + 'perikanan.required' => 'Form perikanan wajib diisi!', + 'perkebunan.required' => 'Form perkebunan wajib diisi!', + 'kehutanan.required' => 'Form kehutanan wajib diisi!', + 'lain_lain.required' => 'Form lain-lain wajib diisi!', + 'kelembagaan_adat.required' => 'Form kelembagaan adat wajib diisi!', + 'kelembagaan_sosial.required' => 'Form kelembagaan sosial wajib diisi!', + 'jarak_tempuh_bandara.required' => 'Form jarak tempuh bandara wajib diisi!', + 'jarak_tempuh_kampung.required' => 'Form jarak tempuh kampung wajib diisi!', + 'jenis_pelatihan.required' => 'Form jenis pelatihan wajib diisi!', + 'kampung_binaan.required' => 'Form kampung binaan wajib diisi!', + 'sharing_information.required' => 'Form sharing information wajib diisi!', + 'nip.integer' => 'Form NIP harus diisi dengan angka!', + 'jumlah_kampung.integer' => 'Form jumlah kampung harus diisi dengan angka!', + 'jumlah_penduduk.integer' => 'Form jumlah penduduk harus diisi dengan angka!' + ]; + // Validate the request data - $validator = Validator::make($request->all(), $rules); + $validator = Validator::make($request->all(), $rules, $messages); // Check if validation fails if ($validator->fails()) { return response()->json(['input_data_gagal' => $validator->errors()], 400); } + + // else{ // return response()->json(['message' => 'Data validation successful']); // } @@ -149,6 +185,7 @@ class DataKpmdController extends Controller // } + /** * Show the form for creating a new resource. */ @@ -162,7 +199,8 @@ class DataKpmdController extends Controller */ public function store(Storedata_kpmdRequest $request) { - // + // try { + } /** diff --git a/app/Http/Controllers/DataPribadiBumdesController.php b/app/Http/Controllers/DataPribadiBumdesController.php index 0d3e287..0f92910 100644 --- a/app/Http/Controllers/DataPribadiBumdesController.php +++ b/app/Http/Controllers/DataPribadiBumdesController.php @@ -52,6 +52,7 @@ class DataPribadiBumdesController extends Controller 'pesan' => 'required', 'alamat' => 'required' ]); + data_pribadi_bumdes::create($validateData); return redirect('/data-distrik-bumdes'); } diff --git a/app/Http/Controllers/DataPribadiKpmdController.php b/app/Http/Controllers/DataPribadiKpmdController.php index bd610a0..d95cf39 100644 --- a/app/Http/Controllers/DataPribadiKpmdController.php +++ b/app/Http/Controllers/DataPribadiKpmdController.php @@ -52,6 +52,7 @@ class DataPribadiKpmdController extends Controller 'pesan' => 'required', 'alamat' => 'required' ]); + data_pribadi_kpmd::create($validateData); return redirect('/data-distrik-kpmd'); } diff --git a/app/Http/Controllers/ManajemenAdminController.php b/app/Http/Controllers/ManajemenAdminController.php index 1a067ec..4423f99 100644 --- a/app/Http/Controllers/ManajemenAdminController.php +++ b/app/Http/Controllers/ManajemenAdminController.php @@ -66,16 +66,18 @@ class ManajemenAdminController extends Controller */ public function update(Updatemanajemen_adminRequest $request, manajemen_admin $manajemen_admin) { - $validatedData = $request->validate([ - 'email' => 'required', - 'name' => 'required', - 'password' => 'required', - ]); + $validatedData = $request->validated(); dd($validatedData); - User::WHERE('id', $manajemen_admin->id)->update($validatedData); + $manajemen_admin->update([ + 'email' => $validatedData['email'], + 'name' => $validatedData['name'], + 'password' => bcrypt($validatedData['password']), + ]); + return redirect('/super-admin')->with('pesan', 'Data berhasil diubah'); } + /** * Remove the specified resource from storage. */ diff --git a/app/Http/Requests/Updatemanajemen_adminRequest.php b/app/Http/Requests/Updatemanajemen_adminRequest.php index 93c5cad..f2b5314 100644 --- a/app/Http/Requests/Updatemanajemen_adminRequest.php +++ b/app/Http/Requests/Updatemanajemen_adminRequest.php @@ -11,7 +11,7 @@ class Updatemanajemen_adminRequest extends FormRequest */ public function authorize(): bool { - return false; + return true; } /** diff --git a/public/assets-login-landing/img/login_bg.png b/public/assets-login-landing/img/login_bg.png new file mode 100644 index 0000000..aa91f21 Binary files /dev/null and b/public/assets-login-landing/img/login_bg.png differ diff --git a/public/assets-login-landing/img/logo.png b/public/assets-login-landing/img/logo.png new file mode 100644 index 0000000..76ea013 Binary files /dev/null and b/public/assets-login-landing/img/logo.png differ diff --git a/public/images/kemendesa-logo.png b/public/images/kemendesa-logo.png new file mode 100644 index 0000000..9a7bdc4 Binary files /dev/null and b/public/images/kemendesa-logo.png differ diff --git a/resources/views/Admin/Manejemen-Admin/edit.blade.php b/resources/views/Admin/Manejemen-Admin/edit.blade.php index 8ed1c8d..1601f17 100644 --- a/resources/views/Admin/Manejemen-Admin/edit.blade.php +++ b/resources/views/Admin/Manejemen-Admin/edit.blade.php @@ -1,8 +1,7 @@ - <div class="row"> + {{-- <div class="row"> <div class="col-12"> <form method="POST" action="/super-admin/{{ $manajemen_admin->id }}"> - {{-- @method('PUT') --}} @csrf <div class="card-body"> <div class="form-group"> @@ -39,4 +38,57 @@ </div> </form> </div> - </div> + </div> --}} + + + <!-- Long Content Scroll Modal --> + <div class="modal fade" id="modal-edit" tabindex="-1" role="dialog" aria-labelledby="scrollableModalTitle" + aria-hidden="true"> + <div class="modal-dialog modal-dialog-scrollable" role="document"> + <div class="modal-content"> + <div class="modal-header"> + <h5 class="modal-title" id="scrollableModalTitle">Edit Data Admin</h5> + <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> + </div> + <div class="modal-body"> + <div class="row"> + <div class="col-12"> + <form method="POST" action="/super-admin/{{ $manajemenadmin->id }}"> + @csrf + <div class="card-body"> + <div class="form-group"> + <label>Email</label> + <input type="email" class="form-control" name="email" + value="{{ old('email', $manajemenadmin->email) }}" required> + @error('email') + <p class="text text-danger"> + {{ $message }}</p> + @enderror + </div> + <div class="form-group"> + <label>Name</label> + <input type="text" class="form-control" name="name" + value="{{ old('name', $manajemenadmin->name) }}" required> + </div> + {{-- <div class="form-group"> + <label>Password</label> + <input type="password" class="form-control" name="password" + value="{{ old('password', $manajemenadmin->password) }}" required> + @error('password') + <p class="text text-danger"> + {{ $message }}</p> + @enderror + </div> --}} + </div> + <div class="d-flex justify-content-end mb-3"> + <button type="button" class="btn btn-light me-1" + data-bs-dismiss="modal">Close</button> + <button type="submit" class="btn btn-success" id="btn-save-event">Save</button> + </div> + </form> + </div> + </div> + </div> + </div><!-- /.modal-content --> + </div><!-- /.modal-dialog --> + </div><!-- /.modal --> diff --git a/resources/views/Admin/Manejemen-Admin/index.blade.php b/resources/views/Admin/Manejemen-Admin/index.blade.php index a4d4a8d..76e27fa 100644 --- a/resources/views/Admin/Manejemen-Admin/index.blade.php +++ b/resources/views/Admin/Manejemen-Admin/index.blade.php @@ -55,10 +55,12 @@ <form action="{{ url('super-admin/' . $manajemenadmin->id . '/edit') }}" method="GET" class="d-inline"> - <button type="submit" class="action-icon edit-button"> + <button type="button" class="action-icon edit-button" + data-bs-toggle="modal" data-bs-target="#modal-edit"> <i class="mdi mdi-square-edit-outline"></i> </button> </form> + <form action="{{ url('super-admin/' . $manajemenadmin->id) }}" method="POST" class="d-inline"> @method('DELETE') @@ -85,6 +87,6 @@ <!-- end row--> </div> </div> - + @include('Admin.Manejemen-Admin.edit') @include('Admin.Manejemen-Admin.create') @endsection diff --git a/resources/views/Admin/layout/sidebar.blade.php b/resources/views/Admin/layout/sidebar.blade.php index edf1cac..bb635e7 100644 --- a/resources/views/Admin/layout/sidebar.blade.php +++ b/resources/views/Admin/layout/sidebar.blade.php @@ -4,10 +4,10 @@ <!-- LOGO --> <a href="index.html" class="logo text-center logo-light"> <span class="logo-lg"> - <img src="/assets-login-landing/img/Kemendes_Logo.png" alt="" height="60px"> + <img src="/assets-login-landing/img/logo.png" alt="" height="80px"> </span> <span class="logo-sm"> - <img src="/assets-login-landing/img/Kemendes_Logo.png" alt="" height="16"> + <img src="/assets-login-landing/img/logo.png" alt="" height="16"> </span> </a> @@ -41,12 +41,12 @@ <span> Manajemen Admin </span> </a> </li> - <li class="side-nav-item"> + {{-- <li class="side-nav-item"> <a href="/home" class="side-nav-link"> <i class="uil-store"></i> <span> Landing Page </span> </a> - </li> + </li> --}} {{-- <li class="side-nav-item"> <a data-bs-toggle="collapse" href="#sidebarEcommerce" aria-expanded="false" aria-controls="sidebarEcommerce" class="side-nav-link"> diff --git a/resources/views/BumDes/index.blade.php b/resources/views/BumDes/index.blade.php index 8c4fa6f..348d952 100644 --- a/resources/views/BumDes/index.blade.php +++ b/resources/views/BumDes/index.blade.php @@ -1109,6 +1109,32 @@ // $(this).next('.invalid-feedback').hide(); } }); + var nipInput = current_fs.find('input[name="nip"]'); + if (nipInput.val() !== "" && nipInput.val() != undefined) { + // Check if NIP is a valid integer + if (!Number.isInteger(Number(nipInput.val()))) { + nipInput.addClass("is-invalid"); + nipInput.parent().find(".invalid-feedback").text("NIP harus diisi dengan angka!").show(); + console.log("masuk booleas") + allFieldsFilled = false; + } else { + nipInput.removeClass("is-invalid"); + nipInput.parent().find(".invalid-feedback").hide(); + } + } + var phoneNumberInput = current_fs.find('input[name="phone_number"]'); + if (phoneNumberInput.val() !== "" && nipInput.val() != undefined) { + var phoneNumberRegex = /^\d{10,}$/; // Example regex for a 10-digit phone number + if (!phoneNumberRegex.test(phoneNumberInput.val())) { + phoneNumberInput.addClass("is-invalid"); + phoneNumberInput.parent().find(".invalid-feedback").text("Format no. HP salah!") + .show(); + allFieldsFilled = false; + } else { + phoneNumberInput.removeClass("is-invalid"); + phoneNumberInput.parent().find(".invalid-feedback").hide(); + } + } if (allFieldsFilled) { // All required fields are filled, proceed to the next step if ($(this).attr("value") === "Submit") { diff --git a/resources/views/CalTrans/index.blade.php b/resources/views/CalTrans/index.blade.php index 35e5086..4d8d49d 100644 --- a/resources/views/CalTrans/index.blade.php +++ b/resources/views/CalTrans/index.blade.php @@ -1126,6 +1126,32 @@ // $(this).next('.invalid-feedback').hide(); } }); + var nipInput = current_fs.find('input[name="nip"]'); + if (nipInput.val() !== "" && nipInput.val() != undefined) { + // Check if NIP is a valid integer + if (!Number.isInteger(Number(nipInput.val()))) { + nipInput.addClass("is-invalid"); + nipInput.parent().find(".invalid-feedback").text("NIP harus diisi dengan angka!").show(); + console.log("masuk booleas") + allFieldsFilled = false; + } else { + nipInput.removeClass("is-invalid"); + nipInput.parent().find(".invalid-feedback").hide(); + } + } + var phoneNumberInput = current_fs.find('input[name="phone_number"]'); + if (phoneNumberInput.val() !== "" && nipInput.val() != undefined) { + var phoneNumberRegex = /^\d{10,}$/; // Example regex for a 10-digit phone number + if (!phoneNumberRegex.test(phoneNumberInput.val())) { + phoneNumberInput.addClass("is-invalid"); + phoneNumberInput.parent().find(".invalid-feedback").text("Format no. HP salah!") + .show(); + allFieldsFilled = false; + } else { + phoneNumberInput.removeClass("is-invalid"); + phoneNumberInput.parent().find(".invalid-feedback").hide(); + } + } if (allFieldsFilled) { // All required fields are filled, proceed to the next step if ($(this).attr("value") === "Submit") { diff --git a/resources/views/DesWita/index.blade.php b/resources/views/DesWita/index.blade.php index f72c1ff..3dc294d 100644 --- a/resources/views/DesWita/index.blade.php +++ b/resources/views/DesWita/index.blade.php @@ -1006,7 +1006,6 @@ 'input[required], select[required], textarea[required]'); var allFieldsFilled = true; requiredFields.each(function() { - coba = this; if ($(this).val() === "") { allFieldsFilled = false; $(this).addClass("is-invalid"); @@ -1020,6 +1019,35 @@ // $(this).next('.invalid-feedback').hide(); } }); + + + var nipInput = current_fs.find('input[name="nip"]'); + if (nipInput.val() !== "" && nipInput.val() != undefined) { + // Check if NIP is a valid integer + if (!Number.isInteger(Number(nipInput.val()))) { + nipInput.addClass("is-invalid"); + nipInput.parent().find(".invalid-feedback").text("NIP harus diisi dengan angka!").show(); + console.log("masuk booleas") + allFieldsFilled = false; + } else { + nipInput.removeClass("is-invalid"); + nipInput.parent().find(".invalid-feedback").hide(); + } + } + var phoneNumberInput = current_fs.find('input[name="phone_number"]'); + if (phoneNumberInput.val() !== "" && nipInput.val() != undefined) { + var phoneNumberRegex = /^\d{10,}$/; // Example regex for a 10-digit phone number + if (!phoneNumberRegex.test(phoneNumberInput.val())) { + phoneNumberInput.addClass("is-invalid"); + phoneNumberInput.parent().find(".invalid-feedback").text("Format no. HP salah!") + .show(); + allFieldsFilled = false; + } else { + phoneNumberInput.removeClass("is-invalid"); + phoneNumberInput.parent().find(".invalid-feedback").hide(); + } + } + if (allFieldsFilled) { // All required fields are filled, proceed to the next step if ($(this).attr("value") === "Submit") { diff --git a/resources/views/KPMD/index.blade.php b/resources/views/KPMD/index.blade.php index 5fcd923..803c464 100644 --- a/resources/views/KPMD/index.blade.php +++ b/resources/views/KPMD/index.blade.php @@ -340,6 +340,9 @@ <div class="container-fluid"> <div class="row justify-content-center"> <div class="col-11 col-sm-9 col-md-7 col-lg-9 text-center p-0 mt-3 mb-2"> + <div class="mt-5"> + <img src="{{ asset('images/kemendesa-logo.png') }}" alt="" style="width: 120px;"> + </div> <div class="card px-0 pt-4 pb-0 mt-3 mb-3"> <h2 id="heading">Form Pelatihan Kader Pemberdayaan Masyarakat Kampung</h2> <p>Fill all form field to go to next step @@ -851,7 +854,6 @@ 'input[required], select[required], textarea[required]'); var allFieldsFilled = true; requiredFields.each(function() { - coba = this; if ($(this).val() === "") { allFieldsFilled = false; $(this).addClass("is-invalid"); @@ -865,6 +867,34 @@ // $(this).next('.invalid-feedback').hide(); } }); + + + var nipInput = current_fs.find('input[name="nip"]'); + if (nipInput.val() !== "" && nipInput.val() != undefined) { + // Check if NIP is a valid integer + if (!Number.isInteger(Number(nipInput.val()))) { + nipInput.addClass("is-invalid"); + nipInput.parent().find(".invalid-feedback").text("NIP harus diisi dengan angka!").show(); + console.log("masuk booleas") + allFieldsFilled = false; + } else { + nipInput.removeClass("is-invalid"); + nipInput.parent().find(".invalid-feedback").hide(); + } + } + var phoneNumberInput = current_fs.find('input[name="phone_number"]'); + if (phoneNumberInput.val() !== "" && nipInput.val() != undefined) { + var phoneNumberRegex = /^\d{10,}$/; // Example regex for a 10-digit phone number + if (!phoneNumberRegex.test(phoneNumberInput.val())) { + phoneNumberInput.addClass("is-invalid"); + phoneNumberInput.parent().find(".invalid-feedback").text("Format no. HP salah!") + .show(); + allFieldsFilled = false; + } else { + phoneNumberInput.removeClass("is-invalid"); + phoneNumberInput.parent().find(".invalid-feedback").hide(); + } + } if (allFieldsFilled) { // All required fields are filled, proceed to the next step if ($(this).attr("value") === "Submit") { @@ -970,18 +1000,26 @@ dataType: "JSON", error: function(response) { let res = response.responseJSON - const entries = Object.entries(res.input_data_gagal); + coba = response let html = "" - entries.forEach(([key, value]) => { - html += `<li>${value}</li>` - }); + if (response.status == 500) { + html += `<li>${res.message}</li>` + } else { + const entries = Object.entries(res.input_data_gagal); + entries.forEach(([key, value]) => { + html += `<li>${value}</li>` + }); + } + $("#showerrors").html(html) $("#showerrors").show() window.location.href = "#showerrors" return false } }); + return true } else { + console.log("aaaaaaaaaaaaa") // Add Class Active $("#progressbar li").eq($("fieldset").index(next_fs)).addClass("active"); // Show the next fieldset @@ -1004,10 +1042,13 @@ duration: 500 }); setProgressBar(++current); + return false } } else { + console.log("wopasod") $('html, body').animate({ scrollTop: requiredFields.filter(function() { + console.log($(this).val()) return $(this).val() === ""; }).first().offset().top }, 500); diff --git a/resources/views/layout/index.blade.php b/resources/views/layout/index.blade.php index 382f7ad..fd021c4 100644 --- a/resources/views/layout/index.blade.php +++ b/resources/views/layout/index.blade.php @@ -102,7 +102,6 @@ </div> </a> </div> - <div class="col-md-6 col-lg-3 d-flex align-items-stretch mb-5 mb-lg-0" data-aos="zoom-in" data-aos-delay="300"> <a href="/caltrans"> @@ -117,7 +116,6 @@ </div> </a> </div> - </div> </div> diff --git a/resources/views/login/index.blade.php b/resources/views/login/index.blade.php index d12c4e7..0963080 100644 --- a/resources/views/login/index.blade.php +++ b/resources/views/login/index.blade.php @@ -1,4 +1,87 @@ {{-- <!DOCTYPE html> +<html> + +<head> + <title>KEMENDESA | PELAYANAN PELATIHAN</title> + <link href="assets-login-landing/img/Kemendes_Logo.png" rel="icon"> + + <!-- Favicons --> + <link rel="stylesheet" type="text/css" href="assets-login/css/style.css"> + + <!-- Google Fonts --> + <link + href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i|Poppins:300,300i,400,400i,600,600i,700,700i" + rel="stylesheet"> + <script src="https://kit.fontawesome.com/a81368914c.js"></script> + + <!-- Template Main CSS File --> + <link href="assets-login-landing/css/style.css" rel="stylesheet"> + + <meta name="viewport" content="width=device-width, initial-scale=1"> +</head> + +<body> + <div class="login"> + <div class="container"> + <div class="img"> + <img src="assets-login-landing/img/login.svg" class="img-fluid animated" id="moving-login-img"> + </div> + <div class="login-content"> + <form action="/login" method="POST"> + @csrf + @if (session()->has('errorLogin')) + <div class="alert alert-danger" role="alert"> + {{ session('errorLogin') }} + </div> + @endif + <h1 class="title">Selamat Datang!</h1> + <p>Silahkan Masukan Email dan Password Anda</p> + <div class="input-div one"> + <div class="i"> + <i class="fas fa-user"></i> + </div> + <div class="div"> + <h5>Email</h5> + <input type="email" class="input" name="email"> + </div> + </div> + <div class="input-div pass"> + <div class="i"> + <i class="fas fa-lock"></i> + </div> + <div class="div"> + <h5>Password</h5> + <input type="password" class="input" name="password"> + </div> + </div> + <input type="submit" class="btn" value="Login" style="color: #fff;"> + </form> + </div> + </div> + </div> + <script> + const inputs = document.querySelectorAll(".input"); + + function addcl() { + let parent = this.parentNode.parentNode; + parent.classList.add("focus"); + } + + function remcl() { + let parent = this.parentNode.parentNode; + if (this.value == "") { + parent.classList.remove("focus"); + } + } + inputs.forEach(input => { + input.addEventListener("focus", addcl); + input.addEventListener("blur", remcl); + }); + </script> +</body> + +</html> --}} +{{-- <!DOCTYPE html> <html lang="en"> <head> @@ -109,7 +192,7 @@ <link href="assets-login-landing/img/Kemendes_Logo.png" rel="icon"> <!-- Favicons --> - <link rel="stylesheet" type="text/css" href="assets-login/css/style.css"> + {{-- <link rel="stylesheet" type="text/css" href="assets-login/css/style.css"> --}} <!-- Google Fonts --> <link @@ -118,13 +201,118 @@ <script src="https://kit.fontawesome.com/a81368914c.js"></script> <!-- Template Main CSS File --> - <link href="assets-login-landing/css/style.css" rel="stylesheet"> + {{-- <link href="assets-login-landing/css/style.css" rel="stylesheet"> --}} <meta name="viewport" content="width=device-width, initial-scale=1"> + <style> + * { + padding: 0; + margin: 0; + box-sizing: border-box; + font-family: Poppins; + } + + body { + display: flex; + justify-content: center; + align-items: center; + height: 100vh; + margin: 0; + } + + .bg-img { + position: absolute; + width: 100%; + height: 100%; + object-fit: cover; + } + + .wrapper { + position: relative; + } + + .login-card { + border-radius: 10px; + background: #fff; + padding: 75px 50px 100px 50px; + width: 100%; + max-width: 400px; + box-shadow: 0 30px 60px 0 rgba(0, 0, 0, 0.3); + text-align: center; + margin: 0; + } + + .icon { + width: 40%; + margin-bottom: 10px; + } + + .title { + color: #1D2732; + text-align: center; + font-size: 1.3rem; + font-style: normal; + font-weight: 600; + line-height: normal; + margin-bottom: .5rem; + } + + .text { + color: #1D2732; + font-size: .8rem; + font-weight: 500; + margin-bottom: 1rem; + } + + + .input-login { + width: 100%; + height: 40px; + border-radius: .5rem; + border: none; + background: #F8F8F8; + padding: 10px; + margin: 5px 0; + } + + .input-login:focus { + outline: none; + border: 1px solid #d9d9d9; + } + + .btn-login { + width: 100%; + height: 40px; + border: none; + color: #fff; + border-radius: .5rem; + background: #009C98; + box-shadow: -2px 4px 4px 0px rgba(0, 0, 0, 0.10); + padding: 0; + font-weight: 600; + font-size: 11px; + transition: transform 0.3s ease; + margin-top: 20px; + } + + .btn-login:hover { + transform: translateY(-5px); + } + + .footer { + color: #1D2732; + font-size: 0.6rem; + font-style: normal; + font-weight: 400; + line-height: normal; + padding: 0; + margin: 75px 0 0 0; + } + </style> </head> <body> - <div class="login"> + {{-- <div class="login"> <div class="container"> <div class="img"> <img src="assets-login-landing/img/login.svg" class="img-fluid animated" id="moving-login-img"> @@ -180,7 +368,51 @@ input.addEventListener("focus", addcl); input.addEventListener("blur", remcl); }); - </script> + </script> --}} + <img class="bg-img" src="assets-login-landing/img/login_bg.png" alt=""> + <div class="wrapper"> + <!-- <div class="card login-card p-2" id="formContent"> --> + <div class="card login-card" id="formContent"> + <!-- <img class="card-img-top icon" src="assets/img/logo-green.png" alt="login logo"> --> + <img class="icon" src="assets-login-landing/img/logo.png" alt="login logo"> + <div> + <p class="title">Selamat Datang</p> + <p class="text">Lakukan login terlebih dahulu untuk memulai.</p> + </div> + <div class="card-body"> + <form action="/login" method="POST"> + @csrf + @if (session()->has('errorLogin')) + <div class="alert alert-danger" role="alert"> + {{ session('errorLogin') }} + </div> + @endif + <div class="row"> + <div class="col"> + <div class="form-group"> + <input type="email" ngModel placeholder="Email" name="email" + class="form-control input-login" required /> + </div> + </div> + </div> + <div class="row"> + <div class="col"> + <div class="form-group"> + <input type="password" ngModel placeholder="Password" name="password" + class="form-control input-login" required /> + </div> + </div> + </div> + <input type="submit" class="btn btn-info btn-lg btn-block btn-login" value="Login"> + </form> + + <div> + <!-- <a class="">Forgot Password?</a> --> + </div> + </div> + + </div> + </div> </body> </html> diff --git a/resources/views/login/test.blade.php b/resources/views/login/test.blade.php new file mode 100644 index 0000000..ac2dbc0 --- /dev/null +++ b/resources/views/login/test.blade.php @@ -0,0 +1,332 @@ +{{-- <!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8" /> + <title>Log In | Hyper - Responsive Bootstrap 5 Admin Dashboard</title> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta content="A fully featured admin theme which can be used to build CRM, CMS, etc." name="description" /> + <meta content="Coderthemes" name="author" /> + <!-- App favicon --> + <link rel="shortcut icon" href="assets/images/favicon.ico"> + + <!-- App css --> + <link href="assets/css/icons.min.css" rel="stylesheet" type="text/css" /> + <link href="assets/css/app.min.css" rel="stylesheet" type="text/css" id="light-style" /> + <link href="assets/css/app-dark.min.css" rel="stylesheet" type="text/css" id="dark-style" /> + +</head> + +<body class="loading authentication-bg" + data-layout-config='{"leftSideBarTheme":"dark","layoutBoxed":false, "leftSidebarCondensed":false, "leftSidebarScrollable":false,"darkMode":false, "showRightSidebarOnStart": true}'> + <div class="account-pages pt-2 pt-sm-5 pb-4 pb-sm-5"> + <div class="container"> + <div class="row justify-content-center"> + <div class="col-xxl-4 col-lg-5"> + <div class="card"> + + <!-- Logo --> + <div class="card-header pt-4 pb-4 text-center bg-primary"> + <a href="index.html"> + <span><img src="assets/images/logo.png" alt="" height="18"></span> + </a> + </div> + + <div class="card-body p-4"> + + <div class="text-center w-75 m-auto"> + <h4 class="text-dark-50 text-center pb-0 fw-bold">Sign In</h4> + <p class="text-muted mb-4">Enter your email address and password to access admin panel. + </p> + </div> + + <form action="/login" method="POST"> + @csrf + @if (session()->has('errorLogin')) + <div class="alert alert-danger" role="alert"> + {{ session('errorLogin') }} + </div> + @endif + <div class="mb-3"> + <label for="emailaddress" class="form-label">Email address</label> + <input class="form-control" type="email" name="email" required="" + placeholder="Enter your email"> + </div> + + + <label for="password" class="form-label">Password</label> + <div class="input-group input-group-merge"> + <input type="password" name="password" class="form-control" + placeholder="Enter your password"> + <div class="input-group-text" data-password="false"> + <span class="password-eye"></span> + </div> + </div> + </div> + + <div class="mb-3 mb-0 text-center"> + <button class="btn btn-primary" type="submit"> Log In </button> + </div> + + </form> + </div> <!-- end card-body --> + </div> + <!-- end card --> + + <div class="row mt-3"> + <div class="col-12 text-center"> + <p class="text-muted">Don't have an account? <a href="pages-register.html" + class="text-muted ms-1"><b>Sign Up</b></a></p> + </div> <!-- end col --> + </div> + <!-- end row --> + + </div> <!-- end col --> + </div> + <!-- end row --> + </div> + <!-- end container --> + </div> + <!-- end page --> + + <footer class="footer footer-alt"> + 2018 - 2021 © Hyper - Coderthemes.com + </footer> + + <!-- bundle --> + <script src="assets/js/vendor.min.js"></script> + <script src="assets/js/app.min.js"></script> + +</body> + +</html> --}} + +<!DOCTYPE html> +<html> + +<head> + <title>KEMENDESA | PELAYANAN PELATIHAN</title> + <link href="assets-login-landing/img/Kemendes_Logo.png" rel="icon"> + + <!-- Favicons --> + {{-- <link rel="stylesheet" type="text/css" href="assets-login/css/style.css"> --}} + + <!-- Google Fonts --> + <link + href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i|Poppins:300,300i,400,400i,600,600i,700,700i" + rel="stylesheet"> + <script src="https://kit.fontawesome.com/a81368914c.js"></script> + + <!-- Template Main CSS File --> + {{-- <link href="assets-login-landing/css/style.css" rel="stylesheet"> --}} + + <meta name="viewport" content="width=device-width, initial-scale=1"> + <style> + /* BASIC */ + .bg-img { + display: flex; + align-items: center; + flex-direction: column; + justify-content: center; + object-fit: cover; + width: 100%; + height: 100%; + position: absolute; + } + + .wrapper { + display: flex; + align-items: center; + flex-direction: column; + justify-content: center; + } + + + .icon { + width: 30%; + margin-bottom: 10px; + } + + .title { + color: #1D2732; + text-align: center; + font-size: 1.3rem; + font-style: normal; + font-weight: 600; + line-height: normal; + margin-bottom: 0; + } + + .text { + margin-top: .5rem; + color: #1D2732; + font-size: .6rem; + font-style: normal; + font-weight: 500; + line-height: normal; + margin-bottom: 20px; + } + + .footer { + color: #1D2732; + font-size: 0.6rem; + font-style: normal; + font-weight: 400; + line-height: normal; + padding: 0; + margin: 75px 0 0 0; + } + + .login-card { + -webkit-border-radius: 10px 10px 10px 10px; + border-radius: 10px 10px 10px 10px; + background: #fff; + padding: 75px 35px 30px 35px; + width: 90%; + max-width: 340px; + position: relative; + -webkit-box-shadow: 0 30px 60px 0 rgba(0, 0, 0, 0.3); + box-shadow: 0 30px 60px 0 rgba(0, 0, 0, 0.3); + text-align: center; + margin: 0; + } + + .card-body { + padding: 0; + } + + .input-login { + width: 100%; + height: 40px; + border-radius: .5rem; + border: none; + background: #F8F8F8; + } + + .btn-login { + width: 100%; + height: 40px; + border-radius: .5rem; + background: #009C98; + box-shadow: -2px 4px 4px 0px rgba(0, 0, 0, 0.10); + padding: 0; + font-weight: 600; + font-size: 11px; + transition: transform 0.3s ease; + } + + .btn-login:hover { + transform: translateY(-5px); + } + </style> +</head> + +<body> + {{-- <div class="login"> + <div class="container"> + <div class="img"> + <img src="assets-login-landing/img/login.svg" class="img-fluid animated" id="moving-login-img"> + </div> + <div class="login-content"> + <form action="/login" method="POST"> + @csrf + @if (session()->has('errorLogin')) + <div class="alert alert-danger" role="alert"> + {{ session('errorLogin') }} + </div> + @endif + <h1 class="title">Selamat Datang!</h1> + <p>Silahkan Masukan Email dan Password Anda</p> + <div class="input-div one"> + <div class="i"> + <i class="fas fa-user"></i> + </div> + <div class="div"> + <h5>Email</h5> + <input type="email" class="input" name="email"> + </div> + </div> + <div class="input-div pass"> + <div class="i"> + <i class="fas fa-lock"></i> + </div> + <div class="div"> + <h5>Password</h5> + <input type="password" class="input" name="password"> + </div> + </div> + <input type="submit" class="btn" value="Login" style="color: #fff;"> + </form> + </div> + </div> + </div> + <script> + const inputs = document.querySelectorAll(".input"); + + function addcl() { + let parent = this.parentNode.parentNode; + parent.classList.add("focus"); + } + + function remcl() { + let parent = this.parentNode.parentNode; + if (this.value == "") { + parent.classList.remove("focus"); + } + } + inputs.forEach(input => { + input.addEventListener("focus", addcl); + input.addEventListener("blur", remcl); + }); + </script> --}} + <img class="bg-img" src="assets/img/bg-login.png" alt=""> + <div class="wrapper"> + <!-- <div class="card login-card p-2" id="formContent"> --> + <div class="card login-card" id="formContent"> + <!-- <img class="card-img-top icon" src="assets/img/logo-green.png" alt="login logo"> --> + <img class="icon" src="assets/img/logo-green.png" alt="login logo"> + <div> + <p class="title">Selamat Datang</p> + <p class="text">Lakukan login terlebih dahulu untuk memulai.</p> + </div> + <div class="card-body"> + + <form #loginForm="ngForm" (ngSubmit)="submit(loginForm)" novalidate autocomplete="off"> + <div class="row"> + <div class="col"> + <div class="form-group"> + <!-- <input type="text" ngModel placeholder="username" name="username" class="form-control" autocomplete="new-username" required/> --> + <input type="text" ngModel placeholder="username" name="username" + class="form-control input-login" autocomplete="new-username" required /> + </div> + <error-messages [hidden]="!loginForm.controls?.username?.touched && !loginForm.submitted" + [data]="loginForm.controls?.username?.errors"></error-messages> + </div> + </div> + <div class="row"> + <div class="col"> + <div class="form-group"> + <!-- <input type="password" ngModel placeholder="password" name="password" class="form-control" autocomplete="new-password" required /> --> + <input type="password" ngModel placeholder="password" name="password" + class="form-control input-login" autocomplete="new-password" required /> + </div> + <error-messages [hidden]="!loginForm.controls?.password?.touched && !loginForm.submitted" + [data]="loginForm.controls?.password?.errors"></error-messages> + </div> + </div> + <!-- <input type="submit" class="btn btn-info btn-lg btn-block" value="Log In"> --> + <input type="submit" class="btn btn-info btn-lg btn-block btn-login" value="Log In"> + </form> + + <div> + <!-- <a class="">Forgot Password?</a> --> + </div> + </div> + <p class="footer">Daily Report Pendamping</p> + + + </div> + </div> +</body> + +</html> diff --git a/routes/web.php b/routes/web.php index 26a03fd..f310759 100644 --- a/routes/web.php +++ b/routes/web.php @@ -99,11 +99,12 @@ Route::resource('deswita', DataPribadiDeswitaController::class)->parameter('desw Route::resource('caltrans', DataPribadiCaltransController::class)->parameter('caltrans', 'data_pribadi_caltrans')->middleware('auth'); Route::post('save-bumdes-data-bumdes', [DataBumdesController::class, "savebumdes"])->name("savebumdesdatabumdes"); Route::post('save-kpmd-data-kpmd', [DataKpmdController::class, "savedatakpmd"])->name("savekpmddatakpmd"); + Route::post('save-deswita-data-deswita', [DataDeswitaController::class, "savedatadeswita"])->name("savedeswitadatadeswita"); Route::post('save-caltrans-data-caltrans', [DataClatransController::class, "savedatacaltrans"])->name("savecaltransdatacaltrans"); Route::controller(ManajemenAdminController::class)->group(function () { - Route::put('/super-admin/{manajemenadmin}', 'update'); + Route::POST('/super-admin/{manajemenadmin}', 'update'); Route::delete('/super-admin/{manajemenadmin}', 'destroy')->name('manajemenadmin.destroy'); Route::resource('super-admin', ManajemenAdminController::class)->parameter('super-admin', 'manajemenadmin')->middleware('auth'); });