up
This commit is contained in:
ericko-cyber 2025-07-07 13:23:49 +07:00
parent 8da1fc336b
commit a76652a485
8 changed files with 251 additions and 119 deletions

View File

@ -156,67 +156,107 @@ class Siswa extends BaseController
} }
} }
// Fungsi untuk edit data siswa
public function edit($id_siswa) public function edit($id_siswa)
{ {
$m_siswa = new Siswa_model(); $m_siswa = new Siswa_model();
$siswa = $m_siswa->detail($id_siswa); $siswa = $m_siswa->detail($id_siswa);
if ($this->request->getMethod() === 'post' && $this->validate([ $rules = [
'nama_siswa' => 'required', 'nama_siswa' => 'required',
'nis' => 'required',
'jenis_kelamin' => 'required',
'kategori' => 'required',
'status_siswa' => 'required',
'id_tahun' => 'required',
'id_kelas' => 'required',
'telepon' => 'required',
'email' => 'required|valid_email',
// Validasi gambar
'gambar' => [ 'gambar' => [
'permit_empty',
'ext_in[gambar,jpg,jpeg,gif,png,svg]', 'ext_in[gambar,jpg,jpeg,gif,png,svg]',
'max_size[gambar,4096]', 'max_size[gambar,4096]',
], ],
])) {
// Penanganan unggah gambar (update) // Validasi ortu dan wali sebagai input opsional
'nama_ayah' => 'permit_empty',
'telepon_ayah' => 'permit_empty',
'nama_ibu' => 'permit_empty',
'telepon_ibu' => 'permit_empty',
'nama_wali' => 'permit_empty',
'telepon_wali' => 'permit_empty',
];
$messages = [
'required' => '{field} wajib diisi.',
'valid_email' => 'Format email tidak valid.',
'ext_in' => 'Format gambar tidak didukung (hanya jpg, jpeg, png, gif, svg).',
'max_size' => 'Ukuran gambar maksimal 4MB.',
];
if ($this->request->getMethod() === 'post' && $this->validate($rules, $messages)) {
// Ambil data input
$nama_ayah = $this->request->getPost('nama_ayah');
$telepon_ayah = $this->request->getPost('telepon_ayah');
$nama_ibu = $this->request->getPost('nama_ibu');
$telepon_ibu = $this->request->getPost('telepon_ibu');
$nama_wali = $this->request->getPost('nama_wali');
$telepon_wali = $this->request->getPost('telepon_wali');
// Validasi logika ortu/wali
if (empty($nama_ayah) && empty($nama_ibu) && empty($nama_wali)) {
session()->setFlashdata('error', 'Jika nama ayah dan ibu kosong, maka nama wali wajib diisi.');
return redirect()->back()->withInput();
}
if (empty($telepon_ayah) && empty($telepon_ibu) && empty($telepon_wali)) {
session()->setFlashdata('error', 'Jika telepon ayah dan ibu kosong, maka telepon wali wajib diisi.');
return redirect()->back()->withInput();
}
// Penanganan unggah gambar
$gambar = $this->request->getFile('gambar'); $gambar = $this->request->getFile('gambar');
if ($gambar && $gambar->isValid() && !$gambar->hasMoved()) { if ($gambar && $gambar->isValid() && !$gambar->hasMoved()) {
$namabaru = $gambar->getRandomName(); $namabaru = $gambar->getRandomName();
$gambar->move(WRITEPATH . 'uploads', $namabaru); // Simpan file di folder "uploads" $gambar->move(WRITEPATH . 'uploads', $namabaru);
} else { } else {
// Jika tidak ada gambar baru yang diunggah, gunakan gambar lama $namabaru = $siswa->gambar;
$namabaru = $siswa->gambar; // Ambil gambar lama jika tidak ada gambar baru
} }
// Membuat slug otomatis jika slug kosong // Slug otomatis
$slug_siswa = $siswa->slug_siswa; $slug_siswa = $siswa->slug_siswa ?: $this->createSlug($this->request->getPost('nama_siswa'));
if (empty($slug_siswa)) {
$slug_siswa = $this->createSlug($this->request->getPost('nama_siswa')); // Jika slug kosong, buat slug
}
// Menangkap data jenis pembiayaan // Data yang akan disimpan
$jenis_pembiayaan = $this->request->getPost('jenis_pembiayaan');
// Menyimpan perubahan data
$data = [ $data = [
'nama_siswa' => $this->request->getPost('nama_siswa'), 'nama_siswa' => $this->request->getPost('nama_siswa'),
'slug_siswa' => $slug_siswa, // Masukkan slug_siswa 'slug_siswa' => $slug_siswa,
'nis' => $this->request->getPost('nis'), 'nis' => $this->request->getPost('nis'),
'jenis_kelamin' => $this->request->getPost('jenis_kelamin'), 'jenis_kelamin' => $this->request->getPost('jenis_kelamin'),
'telepon' => $this->request->getPost('telepon'), 'telepon' => $this->request->getPost('telepon'),
'email' => $this->request->getPost('email'), 'email' => $this->request->getPost('email'),
'gambar' => $namabaru, // Simpan nama gambar 'gambar' => $namabaru,
'status_siswa' => $this->request->getPost('status_siswa'), 'status_siswa' => $this->request->getPost('status_siswa'),
'id_tahun' => $this->request->getPost('id_tahun'), 'id_tahun' => $this->request->getPost('id_tahun'),
'id_kelas' => $this->request->getPost('id_kelas'), 'id_kelas' => $this->request->getPost('id_kelas'),
'nama_ayah' => $this->request->getPost('nama_ayah'), 'nama_ayah' => $nama_ayah,
'telepon_ayah' => $this->request->getPost('telepon_ayah'), 'telepon_ayah' => $telepon_ayah,
'nama_ibu' => $this->request->getPost('nama_ibu'), 'nama_ibu' => $nama_ibu,
'telepon_ibu' => $this->request->getPost('telepon_ibu'), 'telepon_ibu' => $telepon_ibu,
'kategori' => $jenis_pembiayaan, // Menyimpan jenis pembiayaan 'nama_wali' => $nama_wali,
'telepon_wali' => $telepon_wali,
'kategori' => $this->request->getPost('kategori'),
]; ];
// Menyimpan data ke database
if ($m_siswa->update($id_siswa, $data)) { if ($m_siswa->update($id_siswa, $data)) {
$this->session->setFlashdata('sukses', 'Data telah disimpan'); session()->setFlashdata('sukses', 'Data siswa berhasil diperbarui.');
} else { } else {
$this->session->setFlashdata('error', 'Terjadi kesalahan, data tidak bisa disimpan'); session()->setFlashdata('error', 'Terjadi kesalahan saat menyimpan data.');
} }
return redirect()->to(base_url('admin/siswa')); return redirect()->to(base_url('admin/siswa'));
} else { } else {
// Kirim data ke view untuk menampilkan form edit dengan data yang sudah ada // Jika validasi gagal atau belum disubmit
$data = [ $data = [
'title' => 'Edit Siswa: ' . $siswa->nama_siswa, 'title' => 'Edit Siswa: ' . $siswa->nama_siswa,
'siswa' => $siswa, 'siswa' => $siswa,
@ -232,7 +272,6 @@ class Siswa extends BaseController
$m_kelas = new Kelas_model(); $m_kelas = new Kelas_model();
$m_tahun = new Tahun_model(); $m_tahun = new Tahun_model();
$kelas = $m_kelas->listing(); $kelas = $m_kelas->listing();
$tahun = $m_tahun->listing(); $tahun = $m_tahun->listing();
@ -255,12 +294,11 @@ class Siswa extends BaseController
$filepath = WRITEPATH . '../assets/upload/file/' . $filename; $filepath = WRITEPATH . '../assets/upload/file/' . $filename;
$ext = $file->getClientExtension(); $ext = $file->getClientExtension();
// Pilih reader berdasarkan ekstensi file
if ($ext == 'csv') { if ($ext == 'csv') {
$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Csv'); $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Csv');
} elseif ($ext == 'xls') { } elseif ($ext == 'xls') {
$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Xls'); $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Xls');
} else { // xlsx } else {
$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Xlsx'); $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Xlsx');
} }
@ -269,6 +307,7 @@ class Siswa extends BaseController
$worksheet = $spreadsheet->getActiveSheet(); $worksheet = $spreadsheet->getActiveSheet();
$i = 1; $i = 1;
$errors = [];
foreach ($worksheet->getRowIterator() as $row) { foreach ($worksheet->getRowIterator() as $row) {
$cellIterator = $row->getCellIterator(); $cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false); $cellIterator->setIterateOnlyExistingCells(false);
@ -278,8 +317,32 @@ class Siswa extends BaseController
$cells[] = $cell->getValue(); $cells[] = $cell->getValue();
} }
if ($i > 1) { // Lewati header if ($i > 1) {
if (empty($cells[1])) { if (empty($cells[1])) { // Lewati jika NIS kosong
$i++;
continue;
}
// Ambil data ortu/wali
$nama_ayah = $cells[7];
$nama_ibu = $cells[8];
$nama_wali = $cells[9];
$telepon_wali = $cells[10];
$telepon_ayah = $cells[11];
$telepon_ibu = $cells[12];
// Validasi jika nama ayah & ibu kosong, maka nama wali wajib
if (empty($nama_ayah) && empty($nama_ibu) && empty($nama_wali)) {
$errors[] = "Baris ke-$i: Nama wali wajib diisi jika nama ayah dan ibu kosong.";
}
// Validasi jika telepon ayah & ibu kosong, maka telepon wali wajib
if (empty($telepon_ayah) && empty($telepon_ibu) && empty($telepon_wali)) {
$errors[] = "Baris ke-$i: Telepon wali wajib diisi jika telepon ayah dan ibu kosong.";
}
// Skip insert jika ada error
if (!empty($errors)) {
$i++; $i++;
continue; continue;
} }
@ -298,10 +361,12 @@ class Siswa extends BaseController
'password_hint' => null, 'password_hint' => null,
'jenis_kelamin' => $cells[5], 'jenis_kelamin' => $cells[5],
'isi' => $cells[6], 'isi' => $cells[6],
'nama_ayah' => $cells[7], 'nama_ayah' => $nama_ayah,
'nama_ibu' => $cells[8], 'nama_ibu' => $nama_ibu,
'telepon_ayah' => $cells[9], 'nama_wali' => $nama_wali,
'telepon_ibu' => $cells[10], 'telepon_wali' => $telepon_wali,
'telepon_ayah' => $telepon_ayah,
'telepon_ibu' => $telepon_ibu,
'kelompok' => null, 'kelompok' => null,
'gambar' => null, 'gambar' => null,
'status_siswa' => 'Aktif', 'status_siswa' => 'Aktif',
@ -315,6 +380,11 @@ class Siswa extends BaseController
$i++; $i++;
} }
if (!empty($errors)) {
$this->session->setFlashdata('error', implode('<br>', $errors));
return redirect()->back()->withInput();
}
$this->session->setFlashdata('sukses', 'Data siswa berhasil diimpor.'); $this->session->setFlashdata('sukses', 'Data siswa berhasil diimpor.');
return redirect()->to(base_url('admin/siswa')); return redirect()->to(base_url('admin/siswa'));
} else { } else {
@ -328,6 +398,7 @@ class Siswa extends BaseController
} }
} }
public function proses() public function proses()
{ {
$m_siswa = new Siswa_model(); $m_siswa = new Siswa_model();

View File

@ -1,4 +1,5 @@
<?php <?php
namespace App\Controllers\Admin; namespace App\Controllers\Admin;
use CodeIgniter\Controller; use CodeIgniter\Controller;
@ -10,78 +11,115 @@ class Tahun extends BaseController
// mainpage // mainpage
public function index() public function index()
{ {
$m_tahun = new Tahun_model(); $m_tahun = new Tahun_model();
$tahun = $m_tahun->listing(); $tahun = $m_tahun->listing();
$total = $m_tahun->total(); $total = $m_tahun->total();
// Start validasi // Start validasi
if($this->request->getMethod() === 'post' && $this->validate( if ($this->request->getMethod() === 'post' && $this->validate(
[ [
'nama_tahun' => 'required|min_length[1]|is_unique[tahun.nama_tahun]', 'nama_tahun' => 'required|min_length[1]|is_unique[tahun.nama_tahun]',
])) { ]
)) {
// masuk database // masuk database
$data = [ 'id_user' => $this->session->get('id_user'), $data = [
'nama_tahun' => $this->request->getPost('nama_tahun'), 'id_user' => $this->session->get('id_user'),
'tahun_mulai' => $this->request->getPost('tahun_mulai'), 'nama_tahun' => $this->request->getPost('nama_tahun'),
'tahun_selesai' => $this->request->getPost('tahun_selesai'), 'tahun_mulai' => $this->request->getPost('tahun_mulai'),
'keterangan' => $this->request->getPost('keterangan') 'tahun_selesai' => $this->request->getPost('tahun_selesai'),
]; 'keterangan' => $this->request->getPost('keterangan')
];
$m_tahun->tambah($data); $m_tahun->tambah($data);
// masuk database // masuk database
$this->session->setFlashdata('sukses','Data telah ditambah'); $this->session->setFlashdata('sukses', 'Data telah ditambah');
return redirect()->to(base_url('admin/tahun')); return redirect()->to(base_url('admin/tahun'));
}else{ } else {
$data = [ 'title' => 'Master Tahun Ajaran: '.$total->total, $data = [
'tahun' => $tahun, 'title' => 'Master Tahun Ajaran: ' . $total->total,
'content' => 'admin/tahun/index' 'tahun' => $tahun,
]; 'content' => 'admin/tahun/index'
echo view('admin/layout/wrapper',$data); ];
echo view('admin/layout/wrapper', $data);
} }
} }
// edit // edit
public function edit($id_tahun) public function edit($id_tahun)
{ {
$m_tahun = new Tahun_model(); $m_tahun = new Tahun_model();
$tahun = $m_tahun->detail($id_tahun); $tahun = $m_tahun->detail($id_tahun);
// Start validasi // Start validasi
if($this->request->getMethod() === 'post' && $this->validate( if ($this->request->getMethod() === 'post' && $this->validate(
[ [
'nama_tahun' => 'required|min_length[1]', 'nama_tahun' => 'required|min_length[1]',
])) { ]
)) {
$data = [ 'id_tahun' => $id_tahun,
'id_user' => $this->session->get('id_user'), $data = [
'nama_tahun' => $this->request->getPost('nama_tahun'), 'id_tahun' => $id_tahun,
'tahun_mulai' => $this->request->getPost('tahun_mulai'), 'id_user' => $this->session->get('id_user'),
'tahun_selesai' => $this->request->getPost('tahun_selesai'), 'nama_tahun' => $this->request->getPost('nama_tahun'),
'keterangan' => $this->request->getPost('keterangan') 'tahun_mulai' => $this->request->getPost('tahun_mulai'),
]; 'tahun_selesai' => $this->request->getPost('tahun_selesai'),
'keterangan' => $this->request->getPost('keterangan')
];
$m_tahun->edit($data); $m_tahun->edit($data);
// masuk database // masuk database
$this->session->setFlashdata('sukses','Data telah diedit'); $this->session->setFlashdata('sukses', 'Data telah diedit');
return redirect()->to(base_url('admin/tahun')); return redirect()->to(base_url('admin/tahun'));
}else{ } else {
$data = [ 'title' => 'Edit Tahun Ajaran: '.$tahun->nama_tahun, $data = [
'tahun' => $tahun, 'title' => 'Edit Tahun Ajaran: ' . $tahun->nama_tahun,
'content' => 'admin/tahun/edit' 'tahun' => $tahun,
]; 'content' => 'admin/tahun/edit'
echo view('admin/layout/wrapper',$data); ];
echo view('admin/layout/wrapper', $data);
} }
} }
public function tambah()
{
$m_tahun = new \App\Models\Tahun_model();
// Validasi input
if ($this->request->getMethod() === 'post' && $this->validate([
'nama_tahun' => 'required|min_length[1]|is_unique[tahun.nama_tahun]',
'tahun_mulai' => 'required|numeric',
'tahun_selesai' => 'required|numeric',
])) {
// Data yang disimpan ke database
$data = [
'id_user' => $this->session->get('id_user'),
'nama_tahun' => $this->request->getPost('nama_tahun'),
'tahun_mulai' => $this->request->getPost('tahun_mulai'),
'tahun_selesai' => $this->request->getPost('tahun_selesai'),
'keterangan' => $this->request->getPost('keterangan'),
'tanggal_update' => date('Y-m-d H:i:s')
];
$m_tahun->tambah($data);
$this->session->setFlashdata('sukses', 'Data tahun ajaran berhasil ditambahkan');
return redirect()->to(base_url('admin/tahun/index'));
} else {
// Validasi gagal
return redirect()->back()->withInput()->with('errors', $this->validator->getErrors());
}
}
// delete // delete
public function delete($id_tahun) public function delete($id_tahun)
{ {
$m_tahun = new Tahun_model(); $m_tahun = new Tahun_model();
$data = ['id_tahun' => $id_tahun]; $data = ['id_tahun' => $id_tahun];
$m_tahun->delete($data); $m_tahun->delete($data);
// masuk database // masuk database
$this->session->setFlashdata('sukses','Data telah dihapus'); $this->session->setFlashdata('sukses', 'Data telah dihapus');
return redirect()->to(base_url('admin/tahun')); return redirect()->to(base_url('admin/tahun'));
} }
} }

