diff --git a/app/Exceptions/Exception.php b/app/Exceptions/Exception.php new file mode 100644 index 0000000..8b672a9 --- /dev/null +++ b/app/Exceptions/Exception.php @@ -0,0 +1,16 @@ +validate( - [] - ); + try { + $validator = Validator::make($request->all(), [ + 'nama_kursus' => 'required', + 'img' => 'required|file|mimes:jpeg,png,jpg|max:2048', + 'deskripsi' => 'required', + 'paket' => 'required', + 'metode' => 'required', + 'fasilitas' => 'required', + 'lokasi' => 'required', + 'latitude' => 'required|numeric|between:-90,90', + 'longitude' => 'required|numeric|between:-180,180', + 'img_konten.*' => 'file|mimes:jpeg,png,jpg|max:2048', + ]); + + // if ($validator->fails()) { + // return redirect()->back()->withInput()->withErrors($validator); + // } + $imgPath = $request->file('img')->store('images', 'public'); + $imgKontenPaths = []; + if ($request->hasFile('img_konten')) { + foreach ($request->file('img_konten') as $file) { + $imgKontenPaths[] = $file->store('images', 'public'); + } + } + + // Simpan data ke dalam database + $result = DataKursus::create([ + 'nama_kursus' => $request->nama_kursus, + 'img' => $imgPath, + 'deskripsi' => $request->deskripsi, + 'paket' => $request->paket, + 'metode' => $request->metode, + 'fasilitas' => $request->fasilitas, + 'lokasi' => $request->lokasi, + 'latitude' => $request->latitude, + 'longitude' => $request->longitude, + 'img_konten' => json_encode($imgKontenPaths), + ]); + + return redirect('/admin/data-kursus'); + } catch (\Exception $e) { + dd($e->getMessage()); + } } + public function w(Request $request) + { + // $validator = Validator::make($request->all(), [ + // 'nama' => 'required', + // 'img' => 'required', + // 'deskripsi' => 'required', + // 'paket' => 'required', + // 'metode' => 'required', + // 'fasilitas' => 'required', + // 'lokasi' => 'required', + // 'latitude' => 'required', + // 'longtitude' => 'required', + // 'img_konten' => 'required', + // ]); + // DataKursus::create([ + // "nama_kursus" => $request->nama, + // "img" => $request->img, + // "deskripsi" => $request->diskripsi, + // "paket" => $request->paket, + // "metode" => $request->metode, + // "fasilitas" => $request->fasilitas, + // "lokasi" => $request->lokasi, + // "latitude" => $request->latitude, + // "longtitude" => $request->longtitude, + // "img_konten" => $request->img_konten, + + // ]); + // if ($validator->fails()) return redirect()->back()->withInput()->withErrors($validator); + } + + + + public function destroy(string $id) { $data = DataKursus::find($id); @@ -35,5 +111,4 @@ public function destroy(string $id) } return redirect()->route('admin.dataKursus')->with('success', 'Data berhasil dihapus.'); } - } diff --git a/app/Models/DataKursus.php b/app/Models/DataKursus.php index 10d2495..49f6268 100644 --- a/app/Models/DataKursus.php +++ b/app/Models/DataKursus.php @@ -9,9 +9,20 @@ class DataKursus extends Model { use HasFactory; - // Tabel yang digunakan oleh model ini protected $table = 'data_kursus'; - // Jika Anda menggunakan timestamp di tabel + protected $fillable = [ + 'nama_kursus', + 'img', + 'deskripsi', + 'paket', + 'metode', + 'fasilitas', + 'lokasi', + 'latitude', + 'longitude', // Pastikan nama kolom sesuai dengan migrasi + 'img_konten' + ]; + public $timestamps = true; } diff --git a/database/migrations/2024_08_25_153939_data_kursus.php b/database/migrations/2024_08_25_153939_data_kursus.php index 6a2cf24..cb07ac3 100644 --- a/database/migrations/2024_08_25_153939_data_kursus.php +++ b/database/migrations/2024_08_25_153939_data_kursus.php @@ -20,8 +20,8 @@ public function up() $table->string('metode'); $table->text('fasilitas'); $table->string('lokasi'); - $table->decimal('latitude', 10, 7); - $table->decimal('longtitude', 10, 7); + $table->decimal('latitude', 10, 8)->index(); // Increased precision + $table->decimal('longitude', 11, 8)->index(); // Increased precision $table->json('img_konten')->nullable(); $table->timestamps(); }); diff --git a/package-lock.json b/package-lock.json index e86f0d5..2e06e98 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "salma", + "name": "SIG-Salma", "lockfileVersion": 3, "requires": true, "packages": { diff --git a/resources/views/admin/dataKursusAdmin.blade.php b/resources/views/admin/dataKursusAdmin.blade.php index 909c0d2..830be57 100644 --- a/resources/views/admin/dataKursusAdmin.blade.php +++ b/resources/views/admin/dataKursusAdmin.blade.php @@ -5,7 +5,7 @@