From b58e99eb2e7c4fb7264548f5582bdbc653e2001b Mon Sep 17 00:00:00 2001 From: yulianadewi18 Date: Wed, 6 Dec 2023 16:09:34 +0800 Subject: [PATCH] add data guru --- app/Http/Controllers/DataGuruController.php | 209 ++++++++++++++ app/Http/Controllers/MstGuruController.php | 47 ---- app/Models/Guru.php | 15 +- ...023_11_19_051231_create_mst_guru_table.php | 57 ++++ .../views/pages/data_guru/form.blade.php | 261 +++++++++++++++++ .../views/pages/data_guru/index.blade.php | 232 +++++++++++++++ resources/views/pages/mst_guru/edit.blade.php | 264 ------------------ resources/views/pages/mst_guru/form.blade.php | 264 ------------------ .../views/pages/mst_guru/index.blade.php | 70 ----- routes/web.php | 14 +- 10 files changed, 777 insertions(+), 656 deletions(-) create mode 100644 app/Http/Controllers/DataGuruController.php delete mode 100644 app/Http/Controllers/MstGuruController.php create mode 100644 database/migrations/2023_11_19_051231_create_mst_guru_table.php create mode 100644 resources/views/pages/data_guru/form.blade.php create mode 100644 resources/views/pages/data_guru/index.blade.php delete mode 100644 resources/views/pages/mst_guru/edit.blade.php delete mode 100644 resources/views/pages/mst_guru/form.blade.php delete mode 100644 resources/views/pages/mst_guru/index.blade.php diff --git a/app/Http/Controllers/DataGuruController.php b/app/Http/Controllers/DataGuruController.php new file mode 100644 index 0000000..80b0b9f --- /dev/null +++ b/app/Http/Controllers/DataGuruController.php @@ -0,0 +1,209 @@ +ajax()) { + $fetchAll = DataTables::of($data_guru) + ->addIndexColumn() + ->addColumn('action', function ($data) { + return ' + Edit + + '; + }) + ->rawColumns(['action']) + ->make(true); + return $fetchAll; + } + return view('pages.data_guru.index', compact('data_guru')); + } + + function create() + { + return view('pages.data_guru.form'); + } + + function store(Request $request) + { + $request->session()->flash('nama_guru', $request->nama_guru); + $request->session()->flash('gender', $request->gender); + $request->session()->flash('nipa', $request->nipa); + $request->session()->flash('ttl', $request->ttl); + $request->session()->flash('nuptk', $request->nuptk); + $request->session()->flash('nrg', $request->nrg); + $request->session()->flash('jns_guru', $request->jns_guru); + $request->session()->flash('tugas', $request->tugas); + $request->session()->flash('tambahan', $request->tambahan); + $request->session()->flash('ijazah', $request->ijazah); + $request->session()->flash('tahun_lulus', $request->tahun_lulus); + $request->session()->flash('pt', $request->pt); + $request->session()->flash('fakultas', $request->fakultas); + $request->session()->flash('jurusan', $request->jurusan); + $request->session()->flash('prodi', $request->prodi); + $request->session()->flash('akta_mengajar', $request->akta_mengajar); + $request->session()->flash('jalan', $request->jalan); + $request->session()->flash('rt', $request->rt); + $request->session()->flash('rw', $request->rw); + $request->session()->flash('dusun', $request->dusun); + $request->session()->flash('kelurahan', $request->kelurahan); + $request->session()->flash('kecamatan', $request->kecamatan); + $request->session()->flash('kabupaten', $request->kabupaten); + $request->session()->flash('kodepos', $request->kodepos); + $request->session()->flash('nohp', $request->nohp); + $request->session()->flash('nohp2', $request->nohp2); + + $data = $request->validate([ + 'nama_guru' => 'required', + 'gender' => 'required', + 'nipa' => 'required |unique:mst_guru', + 'ttl' => 'required', + 'nuptk' => 'required', + 'nrg' => 'required', + 'jns_guru' => 'required', + 'tugas' => 'required', + 'tambahan' => 'required', + 'ijazah' => 'required', + 'tahun_lulus' => 'required', + 'pt' => 'required', + 'fakultas' => 'required', + 'jurusan' => 'required', + 'prodi' => 'required', + 'akta_mengajar' => 'required', + 'jalan' => 'required', + 'rt' => 'required', + 'rw' => 'required', + 'dusun' => 'required', + 'kelurahan' => 'required', + 'kecamatan' => 'required', + 'kabupaten' => 'required', + 'kodepos' => 'required', + 'nohp' => 'required', + 'nohp2' => 'required', + ], [ + 'nama_guru.required' => 'Nama Guru wajib diisi', + 'gender.required' => 'Jenis Kelamin wajib diisi', + 'nipa.required' => 'NIPA wajib diisi', + 'nipa.unique' => 'NIPA sudah digunakan', + 'ttl.required' => 'Tempat, Tanggal, Lahir wajib diisi', + 'nuptk.required' => 'NUPTK wajib diisi', + 'nrg.required' => 'NRG wajib diisi', + 'jns_guru.required' => 'Jenis Guru wajib diisi', + 'tugas.required' => 'Tugas wajib diisi', + 'tambahan.required' => 'Tugas Tambahan wajib diisi', + 'ijazah.required' => 'Ijazah wajib diisi', + 'tahun_lulus.required' => 'Tahun Lulus wajib diisi', + 'pt.required' => 'Perguruan Tinggi / Sekolah wajib diisi', + 'fakultas.required' => 'Fakultas wajib diisi', + 'jurusan.required' => 'Jurusan wajib diisi', + 'prodi.required' => 'Prodi wajib diisi', + 'akta_mengajar.required' => 'Akta Mengajar wajib diisi', + 'jalan.required' => 'Jalan wajib diisi', + 'rt.required' => 'Rt wajib diisi', + 'rw.required' => 'Rw wajib diisi', + 'dusun.required' => 'Dusun wajib diisi', + 'kelurahan.required' => 'Kelurahan wajib diisi', + 'kecamatan.required' => 'Kecamatan wajib diisi', + 'kabupaten.required' => 'Kabupaten wajib diisi', + 'kodepos.required' => 'Kode pos wajib diisi', + 'nohp.required' => 'No Hp wajib diisi', + 'nohp2.required' => 'No Hp2 wajib diisi', + ]); + + Guru::create($data); + return redirect('/data-guru')->with('success', 'Berhasil tambah Guru baru.'); + } + + function edit($id) + { + $guru = Guru::find($id); + return view('pages.data_guru.form', compact('guru')); + } + + function update(Request $request, $id) + { + $data = $request->validate([ + 'nama_guru' => 'required', + 'gender' => 'required', + 'nipa' => 'required|unique:mst_guru,id', + 'ttl' => 'required', + 'nuptk' => 'required', + 'nrg' => 'required', + 'jns_guru' => 'required', + 'tugas' => 'required', + 'tambahan' => 'required', + 'ijazah' => 'required', + 'tahun_lulus' => 'required', + 'pt' => 'required', + 'fakultas' => 'required', + 'jurusan' => 'required', + 'prodi' => 'required', + 'akta_mengajar' => 'required', + 'jalan' => 'required', + 'rt' => 'required', + 'rw' => 'required', + 'dusun' => 'required', + 'kelurahan' => 'required', + 'kecamatan' => 'required', + 'kabupaten' => 'required', + 'kodepos' => 'required', + 'nohp' => 'required', + 'nohp2' => 'required', + ], [ + 'nama_guru.required' => 'Nama Guru wajib diisi', + 'gender.required' => 'Jenis Kelamin wajib diisi', + 'nipa.required' => 'NIPA wajib diisi', + 'nipa.unique' => 'NIPA sudah digunakan', + 'ttl.required' => 'Tempat, Tanggal, Lahir wajib diisi', + 'nuptk.required' => 'NUPTK wajib diisi', + 'nrg.required' => 'NRG wajib diisi', + 'jns_guru.required' => 'Jenis Guru wajib diisi', + 'tugas.required' => 'Tugas wajib diisi', + 'tambahan.required' => 'Tugas Tambahan wajib diisi', + 'ijazah.required' => 'Ijazah wajib diisi', + 'tahun_lulus.required' => 'Tahun Lulus wajib diisi', + 'pt.required' => 'Perguruan Tinggi / Sekolah wajib diisi', + 'fakultas.required' => 'Fakultas wajib diisi', + 'jurusan.required' => 'Jurusan wajib diisi', + 'prodi.required' => 'Prodi wajib diisi', + 'akta_mengajar.required' => 'Akta Mengajar wajib diisi', + 'jalan.required' => 'Jalan wajib diisi', + 'rt.required' => 'Rt wajib diisi', + 'rw.required' => 'Rw wajib diisi', + 'dusun.required' => 'Dusun wajib diisi', + 'kelurahan.required' => 'Kelurahan wajib diisi', + 'kecamatan.required' => 'Kecamatan wajib diisi', + 'kabupaten.required' => 'Kabupaten wajib diisi', + 'kodepos.required' => 'Kode pos wajib diisi', + 'nohp.required' => 'No Hp wajib diisi', + 'nohp2.required' => 'No Hp2 wajib diisi', + ]); + + $guru = Guru::find($id); + + if ($guru === null) { + return redirect('/data-guru')->with('error', 'Data Guru tidak ditemukan.'); + } + + $guru->update($data); + + return redirect('/data-guru')->with('success', 'Data berhasil diupdate.'); + } + + function destroy($id) + { + $guru = Guru::find($id); + $guru->delete(); + + return response('Data berhasil dihapus.', 200); + } +} diff --git a/app/Http/Controllers/MstGuruController.php b/app/Http/Controllers/MstGuruController.php deleted file mode 100644 index a7ada2f..0000000 --- a/app/Http/Controllers/MstGuruController.php +++ /dev/null @@ -1,47 +0,0 @@ -get(); - $dataView = $this->getDataInsert(); - // dd($nilai); - return view('pages.mst_guru.edit', compact('guru', 'dataView', 'nilai')); - } - - public function delete($id) - { - $guru = Guru::find($id); - - if ($guru) { - $guru->delete(); - return redirect()->route('guru.index')->with('success', 'Data guru berhasil dihapus.'); - } else { - // Handle kasus di mana data tidak ditemukan - return redirect()->route('guru.index')->with('error', 'Data guru tidak ditemukan.'); - } - } - -} - - \ No newline at end of file diff --git a/app/Models/Guru.php b/app/Models/Guru.php index 8f8b754..1b46bf8 100644 --- a/app/Models/Guru.php +++ b/app/Models/Guru.php @@ -2,15 +2,22 @@ namespace App\Models; +use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Guru extends Model { use HasFactory; - - protected $table = 'mst_kriteria'; + protected $primaryKey = 'id'; + protected $table = 'mst_guru'; protected $fillable = [ - 'kode_kriteria', 'nama_kriteria', 'bobot_kriteria', + 'nama_guru', 'gender', 'nipa','ttl', + 'nuptk', 'nrg','jns_guru', 'tugas', + 'tambahan','ijazah', 'tahun_lulus', 'pt', + 'fakultas', 'jurusan', 'prodi','akta_mengajar', + 'jalan', 'rt','rw', 'dusun', + 'kelurahan','kecamatan', 'kabupaten', 'kodepos', + 'nohp', 'nohp2', ]; -} +} diff --git a/database/migrations/2023_11_19_051231_create_mst_guru_table.php b/database/migrations/2023_11_19_051231_create_mst_guru_table.php new file mode 100644 index 0000000..d3a4dc0 --- /dev/null +++ b/database/migrations/2023_11_19_051231_create_mst_guru_table.php @@ -0,0 +1,57 @@ +id(); + $table->string('nama_guru'); + $table->enum('gender', ['Laki-laki', 'Perempuan']); + $table->string('nipa'); + $table->date('ttl'); + $table->string('nuptk'); + $table->string('nrg'); + $table->string('jns_guru'); + $table->string('tugas'); + $table->string('tambahan'); + $table->string('ijazah'); + $table->year('tahun_lulus'); + $table->string('pt'); + $table->string('fakultas'); + $table->string('jurusan'); + $table->string('prodi'); + $table->string('akta_mengajar'); + $table->string('jalan'); + $table->string('rt'); + $table->string('rw'); + $table->string('dusun'); + $table->string('kelurahan'); + $table->string('kecamatan'); + $table->string('kabupaten'); + $table->string('kodepos'); + $table->string('nohp'); + $table->string('nohp2'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('mst_guru'); + } +} diff --git a/resources/views/pages/data_guru/form.blade.php b/resources/views/pages/data_guru/form.blade.php new file mode 100644 index 0000000..16623d5 --- /dev/null +++ b/resources/views/pages/data_guru/form.blade.php @@ -0,0 +1,261 @@ +@extends('layout.master') + +@if (!empty($guru)) +@section('title', 'Edit Guru') +@else +@section('title', 'Tambah Guru') +@endif + +@section('content') +@if ($errors->any()) +
+ +
+@endif + +
+ @if (!empty($guru)) +
+ @else +
+ + @endif + @csrf + +
+ +
+ + +
+ + +
+ + +
+ gender == 'Laki-laki') checked @elseif(empty($guru) && Session::get('gender') == 'Laki-laki') checked @endif> + +
+ +
+ gender == 'Perempuan') checked @elseif(empty($guru) && Session::get('gender') == 'Perempuan') checked @endif> + +
+ +
+ + + +
+ + +
+ + + +
+ +
+ +
+ +
+ + +
+ +
+
+
+ + + +
+ + +
+ + + +
+ + +
+ + + + +
+ + +
+ + +
+
+
+ + +
+
+ +
+
+ + +
+
+
+ +
+
+
+ + +
+
+ +
+
+ + +
+
+
+ + +
+
+
+ + +
+
+
+
+ + +
+
+
+
+
+
+ + +
+
+ +
+
+ + +
+
+
+ +
+ + +
+ + + + +
+
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+
+
+
+
+ + +
+
+ +
+
+ + +
+
+ + +
+
+ + +
+
+@endsection \ No newline at end of file diff --git a/resources/views/pages/data_guru/index.blade.php b/resources/views/pages/data_guru/index.blade.php new file mode 100644 index 0000000..89b50e6 --- /dev/null +++ b/resources/views/pages/data_guru/index.blade.php @@ -0,0 +1,232 @@ +@extends('layout.master') + +@section('title', 'Data Guru') + +@push('css') + +@endpush + +@section('content') +@if (session('success')) +
+ {{ session('success') }} +
+@endif +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NoNama GuruJenis KelaminNIPATempat Tanggal LahirNUPTKNRGJenis GuruTugasTugas TambahanIjazahTahun LulusPerguruan TinggiFakultasJurusanProdiAkta MengajarJalanRtRwDusunKelurahanKecamatanKabupatenKode PosNo Hp1No Hp2Action
+
+
+
+@endsection + +@push('js') + + + + + + + + +@endpush \ No newline at end of file diff --git a/resources/views/pages/mst_guru/edit.blade.php b/resources/views/pages/mst_guru/edit.blade.php deleted file mode 100644 index 43bccc7..0000000 --- a/resources/views/pages/mst_guru/edit.blade.php +++ /dev/null @@ -1,264 +0,0 @@ -@extends('layout.master') - -@section('title', 'Edit') - -@push('css') - -@endpush - -@section('content') -
-
-
-
-
(*) Data Guru
Nb: Semua field wajib di isi. Isikan tanda " - " jika ada field yang ingin dikosongi
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
(*) Riwayat Pendidikan
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
(*) Data Pengajar
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - - - - - - - kdKriteria == $dataItem->kdKriteria && $value->nilai == $dataItem->value) { - $isChecked = true; - break; - } - } - } elseif ($no == 3) { - $isChecked = true; - } - ?> - - /> subKriteria; ?> - - - - - - - -
-
- -@endsection \ No newline at end of file diff --git a/resources/views/pages/mst_guru/form.blade.php b/resources/views/pages/mst_guru/form.blade.php deleted file mode 100644 index 02a09f2..0000000 --- a/resources/views/pages/mst_guru/form.blade.php +++ /dev/null @@ -1,264 +0,0 @@ -@extends('layout.master') - -@section('title', 'Tambah Guru') - -@push('css') - -@endpush - -@section('content') -
-
-
-
-
(*) Data Guru
Nb: Semua field wajib di isi. Isikan tanda " - " jika ada field yang ingin dikosongi
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
(*) Riwayat Pendidikan
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
(*) Data Pengajar
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - - - - - - - kdKriteria == $dataItem->kdKriteria && $value->nilai == $dataItem->value) { - $isChecked = true; - break; - } - } - } elseif ($no == 3) { - $isChecked = true; - } - ?> - - /> subKriteria; ?> - - - - - - - -
-
- -@endsection \ No newline at end of file diff --git a/resources/views/pages/mst_guru/index.blade.php b/resources/views/pages/mst_guru/index.blade.php deleted file mode 100644 index 1568bf0..0000000 --- a/resources/views/pages/mst_guru/index.blade.php +++ /dev/null @@ -1,70 +0,0 @@ -@extends('layout.master') - -@section('title', 'Data Guru') - -@push('css') - -@endpush - -@section('content') -
-
- -
- - - - - - - - - - - - - - - @foreach($alamien as $guru) - - - - - - - - - - @endforeach - -
NoNamaNIPEmailAddressPhoneAction
{{ $loop->iteration }}{{ $guru->nama }}{{ $guru->nipa }}{{ $guru->email }}{{ $guru->kabupaten }}{{ $guru->nohp1 }} - Edit -
- @csrf - @method('DELETE') - -
-
-
-
-
- - - - -@endsection - -@push('js') - - - - - - -@endpush \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 81c4151..71e77d4 100644 --- a/routes/web.php +++ b/routes/web.php @@ -5,7 +5,7 @@ use App\Http\Controllers\Auth\{ LoginController, }; use App\Http\Controllers\{ - MstGuruController, + DataGuruController, DataAlternatifController, DataKriteriaController, DataSubKriteriaController, @@ -34,12 +34,12 @@ Route::middleware(['auth'])->group(function () { // Admin Role Route::middleware('admin')->group(function () { Route::prefix('data-guru')->group(function () { - Route::get('/', [MstGuruController::class, 'index'])->name('data_guru'); - Route::get('/guru', [MstGuruController::class, 'index'])->name('guru.index'); - Route::get('edit', [MstGuruController::class, 'edit'])->name('edit_guru'); - Route::delete('guru/{nama}', [MstGuruController::class, 'delete'])->name('delete_guru'); - - Route::get('/tambah', [MstGuruController::class, 'create'])->name('create_guru'); + Route::get('/', [DataGuruController::class, 'index'])->name('data_guru'); + Route::get('/tambah', [DataGuruController::class, 'create'])->name('create_guru'); + Route::post('/store', [DataGuruController::class, 'store'])->name('store_guru'); + Route::get('/edit{id}', [DataGuruController::class, 'edit'])->name('edit_guru'); + Route::post('/update{id}', [DataGuruController::class, 'update'])->name('update_guru'); + Route::delete('/hapus/{id}', [DataGuruController::class, 'destroy'])->name('destroy_guru'); }); Route::prefix('data-kriteria')->group(function () { Route::get('/', [DataKriteriaController::class, 'index'])->name('data_kriteria');