Postingan lainnya
Kelas Premium!
Belajar Javascript untuk website
Gunakan kupon "mulaijs" untuk diskon 75 ribu!
Membatasi Tombol Tambah Pada CodeIgniter
selamat malam tmn",
mohon bantuannya : saya mau membatasi tombol "tambah" pada menu pengajuan judul, jadi ketika mahasiswa belum mengupload bukti/bukti ditolak (Menu Verifikasi TA) maka tombol tambah pada menu pengajuan judul akan tidak muncul. sy udah coba pake kondisi if tp masih ada tombol tambahnya, ada yang punya solusi ?
controller pengajuan_judul
public function pengajuanjudul()
{
if ($this->session->userdata('role_id') == 2) {
$owner_id = $this->User_Model->getid($this->session->userdata('email'));
$data['title'] = 'Mhs - Pengajuan Judul TA';
$data['pengajuan_judul'] = $this->Pengajuan_Model->getPengajuan_ownerid($owner_id)->result_array();
$data['user'] = $this->db->get_where('user', ['email' => $this->session->userdata('email')])->row_array();
} else {
$data['title'] = 'Pengajuan Judul TA';
$id_dosen = $this->session->userdata('id_dosen'); // <-- Ambil nilai ID Dosen yang
$data['bimbingan'] = $this->Bimbinganta_Model->getAllBimbinganByIdDosen($id_dosen);
$data['user'] = $this->db->get_where('user', ['email' => $this->session->userdata('email')])->row_array();
$data['pengajuan_judul'] = $this->Pengajuan_Model->getAllPengajuan();
}
$data['verifikasi_ta'] = $this->db->get_where('verifikasi_ta', ['status'])->row_array();
$this->load->view('templates/header', $data);
$this->load->view('templates/sidebar', $data);
$this->load->view('templates/topbar', $data);
$this->load->view('akademik/pengajuanjudul', $data);
$this->load->view('templates/footer');
}
view pengajuan_judul
!-- Begin Page Content -->
<div class="container-fluid">
<div class="flash-data" data-flashdata="<?= $this->session->flashdata('flash'); ?>"></div>
<!-- Page Heading -->
<h1 class="h3 mb-4 text-gray-800"><?= $title; ?></h1>
<!-- cek apakah verifikasi diterima -->
<?php if ($verifikasi_ta['status'] == 'Diterima') : ?>
<div class="row">
<div class="col-md-6">
<a href="<?= base_url('akademik/tambahpengajuan'); ?>" class="btn btn-primary">Tambah</a>
</div>
</div><br>
<?php else : ?>
<div class="alert alert-primary d-flex align-items-center" role="alert">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="bi bi-exclamation-triangle-fill flex-shrink-0 me-2" viewBox="0 0 16 16" role="img" aria-label="Warning:">
<path d="M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z" />
</svg>
<div>
Selesaikan verifikasi terlebih dahulu !
</div>
</div>
<?php endif; ?>
tombol tambah
menu verifikasidatabase
2 Jawaban:
Halo, bisa dicek untuk nilai
$verifikasi_ta['status'] == 'Diterima'
bisa jadi akun yang kamu test memang statusnya "direrima", jadi normal tombolnya muncul
Berikut solusi yang bisa dicoba:
- Pindahkan logika pengecekan verifikasi TA ke dalam model Pengajuan_Model, buat method baru misalnya
is_verified()
// Pengajuan_Model
public function is_verified() {
// cek apakah verifikasi TA diterima
$status = $this->db->get_where('verifikasi_ta', ['status'])->row_array();
if($status['status'] == 'Diterima') {
return true;
} else {
return false;
}
}
- Pada controller dan view, panggil method ini:
// Controller
$is_verified = $this->Pengajuan_Model->is_verified();
// View
if($is_verified) {
// tampilkan tombol tambah
} else {
// tampilkan pesan belum diverifikasi
}
- Ubah logika if di view, jadi cek $is_verified bukan lagi query ke DB
Dengan cara ini kode lebih rapi, logika bisnis ada di model, dan view lebih clean.