Lampiran Code Program
Lampiran Code Program
parent::initController($request, $builder-
$response, $logger); >select('surat_masuk.*, instansi.*');
if (!empty($tahun)) { $postData['file_surat'] =
$newName;
$data['data_suratmasuk'] =
$this->Suratmasukmodel- }
>getDataFilteredByTahun($tahun); try {
} else { $this->Suratmasukmodel-
$data['data_suratmasuk'] = >insert($postData);
$this->Suratmasukmodel- session()-
>getAllData(); >setFlashdata('success', 'Data
} berhasil ditambahkan!');
$level = session()->get('level'); }
}
$file = $this->request-
>getFile('file_surat');
public function
edit_suratmasuk($id_sm) { if ($file && $file->isValid()
&& !$file->hasMoved()) {
$suratmasuk = $this-
>Suratmasukmodel->find($id_sm); $newName = $file-
>getRandomName();
$instansi = $this-
>Suratmasukmodel->get_instansi(); $file->move(WRITEPATH
. 'uploads', $newName);
return view('edit_suratmasuk',
['suratmasuk' => $suratmasuk, $data['file_surat'] =
'instansi' => $instansi]); $newName;
} }
$this->Suratmasukmodel-
>update($id_sm, $data);
public function
proses_edit_suratmasuk() { session()-
>setFlashdata('success', 'Data Surat
try { Masuk berhasil diupdate!');
$postData = $this->request- return redirect()-
>getPost(); >to(site_url('view_suratmasuk'));
$id_sm = $postData['id_sm']; } catch (\Exception $e) {
$suratmasuk = $this- session()-
>Suratmasukmodel->find($id_sm); >setFlashdata('error', 'Gagal
$data = [ mengupdate data: '. $e-
>getMessage());
'tanggal_diterima' =>
$postData['tanggal_diterima'], return redirect()-
>to(site_url('view_suratmasuk'));
'instansi' =>
$postData['instansi_id'], }
'nomor_surat' => }
$postData['nomor_surat'],
'tanggal_surat' => public function
$postData['tanggal_surat'], delete_suratmasuk($id_sm) {
'sifat' => $postData['sifat'], $suratmasuk = $this-
'perihal' => >Suratmasukmodel->find($id_sm);
$postData['perihal'], if ($suratmasuk) {
'keterangan' => $file_path = WRITEPATH.
$postData['keterangan'], 'uploads/'. $suratmasuk->file_surat;
];
if (file_exists($file_path)) { return $this->response-
>setStatusCode(404)->setBody("File
unlink($file_path); not found");
} }
$this->Suratmasukmodel- }
>delete($id_sm);
session()-
>setFlashdata('success', 'Data Surat public function printsm() {
Masuk berhasil dihapus!');
$tahun = $this->request-
return redirect()- >getGet('tahun');
>to(site_url('view_suratmasuk'));
$bulan = $this->request-
} else { >getGet('bulan');
session()- $tanggal_awal = $this->request-
>setFlashdata('error', 'Data Surat >getGet('tanggal_awal');
Masuk tidak ditemukan!');
$tanggal_akhir = $this-
return redirect()- >request->getGet('tanggal_akhir');
>to(site_url('view_suratmasuk'));
$suratmasuk_model = new
} SuratmasukModel();
} if ($tahun) {
$suratmasuk_model-
>where('YEAR(tanggal_diterima)',
public function $tahun);
viewFile($fileName) {
}
$filePath = WRITEPATH .
'uploads/' . $fileName; if ($bulan) {
if (file_exists($filePath)) { $suratmasuk_model-
>where('MONTH(tanggal_diterima)',
$fileContent = $bulan);
file_get_contents($filePath);
}
$contentType =
mime_content_type($filePath); if ($tanggal_awal &&
$tanggal_akhir) {
$this->response-
>setStatusCode(200)- $suratmasuk_model-
>setContentType($contentType)- >where('tanggal_diterima >=',
>setBody($fileContent); $tanggal_awal);
return $this->response; $suratmasuk_model-
>where('tanggal_diterima <=',
} else { $tanggal_akhir);
} $suratmasuk_model-
>where('tanggal_diterima >=',
$data_suratmasuk = $tanggal_awal);
$suratmasuk_model->findAll();
$suratmasuk_model-
$print_view = >where('tanggal_diterima <=',
view('suratmasuk/print_suratmasuk', $tanggal_akhir);
['data_suratmasuk' =>
$data_suratmasuk]); }
echo $print_view; $data_suratmasuk =
$suratmasuk_model->findAll();
}
return
view('suratmasuk/view_suratmasuk',
public function view_suratmasuk() [
{ 'data_suratmasuk' =>
$tahun = $this->request- $data_suratmasuk,
>getGet('tahun'); 'tahun' => $tahun,
$bulan = $this->request- 'bulan' => $bulan,
>getGet('bulan');
'tanggal_awal' =>
$tanggal_awal = $this->request- $tanggal_awal,
>getGet('tanggal_awal');
'tanggal_akhir' =>
$tanggal_akhir = $this- $tanggal_akhir,
>request->getGet('tanggal_akhir');
]);
$suratmasuk_model = new
SuratmasukModel(); }
if ($tahun) { }
$suratmasuk_model- SuratKeluarController.php
>where('YEAR(tanggal_diterima)',
$tahun); <?php
}
if ($bulan) { namespace App\Controllers;
$suratmasuk_model-
>where('MONTH(tanggal_diterima)', use CodeIgniter\Controller;
$bulan);
use App\Models\Suratkeluarmodel;
}
if ($tanggal_awal &&
$tanggal_akhir) { class Suratkeluar extends Controller
{
public function filter() {
protected $Suratkeluarmodel; $tahun = $this->request-
>getPost('tahun');
$isAdmin = $this->session-
public function initController(\ >get('role') === 'admin';
CodeIgniter\HTTP\RequestInterface
$request, \CodeIgniter\HTTP\
ResponseInterface $response, \Psr\
Log\LoggerInterface $logger) { if ($isAdmin) {
parent::initController($request, $data['data_suratkeluar'] =
$response, $logger); $this->Suratkeluarmodel-
>getAllData();
$this->Suratkeluarmodel = new
Suratkeluarmodel(); $view = 'view_suratkeluar';
} } else {
$data['data_suratkeluar'] = !
empty($tahun)
public function index() {
? $this->Suratkeluarmodel-
$all_data_suratkeluar = $this- >getDataFilteredByTahun($tahun)
>Suratkeluarmodel->findAll();
: $this->Suratkeluarmodel-
$years = $this- >getAllData();
>Suratkeluarmodel->getAllYears();
$view =
$selectedYear = $this->request- 'user/view_suratkeluar2';
>getGet('tahun') ?? '';
}
$isAdmin = true;
'all_data_suratkeluar' =>
$all_data_suratkeluar, public function add_suratkeluar()
'years' => $years, {
]); }
}
public function $suratkeluar = $this-
proses_add_suratkeluar() { >Suratkeluarmodel->find($id_sk);
$postData = $this->request- return view('edit_suratkeluar',
>getPost(); ['suratkeluar' => $suratkeluar]);
}
if ($file = $this->request-
>getFile('file_surat')) {
public function
$newName = $file- proses_edit_suratkeluar() {
>getRandomName();
try {
$file->move(WRITEPATH .
'uploads', $newName); $postData = $this->request-
>getPost();
$postData['file_surat'] =
$newName; $id_sk = $postData['id_sk'];
}
$data = [
$data['file_surat'] = session()-
$newName; >setFlashdata('success', 'Data Surat
Keluar berhasil dihapus!');
}
} else {
}
session()-
>setFlashdata('error', 'Data Surat
Keluar tidak ditemukan!');
$this->Suratkeluarmodel-
>update($id_sk, $data); }
session()- return redirect()-
>setFlashdata('success', 'Data Surat >to(site_url('view_suratkeluar'));
Keluar berhasil diupdate!');
}
return redirect()-
>to(site_url('view_suratkeluar'));
} catch (\Exception $e) { public function
viewFile($fileName) {
session()-
>setFlashdata('error', 'Gagal $filePath = WRITEPATH .
mengupdate data: ' . $e- 'uploads/' . $fileName;
>getMessage());
return redirect()- if (file_exists($filePath)) {
>to(site_url('view_suratkeluar'));
return $this->response
}
->setStatusCode(200)
}
-
>setContentType(mime_content_typ
public function e($filePath))
delete_suratkeluar($id_sk) { -
$suratkeluar = $this- >setBody(file_get_contents($filePa
>Suratkeluarmodel->find($id_sk); th));
if ($suratkeluar) { } else {
namespace App\Controllers;
if (!$surat) {
return redirect()->back()-
use App\Models\SuratMasukModel;
>with('error', 'Surat tidak
use App\Models\UserModel; ditemukan.');
use App\Models\DisposisiModel; }
use App\Models\InstansiModel;
use CodeIgniter\Controller; // Ambil semua data instansi
dan user
$instansi = $instansiModel-
class DisposisiController extends >findAll();
Controller
$users = $userModel-
{ >findAll();
protected $DisposisiModel;
return view('disposisi_sm', [
public function __construct() 'surat' => $surat,
{ 'users' => $users,
$this->DisposisiModel = new 'instansi' => $instansi,
DisposisiModel();
]); 'instansi' => $instansi,
} ]);
}
public function create1($id_surat)
{ public function store()
$suratModel = new {
SuratMasukModel();
$data = [
$userModel = new
UserModel(); 'id_sm' => $this->request-
>getPost('id_sm'),
$instansiModel = new
InstansiModel(); 'tanggal_diterima' => $this-
>request-
>getPost('tanggal_diterima'),
// Ambil data surat masuk 'instansi_id' => $this-
berdasarkan ID >request->getPost('instansi_id'),
$surat = $suratModel- 'nomor_surat' => $this-
>find($id_surat); >request->getPost('nomor_surat'),
'tanggal_surat' => $this-
>request->getPost('tanggal_surat'),
if (!$surat) {
'sifat' => $this->request-
return redirect()->back()- >getPost('sifat'),
>with('error', 'Surat tidak
ditemukan.'); 'perihal' => $this->request-
>getPost('perihal'),
}
'keterangan' => $this-
>request->getPost('keterangan'),
// Ambil semua data instansi 'file_surat' => $this->request-
dan user >getPost('file_surat'),
$instansi = $instansiModel- 'id_user' => $this->request-
>findAll(); >getPost('user_penerima'),
$users = $userModel- 'isi_disposisi' => $this-
>findAll(); >request->getPost('isi_disposisi'),
'status' => $this->request-
return view('disposisi_sm1', [ >getPost('status'),
}
return
redirect()->to('/view_suratmasuk1')-
public function store1() >with('success', 'Disposisi berhasil
dibuat.');
{
}
$data = [
'id_sm' => $this->request-
>getPost('id_sm'), public function index()
'tanggal_diterima' => $this- {
>request-
>getPost('tanggal_diterima'), $data['disposisi'] = $this-
>DisposisiModel-
'instansi_id' => $this- >getDisposisiWithUser();
>request->getPost('instansi_id'),
$isAdmin = true;
'nomor_surat' => $this-
>request->getPost('nomor_surat'),
'tanggal_surat' => $this- return view('view_disposisi', [
>request->getPost('tanggal_surat'), 'all_data_suratmasuk' =>
'sifat' => $this->request- $data['disposisi'],
>getPost('sifat'), 'isAdmin' => $isAdmin,
'perihal' => $this->request- ]);
>getPost('perihal'),
}
'keterangan' => $this-
>request->getPost('keterangan'),
'file_surat' => $this->request- public function index1()
>getPost('file_surat'), {
'id_user' => $this->request- $data['disposisi'] = $this-
>getPost('user_penerima'), >DisposisiModel-
'isi_disposisi' => $this- >getDisposisiWithUser();
>request->getPost('isi_disposisi'), $isAdmin = true;
return view('view_disposisi1', [ if (file_exists($file_path))
{
'all_data_suratmasuk' =>
$data['disposisi'], if (!unlink($file_path)) {
'isAdmin' => $isAdmin, throw new \
Exception('Failed to delete the file.');
]);
}
}
}
]); session()-
>setFlashdata('error', 'Data Disposisi
} tidak ditemukan!');
}
public function } catch (\Exception $e) {
delete_disposisi($id)
session()-
{ >setFlashdata('error', 'Terjadi
try { kesalahan: ' . $e->getMessage());
$disposisi = $this- }
>DisposisiModel->find($id);
return
if ($disposisi) { redirect()->to('/disposisi');
$file_path = WRITEPATH }
. 'uploads/' . $disposisi->file_surat;
public function verifikasi($id) }
{
$disposisiModel = new public function hapus($id)
DisposisiModel();
{
$disposisiModel-
>update_status($id, 'Sudah $model = new
Ditindaklanjuti'); DisposisiModel();
return if ($model->find($id)) {
redirect()->to('/view_disposisi'); $model->delete($id);
} return
redirect()->to('/view_disposisi')-
>with('success', 'Data berhasil
public function verifikasi1($id) dihapus.');
{ } else {
$disposisiModel = new return
DisposisiModel(); redirect()->to('/view_disposisi')-
>with('error', 'Data tidak
$disposisiModel- ditemukan.');
>update_status($id, 'Sudah
Ditindaklanjuti'); }
}
return }
redirect()->to('/view_disposisi1');
}
return
redirect()->to('/view_disposisi2');