load->model('DynamicModel', 'dm'); if (!$this->session->userdata('logged_in')) { redirect('auth'); } } public function index() { $data = ["active_menu" => "customers"]; $this->load->view('partials/header', $data); $this->load->view('customers/layout'); $this->load->view('partials/footer'); } // ========================= // DATATABLE // ========================= public function get_data() { $this->dm->setTable('customers') ->setColumn( [null,'nama','alamat','telp','email',null], ['nama','alamat','telp','email'], ['id'=>'DESC'] ); $list = $this->dm->get_datatables(); $data = []; $no = $_POST['start']; foreach ($list as $row) { $no++; $aksi = ' '; $data[] = [ $no, $row->nama, $row->alamat, $row->telp, $row->email, $aksi ]; } echo json_encode([ "draw" => $_POST['draw'], "recordsTotal" => $this->dm->count_all(), "recordsFiltered" => $this->dm->count_filtered(), "data" => $data ]); } // ========================= // SAVE // ========================= public function save() { $data = [ 'nama' => $this->input->post('nama'), 'alamat' => $this->input->post('alamat'), 'telp' => $this->input->post('telp'), 'email' => $this->input->post('email') ]; if (!$data['nama']) { echo json_encode(['status'=>false,'message'=>'Nama wajib diisi']); return; } $this->dm->setTable('customers')->insert($data); // ================= LOG ACTIVITY ================= log_activity( 'customers', 'create', 'Menambahkan customer: '.$data['nama'], 'success' ); echo json_encode(['status'=>true,'message'=>'Data berhasil disimpan']); } // ========================= // DETAIL // ========================= public function detail($id) { $data = $this->dm->setTable('customers')->get_by_id($id); echo json_encode($data); } // ========================= // UPDATE // ========================= public function update() { $id = $this->input->post('id'); $data = [ 'nama' => $this->input->post('nama'), 'alamat' => $this->input->post('alamat'), 'telp' => $this->input->post('telp'), 'email' => $this->input->post('email') ]; $this->dm->setTable('customers')->update($id, $data); // ================= LOG ACTIVITY ================= log_activity( 'customers', 'update', 'Mengubah customer ID: '.$id.' ('.$data['nama'].')', 'success' ); echo json_encode(['status'=>true,'message'=>'Data berhasil diupdate']); } // ========================= // DELETE // ========================= public function delete($id) { $this->dm->setTable('customers')->delete($id); // ================= LOG ACTIVITY ================= log_activity( 'customers', 'delete', 'Menghapus customer: '.($customer->nama ?? 'ID '.$id), 'success' ); echo json_encode(['status'=>true,'message'=>'Data berhasil dihapus']); } }