View File

@ -1,4 +1,5 @@
<?php <?php
use App\Models\Agama_model; use App\Models\Agama_model;
use App\Models\Jenjang_model; use App\Models\Jenjang_model;
use App\Models\Pekerjaan_model; use App\Models\Pekerjaan_model;
@ -13,8 +14,8 @@ $m_hubungan = new Hubungan_model();
$m_tahun = new Tahun_model(); $m_tahun = new Tahun_model();
$m_kelas = new Kelas_model(); $m_kelas = new Kelas_model();
echo form_open_multipart(base_url('admin/siswa/edit/'.$siswa->id_siswa)); echo form_open_multipart(base_url('admin/siswa/edit/' . $siswa->id_siswa));
echo csrf_field(); echo csrf_field();
?> ?>
<p class="text-right"> <p class="text-right">
@ -31,10 +32,10 @@ echo csrf_field();
<h4>FOTO SISWA</h4> <h4>FOTO SISWA</h4>
</div> </div>
<div class="card-body text-center"> <div class="card-body text-center">
<?php if($siswa->gambar == '') { ?> <?php if ($siswa->gambar == '') { ?>
<div class="alert alert-info">Belum Ada foto</div> <div class="alert alert-info">Belum Ada foto</div>
<?php } else { ?> <?php } else { ?>
<img src="<?php echo base_url('assets/upload/image/'.$siswa->gambar) ?>" class="img-fluid img-thumbnail" alt="Foto Siswa" style="max-width: 200px; height: auto;"> <img src="<?php echo base_url('assets/upload/image/' . $siswa->gambar) ?>" class="img-fluid img-thumbnail" alt="Foto Siswa" style="max-width: 200px; height: auto;">
<?php } ?> <?php } ?>
</div> </div>
</div> </div>
@ -79,6 +80,23 @@ echo csrf_field();
</div> </div>
</div> </div>
<!-- Jenis Kategori Siswa -->
<div class="form-group row">
<label class="col-3 col-sm-2 col-form-label">Jenis Kategori Siswa<span class="text-danger">*</span></label>
<div class="col-9 col-sm-10">
<div class="custom-control custom-radio custom-control-inline">
<input class="custom-control-input" name="kategori" type="radio" id="customRadioReguler" value="biasa"
<?= (old('kategori', $siswa->kategori ?? '') == 'biasa') ? 'checked' : '' ?> required>
<label for="customRadioReguler" class="custom-control-label">Reguler</label>
</div>
<div class="custom-control custom-radio custom-control-inline">
<input class="custom-control-input" name="kategori" type="radio" id="customRadioBeasiswa" value="beasiswa"
<?= (old('kategori', $siswa->kategori ?? '') == 'beasiswa') ? 'checked' : '' ?> required>
<label for="customRadioBeasiswa" class="custom-control-label">Beasiswa</label>
</div>
</div>
</div>
<!-- Telepon dan Email --> <!-- Telepon dan Email -->
<div class="form-group row"> <div class="form-group row">
<label class="col-3 col-sm-2 col-form-label">Telepon dan Email</label> <label class="col-3 col-sm-2 col-form-label">Telepon dan Email</label>
@ -127,7 +145,7 @@ echo csrf_field();
<div class="col-9 col-sm-10"> <div class="col-9 col-sm-10">
<select name="id_tahun" class="form-control select2" required> <select name="id_tahun" class="form-control select2" required>
<option value="">Pilih Tahun Ajaran</option> <option value="">Pilih Tahun Ajaran</option>
<?php foreach($m_tahun->listing() as $tahun) { ?> <?php foreach ($m_tahun->listing() as $tahun) { ?>
<option value="<?= $tahun->id_tahun ?>" <?= set_select('id_tahun', $tahun->id_tahun, ($siswa->id_tahun == $tahun->id_tahun) ? TRUE : FALSE); ?>> <option value="<?= $tahun->id_tahun ?>" <?= set_select('id_tahun', $tahun->id_tahun, ($siswa->id_tahun == $tahun->id_tahun) ? TRUE : FALSE); ?>>
<?= $tahun->tahun_mulai ?>/<?= $tahun->tahun_selesai ?> - <?= $tahun->nama_tahun ?> <?= $tahun->tahun_mulai ?>/<?= $tahun->tahun_selesai ?> - <?= $tahun->nama_tahun ?>
</option> </option>
@ -142,7 +160,7 @@ echo csrf_field();
<div class="col-9 col-sm-10"> <div class="col-9 col-sm-10">
<select name="id_kelas" class="form-control select2" required> <select name="id_kelas" class="form-control select2" required>
<option value="">Pilih Kelas</option> <option value="">Pilih Kelas</option>
<?php foreach($m_kelas->listing() as $kelas) { ?> <?php foreach ($m_kelas->listing() as $kelas) { ?>
<option value="<?= $kelas->id_kelas ?>" <?= set_select('id_kelas', $kelas->id_kelas, ($siswa->id_kelas == $kelas->id_kelas) ? TRUE : FALSE); ?>> <option value="<?= $kelas->id_kelas ?>" <?= set_select('id_kelas', $kelas->id_kelas, ($siswa->id_kelas == $kelas->id_kelas) ? TRUE : FALSE); ?>>
<?= $kelas->nama_kelas ?> <?= $kelas->nama_kelas ?>
</option> </option>
@ -172,7 +190,7 @@ echo csrf_field();
<div class="form-group row"> <div class="form-group row">
<label class="col-3 col-sm-2 col-form-label">Telepon/HP Ayah<span class="text-danger">*</span></label> <label class="col-3 col-sm-2 col-form-label">Telepon/HP Ayah<span class="text-danger">*</span></label>
<div class="col-9 col-sm-10"> <div class="col-9 col-sm-10">
<input type="text" name="telepon_ayah" class="form-control" placeholder="Telepon/HP Ayah" value="<?= set_value('telepon_ayah', $siswa->telepon_ayah); ?>" required> <input type="text" name="telepon_ayah" class="form-control" placeholder="Telepon/HP Ayah" value="<?= set_value('telepon_ayah', $siswa->telepon_ayah); ?>">
</div> </div>
</div> </div>
</div> </div>
@ -194,7 +212,28 @@ echo csrf_field();
<div class="form-group row"> <div class="form-group row">
<label class="col-3 col-sm-2 col-form-label">Telepon/HP Ibu <span class="text-danger">*</span></label> <label class="col-3 col-sm-2 col-form-label">Telepon/HP Ibu <span class="text-danger">*</span></label>
<div class="col-9 col-sm-10"> <div class="col-9 col-sm-10">
<input type="text" name="telepon_ibu" class="form-control" placeholder="Telepon/HP Ibu" value="<?= set_value('telepon_ibu', $siswa->telepon_ibu); ?>" > <input type="text" name="telepon_ibu" class="form-control" placeholder="Telepon/HP Ibu" value="<?= set_value('telepon_ibu', $siswa->telepon_ibu); ?>">
</div>
</div>
</div>
</div>
<!-- DATA ORANG TUA (WALI) -->
<div class="card mt-4">
<div class="card-header bg-light text-center">
<h4>DATA ORANG TUA SISWA - WALI</h4>
</div>
<div class="card-body">
<div class="form-group row">
<label class="col-3 col-sm-2 col-form-label">Nama Wali<span class="text-danger">*</span></label>
<div class="col-9 col-sm-10">
<input type="text" name="nama_wali" class="form-control" placeholder="Nama Ibu" value="<?= set_value('nama_wali', $siswa->nama_wali); ?>">
</div>
</div>
<div class="form-group row">
<label class="col-3 col-sm-2 col-form-label">Telepon/HP Wali <span class="text-danger">*</span></label>
<div class="col-9 col-sm-10">
<input type="text" name="telepon_wali" class="form-control" placeholder="Telepon/HP Ibu" value="<?= set_value('telepon_wali', $siswa->telepon_wali); ?>">
</div> </div>
</div> </div>
</div> </div>
@ -204,4 +243,4 @@ echo csrf_field();
<button type="submit" class="btn btn-success"><i class="fa fa-save"></i> Simpan</button> <button type="submit" class="btn btn-success"><i class="fa fa-save"></i> Simpan</button>
</div> </div>
<?php echo form_close(); ?> <?php echo form_close(); ?>

View File

@ -3,59 +3,42 @@
<i class="fa fa-plus"></i> Tambah Baru <i class="fa fa-plus"></i> Tambah Baru
</button> </button>
</p> </p>
<?php
echo form_open(base_url('admin/tahun')); <?= form_open(base_url('admin/tahun')) ?>
echo csrf_field(); <?= csrf_field() ?>
$tahun_selesai = date('Y')+1; <?php $tahun_mulai = date('Y');
?> $tahun_selesai = $tahun_mulai + 1; ?>
<div class="modal fade" id="modal-default"> <div class="modal fade" id="modal-default">
<div class="modal-dialog modal-lg"> <div class="modal-dialog modal-lg">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h4 class="modal-title">Tambah Baru</h4> <h4 class="modal-title">Tambah Tahun Ajaran Baru</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body">
<div class="modal-body">
<div class="form-group row"> <div class="form-group row">
<label class="col-3">Tahun Ajaran</label> <label class="col-3">Tahun Ajaran</label>
<div class="col-2"> <div class="col-2">
<select name="tahun_ajaran" class="form-control" required> <input type="number" name="tahun_mulai" class="form-control" placeholder="Tahun Mulai" value="" required>
<option value="" disabled selected>Pilih Tahun Ajaran</option>
<option value="2021/2022" <?php echo set_select('tahun_ajaran', '2021/2022'); ?>>2021/2022</option>
<option value="2022/2023" <?php echo set_select('tahun_ajaran', '2022/2023'); ?>>2022/2023</option>
<!-- Tambahkan pilihan tahun ajaran lainnya sesuai kebutuhan -->
</select>
</div> </div>
</div> <div class="col-1 text-center">/</div>
<div class="col-2">
<div class="form-group row"> <input type="number" name="tahun_selesai" class="form-control" placeholder="Tahun Selesai" value="" required>
<label class="col-3">Kelas Saat Masuk</label>
<div class="col-9">
<select name="kelas" class="form-control" required>
<option value="" disabled selected>Pilih Kelas</option>
<option value="1" <?php echo set_select('kelas', '1'); ?>>Kelas 1</option>
<option value="2" <?php echo set_select('kelas', '2'); ?>>Kelas 2</option>
<option value="3" <?php echo set_select('kelas', '3'); ?>>Kelas 3</option>
<option value="4" <?php echo set_select('kelas', '4'); ?>>Kelas 4</option>
<option value="5" <?php echo set_select('kelas', '5'); ?>>Kelas 5</option>
<option value="6" <?php echo set_select('kelas', '6'); ?>>Kelas 6</option>
<!-- Tambahkan pilihan kelas lainnya sesuai kebutuhan -->
</select>
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label class="col-3">Nama Jenjang</label> <label class="col-3">Nama Jenjang</label>
<div class="col-9"> <div class="col-9">
<input type="text" name="nama_tahun" class="form-control" placeholder="Nama tahun" value="<?php echo set_value('nama_tahun') ?>" required> <input type="text" name="nama_tahun" class="form-control" placeholder="Contoh: 2025/2026 - Kelas 1" value="" required>
<small class="text-gray">Misal: Tahun Ajaran <?php echo date('Y').'/'.$tahun_selesai; ?></small>
</div> </div>
</div> </div>
</div> </div>
<div class="modal-footer justify-content-end"> <div class="modal-footer justify-content-end">
<button type="button" class="btn btn-default" data-dismiss="modal"><i class="fa fa-times"></i> Close</button> <button type="button" class="btn btn-default" data-dismiss="modal"><i class="fa fa-times"></i> Close</button>
<button type="submit" class="btn btn-success"><i class="fa fa-save"></i> Simpan</button> <button type="submit" class="btn btn-success"><i class="fa fa-save"></i> Simpan</button>
@ -63,4 +46,5 @@ $tahun_selesai = date('Y')+1;
</div> </div>
</div> </div>
</div> </div>
<?php echo form_close(); ?>
<?= form_close() ?>

View File

@ -81,8 +81,8 @@
<td><?= esc($row['detail']) ?></td> <td><?= esc($row['detail']) ?></td>
<td class="text-center"><?= date('d-m-Y H:i', strtotime($row['created_at'])) ?></td> <td class="text-center"><?= date('d-m-Y H:i', strtotime($row['created_at'])) ?></td>
<td class="text-center"> <td class="text-center">
<a href="<?= base_url('admin/input_tagihan/detail/' . $row['id']) ?>" class="btn btn-info btn-sm mb-1" title="Detail"><i class="fa fa-eye"></i></a> <!-- <a href="<?= base_url('admin/input_tagihan/detail/' . $row['id']) ?>" class="btn btn-info btn-sm mb-1" title="Detail"><i class="fa fa-eye"></i></a> -->
<a href="<?= base_url('admin/input_tagihan/edit/' . $row['id']) ?>" class="btn btn-warning btn-sm mb-1" title="Edit"><i class="fa fa-edit"></i></a> <!-- <a href="<?= base_url('admin/input_tagihan/edit/' . $row['id']) ?>" class="btn btn-warning btn-sm mb-1" title="Edit"><i class="fa fa-edit"></i></a> -->
<a href="<?= base_url('staff_keuangan/input_tagihan/delete/' . $row['id']) ?>" class="btn btn-danger btn-sm mb-1 delete-link" title="Hapus"><i class="fa fa-trash"></i></a> <a href="<?= base_url('staff_keuangan/input_tagihan/delete/' . $row['id']) ?>" class="btn btn-danger btn-sm mb-1 delete-link" title="Hapus"><i class="fa fa-trash"></i></a>
</td> </td>
</tr> </tr>

Binary file not shown.