MIF_E31211958/app/Controllers/Guru.php

152 lines
5.1 KiB
PHP

<?php
namespace App\Controllers;
use App\Models\ModelGuru;
class Guru extends BaseController
{
protected $GuruModel;
function __construct()
{
$this->GuruModel = new ModelGuru();
}
public function index()
{
if (session()->has('nip') && session()->has('username')) {
$data = array(
'body' => 'Guru/list',
'guru' => $this->GuruModel->getGuru(),
'guru2' => $this->GuruModel->getGuru2(),
'username' => session('username'),
'nama' => session('nama'),
'hak_akses' => session('hak_akses'),
);
return view('index', $data);
} else {
// Jika pengguna belum login, arahkan ke halaman login
return redirect()->to(base_url() . 'login');
}
}
public function input()
{
if (session()->has('nip') && session()->has('username')) {
$data = array(
'body' => 'Guru/input',
'username' => session('username'),
'nama' => session('nama'),
'hak_akses' => session('hak_akses'),
);
return view('index', $data);
} else {
// Jika pengguna belum login, arahkan ke halaman login
return redirect()->to(base_url() . 'login');
}
}
public function insert()
{
$nip = $this->request->getPost('nip');
$username = $this->request->getPost('username');
// Check if NIP or username already exist
if ($this->GuruModel->check_nip_exists($nip)) {
session()->setFlashdata('warning', 'NIP sudah ada di database!');
return redirect()->to(base_url() . 'guru/input');
}
if ($this->GuruModel->check_username_exists($username)) {
session()->setFlashdata('warning', 'Username sudah ada di database!');
return redirect()->to(base_url() . 'guru/input');
}
$data = array(
'nip' => $nip,
'nama_guru' => $this->request->getPost('nama_guru'),
'tanggal_lahir' => $this->request->getPost('tanggal_lahir'),
'jenis_kelamin' => $this->request->getPost('jenis_kelamin'),
'alamat' => $this->request->getPost('alamat'),
'jabatan' => $this->request->getPost('jabatan'),
'username' => $username,
'password' => $this->request->getPost('password'),
'hak_akses' => $this->request->getPost('hak_akses'),
'is_aktif' => 1,
);
if ($this->GuruModel->insert_guru($data)) {
session()->setFlashdata('success', 'Berhasil Menambahkan Data Guru!');
return redirect()->to(base_url() . 'guru/list');
} else {
session()->setFlashdata('error', 'Gagal Menambahkan Data Guru!');
return redirect()->to(base_url() . 'guru/input');
}
}
public function edit($id)
{
if (session()->has('nip') && session()->has('username')) {
$data_guru = new ModelGuru();
$data = array(
'body' => 'Guru/edit',
'data' => $data_guru->getById($id)->getRow(),
'username' => session('username'),
'nama' => session('nama'),
'hak_akses' => session('hak_akses'),
);
return view('index', $data);
} else {
// Jika pengguna belum login, arahkan ke halaman login
return redirect()->to(base_url() . 'login');
}
}
public function update($id)
{
$data = $this->GuruModel->update($id, [
'nip' => $this->request->getVar('nip'),
'nama_guru' => $this->request->getVar('nama_guru'),
'tanggal_lahir' => $this->request->getVar('tanggal_lahir'),
'jenis_kelamin' => $this->request->getVar('jenis_kelamin'),
'alamat' => $this->request->getVar('alamat'),
'jabatan' => $this->request->getVar('jabatan'),
'username' => $this->request->getVar('username'),
'password' => $this->request->getVar('password'),
'hak_akses' => $this->request->getVar('hak_akses'),
]);
if ($data == true) {
return redirect()->to(base_url() . 'guru/list')->with('success', 'Data Berhasil Diubah!');
} else {
return redirect()->to(base_url() . 'guru/edit')->with('error', 'Data Gagal Diubah');
}
}
public function delete($id)
{
$data = $this->GuruModel->update($id, [
'is_aktif' => 0,
]);
if ($data == true) {
return redirect()->to(base_url() . 'guru/list')->with('success', 'Data Berhasil Dihapus!');
} else {
return redirect()->to(base_url() . 'guru/list')->with('success', 'Data Gagal Dihapus!');
}
}
public function restore($id)
{
$data = $this->GuruModel->update($id, [
'is_aktif' => 1,
]);
if ($data == true) {
return redirect()->to(base_url() . 'guru/list')->with('success', 'Data Berhasil Dipulihkan!');
} else {
return redirect()->to(base_url() . 'guru/list')->with('success', 'Data Gagal Dipulihkan!');
}
}
}