Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
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 verifikasi
database
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.