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 +112,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..de69f89 100644 --- a/database/migrations/2024_08_25_153939_data_kursus.php +++ b/database/migrations/2024_08_25_153939_data_kursus.php @@ -20,6 +20,7 @@ public function up() $table->string('metode'); $table->text('fasilitas'); $table->string('lokasi'); + $table->decimal('latitude', 10, 7); $table->decimal('longtitude', 10, 7); $table->json('img_konten')->nullable(); 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 5270740..830be57 100644 --- a/resources/views/admin/dataKursusAdmin.blade.php +++ b/resources/views/admin/dataKursusAdmin.blade.php @@ -4,6 +4,9 @@
+ @@ -41,7 +44,9 @@ class="font-medium text-white hover:underline py-2 px-4 bg-[#4F7F81] rounded-xl" class="font-medium text-white hover:underline py-2 px-4 bg-[#4F7F81] rounded-xl"> Hapus - + @csrf @method('DELETE') diff --git a/resources/views/admin/tambahDataKursusAdmin.blade.php b/resources/views/admin/tambahDataKursusAdmin.blade.php index 80159c0..ab066fc 100644 --- a/resources/views/admin/tambahDataKursusAdmin.blade.php +++ b/resources/views/admin/tambahDataKursusAdmin.blade.php @@ -3,87 +3,115 @@
-
+
+ + +
+ @csrf
- + + class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5" + placeholder="Kampung Inggris LC - Language Center" required />
- - + +
- - + +
- +
- - + +
- - + +
- - + +
- - -
- - -
- - -
- - -
- - -
- - -
- +
- +
- +
- + + class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5" + placeholder="longitude"/> +
+ + +
+ + + +
+ + +
+ + + +
+ + +
+ + + +
+ + +
+ + +
- + class="text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm w-full sm:w-auto px-5 py-2.5 text-center">Submit +
+ + @push('script') + + + @endpush + + diff --git a/resources/views/components/adminlayout.blade.php b/resources/views/components/adminlayout.blade.php index d61d17b..31d173a 100644 --- a/resources/views/components/adminlayout.blade.php +++ b/resources/views/components/adminlayout.blade.php @@ -1,6 +1,15 @@ -@include('components.navbarAdmin ') -@include('partials.head') -@include('partials.font') + + + + + @include('components.navbarAdmin') + @include('partials.head') + @include('partials.font') + + - {{ $slot }} - \ No newline at end of file + {{ $slot }} + + + + diff --git a/resources/views/components/layout.blade.php b/resources/views/components/layout.blade.php index 5263a9f..4bd23c8 100644 --- a/resources/views/components/layout.blade.php +++ b/resources/views/components/layout.blade.php @@ -1,8 +1,16 @@ + + + + @include('components.navbar') + @include('partials.head') + @include('partials.font') -@include('components.navbar') -@include('partials.head') -@include('partials.font') + {{ $slot }} -@include('components.footer') \ No newline at end of file + +@include('components.footer') + + + diff --git a/resources/views/partials/head.blade.php b/resources/views/partials/head.blade.php index 3788139..8c4ce8f 100644 --- a/resources/views/partials/head.blade.php +++ b/resources/views/partials/head.blade.php @@ -2,4 +2,6 @@ @vite('resources/css/app.css') - \ No newline at end of file + +@stack('script') + diff --git a/resources/views/user/home.blade.php b/resources/views/user/home.blade.php index e1c1061..cfc782d 100644 --- a/resources/views/user/home.blade.php +++ b/resources/views/user/home.blade.php @@ -35,7 +35,7 @@ class="mb-2 text-2xl poppins-regular font-extrabold tracking-tight text-gray-900 "> {{ $landingpage->nama_kursus }} -

{{ $landingpage->deskripsi }}

+

{{ $landingpage->deskripsi}}

diff --git a/resources/views/user/peta.blade.php b/resources/views/user/peta.blade.php index 306a3b4..ed719e8 100644 --- a/resources/views/user/peta.blade.php +++ b/resources/views/user/peta.blade.php @@ -11,7 +11,7 @@

Halaman ini berisi tentang kursus di Pare!

-
+
name('admin.home'); Route::get('/admin/data-kursus', [AdminDataKursusController::class, 'dataKursus'])->name('admin.dataKursus'); -Route::get('/admin/tambahdata', [AdminDataKursusController::class, 'create'])->name('admin.tambahDataKursus'); - +Route::post('/admin/store', [AdminDataKursusController::class, 'store'])->name('kursus.store'); +Route::get('/admin/createData', [AdminDataKursusController::class, 'create'])->name('admin.create'); Route::delete('/admin/delete/{id}', [AdminDataKursusController::class, 'destroy'])->name('delete'); Route::get('/admin/courses', [AdminDataKursusController::class, 'index']); +// LOGIN Route::get('/login', [LoginController::class, 'index'])->name('login'); Route::get('/', [PengunjungController::class, 'home'])->name('home'); @@ -21,3 +26,4 @@ Route::get('/peta', [PengunjungController::class, 'maps'])->name('user.peta'); Route::get('/kursus/{id}/detail', [PengunjungController::class, 'detail'])->name('kursus.detail'); +