CodeIgniter Forums
SHOW THE DELETE BUTTON ACCORDING TO THE ROLE - Printable Version

+- CodeIgniter Forums (https://forum.codeigniter.com)
+-- Forum: Development (https://forum.codeigniter.com/forumdisplay.php?fid=6)
+--- Forum: CodeIgniter 3.x (https://forum.codeigniter.com/forumdisplay.php?fid=17)
+--- Thread: SHOW THE DELETE BUTTON ACCORDING TO THE ROLE (/showthread.php?tid=83103)



SHOW THE DELETE BUTTON ACCORDING TO THE ROLE - reyaryt - 09-20-2022

* I have 10 level role in database:
> tbl_user_level (for role): 1. id_user_level (primary), 2. level_name
> tbl_user: 1. id_user(primary) , 2. name , 3. email
> tbl_peran (to devide users according their roles) : 1. id_peran(primary) , 2. id_users(foreign for tbl_user) , 3. id_user_level(foreign for tbl_user_level)
* This is the code in Controllers:
> Pendaftaran.php
PHP Code:
public function index()
    {
        $cara_masuk_url $this->uri->segment(3);
        if ($cara_masuk_url == 'ralan') {
            $cara_masuk "RAWAT JALAN";
            $cara_masuk_url =  "/ralan";
        } else if ($cara_masuk_url == 'ugd') {
            $cara_masuk "UGD";
            $cara_masuk_url =  "/ugd";
        } else {
            $cara_masuk "RAWAT INAP";
            $cara_masuk_url =  "";
        }
        $q urldecode($this->input->get('q'TRUE));
        $start intval($this->input->get('start'));

        if ($q <> '') {
            $config['base_url'] = base_url() . 'pendaftaran/index' $cara_masuk_url '?q=' urlencode($q);
            $config['first_url'] = base_url() . 'pendaftaran/index' $cara_masuk_url '?q=' urlencode($q);
        } else {
            $config['base_url'] = base_url() . 'pendaftaran/index' $cara_masuk_url;
            $config['first_url'] = base_url() . 'pendaftaran/index' $cara_masuk_url;
        }

        $config['per_page'] = 10;
        $config['page_query_string'] = TRUE;
        $config['total_rows'] = $this->Tbl_pendaftaran_model->total_rows($cara_masuk);
        $pendaftaran $this->Tbl_pendaftaran_model->get_limit_data($config['per_page'], $start$q$cara_masuk);
        $config['full_tag_open'] = '<ul class="pagination pagination-sm no-margin pull-right">';
        $config['full_tag_close'] = '</ul>';
        $user_id $this->session->userdata("id_users");
        $this->load->library('pagination');
        $this->pagination->initialize($config);

        $data = array(
            'pendaftaran_data' => $pendaftaran,
            'cara_masuk' => $cara_masuk,
            'cara_masuk_url' => $cara_masuk_url,
            'q' => $q,
            'pagination' => $this->pagination->create_links(),
            'total_rows' => $config['total_rows'],
            'start' => $start,
            'id_user' => $user_id,
        );
        $this->template->load('template''pendaftaran/tbl_pendaftaran_list'$data); 

* This is the code in Views:

PHP Code:
<table class="table table-bordered" style="margin-bottom: 10px">
                            <th>No Registrasi</th>
                            <th>No Rawat</th>
                            <th>No Rekam Medis</th>
                            <th>Nama Pasien</th>
                            <th>Dokter Penanggung Jawab</th>
                            <?php
                            
if ($this->uri->segment(3) == 'ralan') {
                                echo "<th>Poliklinik</th>";
                            } else if ($this->uri->segment(3) == 'ugd') {
                            } else {
                                echo "<th>Nama Ruangan</th>";
                            }
                            ?>

                            <th>Jenis Bayar</th>
                            <th>Action</th>
                            </tr><?php
                                    
foreach ($pendaftaran_data as $pendaftaran) {
                                    ?>
                                <tr>
                                    <td><?php echo $pendaftaran->no_registrasi ?></td>
                                    <td><?php echo $pendaftaran->no_rawat ?></td>
                                    <td><?php echo $pendaftaran->no_rekamedis ?></td>
                                    <td><?php echo $pendaftaran->nama_pasien ?></td>
                                    <td><?php echo $pendaftaran->nama_dokter ?></td>
                                    <?php

                                        
if ($this->uri->segment(3) == 'ralan') {
                                            echo "<td>$pendaftaran->nama_poliklinik</td>";
                                        } else if ($this->uri->segment(3) == 'ugd') {
                                        } else {
                                            // cari data rawat inap
                                            $ranap $this->db->get_where('tbl_rawat_inap', array('no_rawat' => $pendaftaran->no_rawat))->row_array();
                                            $kodeTempatTidur $ranap['kode_tempat_tidur'];
                                            $sqlRuangRanap "SELECT ri.nama_ruangan 
                                                FROM tbl_tempat_tidur as tt,tbl_ruang_rawat_inap as ri 
                                                WHERE tt.kode_ruang_rawat_inap=ri.kode_ruang_rawat_inap
                                                and tt.kode_tempat_tidur='
$kodeTempatTidur'";
                                            $bed $this->db->query($sqlRuangRanap)->row_array();
                                            $ruangan $bed['nama_ruangan'];
                                            echo "<td>$ruangan</td>";
                                        }
                                    ?>
                                    <td><?php echo $pendaftaran->jenis_bayar ?></td>
                                    <td style="text-align:center" width="160px">
                                        <?php if ($this->session->userdata('id_user_level') == 1) {
                                            echo anchor(site_url('pendaftaran/detail/' $pendaftaran->no_rawat), '<i class="fa fa-eye" aria-hidden="true"></i>''class="btn btn-default btn-sm"');
                                            echo '  ';
                                            echo anchor(site_url('pendaftaran/update/' $pendaftaran->no_rawat), '<i class="fa fa-edit" aria-hidden="true"></i>''class="btn btn-default btn-sm"');
                                            echo '  ';
                                            echo anchor(site_url('pendaftaran/delete/' $pendaftaran->no_rawat), '<i class="fa fa-trash" aria-hidden="true"></i>''class="btn btn-default btn-sm" Delete''onclick="javasciprt: return confirm(\'Are You Sure ?\')"');
                                        } else {
                                            echo anchor(site_url('pendaftaran/detail/' $pendaftaran->no_rawat), '<i class="fa fa-eye" aria-hidden="true"></i>''class="btn btn-default btn-sm"');
                                            echo '  ';
                                            echo anchor(site_url('pendaftaran/update/' $pendaftaran->no_rawat), '<i class="fa fa-edit" aria-hidden="true"></i>''class="btn btn-default btn-sm"');
                                        }
                                        ?>
                                    </td>
                                </tr>
                            <?php
                                    
}
                            ?>
                        </table> 

* This is the code in Models:
PHP Code:
function get_limit_data($limit 18446744073709551615$start 0$q ""$cara_masuk 0)
    {

        if ($cara_masuk !== 0) {
            $this->db->where('tbl_pendaftaran.cara_masuk'$cara_masuk);
        }

        //$this->db->where('tbl_pendaftaran.tanggal_daftar',date('Y-m-d'));

        $this->db->group_start();
        $this->db->like('no_rawat'$q);
        $this->db->or_like('tbl_pasien.nama_pasien'$q);
        $this->db->or_like('tbl_pendaftaran.no_rekamedis'$q);
        $this->db->or_like('tbl_pendaftaran.cara_masuk'$q);
        $this->db->or_like('tbl_dokter.nama_dokter'$q);
        $this->db->group_end();

        $this->db->order_by('tbl_pendaftaran.no_rawat''DESC');
        // $this->db->or_like('tbl_pendaftaran.tanggal_daftar', $q);
        // $this->db->or_like('tbl_pendaftaran.id_poli', $q);
        // $this->db->or_like('tbl_pendaftaran.nama_penanggung_jawab', $q);
        // $this->db->or_like('tbl_pendaftaran.hubungan_dengan_penanggung_jawab', $q);
        // $this->db->or_like('tbl_pendaftaran.alamat_penanggung_jawab', $q);
        // $this->db->or_like('tbl_pendaftaran.id_jenis_bayar', $q);
        // $this->db->or_like('tbl_pendaftaran.asal_rujukan', $q);


        $this->db->join('tbl_poliklinik''tbl_poliklinik.id_poliklinik=tbl_pendaftaran.id_poli');
        $this->db->join('tbl_pasien''tbl_pasien.no_rekamedis=tbl_pendaftaran.no_rekamedis');
        $this->db->join('tbl_jenis_bayar''tbl_jenis_bayar.id_jenis_bayar=tbl_pendaftaran.id_jenis_bayar');
        $this->db->join('tbl_dokter''tbl_dokter.kode_dokter=tbl_pendaftaran.kode_dokter_penanggung_jawab');
        // $this->db->join('tbl_user_level.id_user_level=tbl_user.id_users');
        // $this->db->join('tbl_akses', 'tbl_akses.id_user_level=tbl_peran.id_user_level');
        $this->db->limit($limit$start);
        return $this->db->get($this->table)->result();
    


* My problem is I don't know how to show the delete button according to the role. I hope you can help me, thank you all Smile