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

View File

@ -1,4 +1,5 @@
<?php
<?php
namespace App\Controllers\Admin;
use CodeIgniter\Controller;
@ -10,78 +11,115 @@ class Tahun extends BaseController
// mainpage
public function index()
{
$m_tahun = new Tahun_model();
$tahun = $m_tahun->listing();
$total = $m_tahun->total();
// 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]',
])) {
]
)) {
// masuk 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')
];
$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')
];
$m_tahun->tambah($data);
// masuk database
$this->session->setFlashdata('sukses','Data telah ditambah');
$this->session->setFlashdata('sukses', 'Data telah ditambah');
return redirect()->to(base_url('admin/tahun'));
}else{
$data = [ 'title' => 'Master Tahun Ajaran: '.$total->total,
'tahun' => $tahun,
'content' => 'admin/tahun/index'
];
echo view('admin/layout/wrapper',$data);
} else {
$data = [
'title' => 'Master Tahun Ajaran: ' . $total->total,
'tahun' => $tahun,
'content' => 'admin/tahun/index'
];
echo view('admin/layout/wrapper', $data);
}
}
// edit
public function edit($id_tahun)
{
$m_tahun = new Tahun_model();
$tahun = $m_tahun->detail($id_tahun);
// Start validasi
if($this->request->getMethod() === 'post' && $this->validate(
if ($this->request->getMethod() === 'post' && $this->validate(
[
'nama_tahun' => 'required|min_length[1]',
])) {
$data = [ 'id_tahun' => $id_tahun,
'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')
];
'nama_tahun' => 'required|min_length[1]',
]
)) {
$data = [
'id_tahun' => $id_tahun,
'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')
];
$m_tahun->edit($data);
// masuk database
$this->session->setFlashdata('sukses','Data telah diedit');
$this->session->setFlashdata('sukses', 'Data telah diedit');
return redirect()->to(base_url('admin/tahun'));
}else{
$data = [ 'title' => 'Edit Tahun Ajaran: '.$tahun->nama_tahun,
'tahun' => $tahun,
'content' => 'admin/tahun/edit'
];
echo view('admin/layout/wrapper',$data);
} else {
$data = [
'title' => 'Edit Tahun Ajaran: ' . $tahun->nama_tahun,
'tahun' => $tahun,
'content' => 'admin/tahun/edit'
];
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
public function delete($id_tahun)
{
$m_tahun = new Tahun_model();
$data = ['id_tahun' => $id_tahun];
$m_tahun->delete($data);
// masuk database
$this->session->setFlashdata('sukses','Data telah dihapus');
$this->session->setFlashdata('sukses', 'Data telah dihapus');
return redirect()->to(base_url('admin/tahun'));
}
}
}

View File

@ -1,4 +1,5 @@
<?php
<?php
use App\Models\Agama_model;
use App\Models\Jenjang_model;
use App\Models\Pekerjaan_model;
@ -13,8 +14,8 @@ $m_hubungan = new Hubungan_model();
$m_tahun = new Tahun_model();
$m_kelas = new Kelas_model();
echo form_open_multipart(base_url('admin/siswa/edit/'.$siswa->id_siswa));
echo csrf_field();
echo form_open_multipart(base_url('admin/siswa/edit/' . $siswa->id_siswa));
echo csrf_field();
?>
<p class="text-right">
@ -31,10 +32,10 @@ echo csrf_field();
<h4>FOTO SISWA</h4>
</div>
<div class="card-body text-center">
<?php if($siswa->gambar == '') { ?>
<?php if ($siswa->gambar == '') { ?>
<div class="alert alert-info">Belum Ada foto</div>
<?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 } ?>
</div>
</div>
@ -79,6 +80,23 @@ echo csrf_field();
</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 -->
<div class="form-group row">
<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">
<select name="id_tahun" class="form-control select2" required>
<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); ?>>
<?= $tahun->tahun_mulai ?>/<?= $tahun->tahun_selesai ?> - <?= $tahun->nama_tahun ?>
</option>
@ -142,7 +160,7 @@ echo csrf_field();
<div class="col-9 col-sm-10">
<select name="id_kelas" class="form-control select2" required>
<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); ?>>
<?= $kelas->nama_kelas ?>
</option>
@ -172,7 +190,7 @@ echo csrf_field();
<div class="form-group row">
<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">
<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>
@ -194,7 +212,28 @@ echo csrf_field();
<div class="form-group row">
<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">
<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>
@ -204,4 +243,4 @@ echo csrf_field();
<button type="submit" class="btn btn-success"><i class="fa fa-save"></i> Simpan</button>
</div>
<?php echo form_close(); ?>
<?php echo form_close(); ?>

View File

@ -3,59 +3,42 @@
<i class="fa fa-plus"></i> Tambah Baru
</button>
</p>
<?php
echo form_open(base_url('admin/tahun'));
echo csrf_field();
$tahun_selesai = date('Y')+1;
?>
<?= form_open(base_url('admin/tahun')) ?>
<?= csrf_field() ?>
<?php $tahun_mulai = date('Y');
$tahun_selesai = $tahun_mulai + 1; ?>
<div class="modal fade" id="modal-default">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<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">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="modal-body">
<div class="form-group row">
<label class="col-3">Tahun Ajaran</label>
<div class="col-2">
<select name="tahun_ajaran" class="form-control" 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>
<input type="number" name="tahun_mulai" class="form-control" placeholder="Tahun Mulai" value="" required>
</div>
</div>
<div class="form-group row">
<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 class="col-1 text-center">/</div>
<div class="col-2">
<input type="number" name="tahun_selesai" class="form-control" placeholder="Tahun Selesai" value="" required>
</div>
</div>
<div class="form-group row">
<label class="col-3">Nama Jenjang</label>
<div class="col-9">
<input type="text" name="nama_tahun" class="form-control" placeholder="Nama tahun" value="<?php echo set_value('nama_tahun') ?>" required>
<small class="text-gray">Misal: Tahun Ajaran <?php echo date('Y').'/'.$tahun_selesai; ?></small>
<input type="text" name="nama_tahun" class="form-control" placeholder="Contoh: 2025/2026 - Kelas 1" value="" required>
</div>
</div>
</div>
<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="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>
<?php echo form_close(); ?>
<?= form_close() ?>

View File

@ -81,8 +81,8 @@
<td><?= esc($row['detail']) ?></td>
<td class="text-center"><?= date('d-m-Y H:i', strtotime($row['created_at'])) ?></td>
<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/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/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('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>
</tr>

Binary file not shown.