/** * Menyimpan setiap input form ke rownya masing-masing. */ public static function update_konfigurasi($input) { // update setiap value konfigurasi Konfigurasi::update(1, array('config_value' => $input['nama_kpp'])); Konfigurasi::update(2, array('config_value' => $input['nama_seksi'])); Konfigurasi::update(3, array('config_value' => $input['kode_surat'])); Konfigurasi::update(5, array('config_value' => $input['jumlah_baris_surat_masuk'])); Konfigurasi::update(6, array('config_value' => $input['jumlah_baris_surat_keluar'])); Konfigurasi::update(7, array('config_value' => $input['jumlah_baris_pencarian_surat'])); Konfigurasi::update(8, array('config_value' => $input['tampilkan_nomor_agenda'])); // rules untuk konfigurasi tahun agar tidak mengacaukan pengurutan nomor $max_tahun_used = Suratkeluar::max('tahun'); $msg_warning = NULL; if ($input['tahun_surat'] < $max_tahun_used) { // perubahan tahun tidak disimpan, return pesan warning $msg_warning = 'Perubahan tahun tidak dapat disimpan. ' . 'Untuk menggunakan kembali tahun: ' . $input['tahun_surat'] . ', silakan undo/batalkan semua Surat Keluar (<em>sangat tidak disarankan</em>) ' . 'yang telah menggunakan tahun: ' . $max_tahun_used . '.'; } else { Konfigurasi::update(4, array('config_value' => $input['tahun_surat'])); } // membuat message success dan warning ke dalam array $add_notes = isset($msg_warning) ? ' Lihat pesan warning!' : ''; $msg_success = 'Konfigurasi berhasil diupdate.' . $add_notes; $msg = array(); $msg['success'] = $msg_success; $msg['warning'] = $msg_warning; return $msg; }
public static function get_index() { $pagination_surat_masuk_locked = true; $pagination_surat_keluar_locked = true; $db_surat_masuk = Suratmasuk::index_surat($pagination_surat_masuk_locked); $db_surat_keluar = Suratkeluar::index_surat($pagination_surat_keluar_locked); return View::make('index.index')->with('title', 'Agenda Surat :: Beranda')->with('suratmasuks', $db_surat_masuk)->with('suratkeluars', $db_surat_keluar)->with('pagination_surat_masuk_locked', $pagination_surat_masuk_locked)->with('pagination_surat_keluar_locked', $pagination_surat_keluar_locked); }
/** * Logout dan redirect ke login form */ public function get_logout() { // Trigger: // Sebelum logout, mengkosongkan kembali isi folder 'pdf' dan 'files' dari file-file // lembar disposisi yang digenerate dan CSV yang diimport. Printpdf::empty_pdf_folder(); Suratkeluar::empty_csv_folder(); Auth::logout(); return Redirect::to_route('login')->with('title', 'Agenda Surat :: Login'); }
/** * Rekam file CSV yang terupload. */ public static function upload_create($file, $input) { $csv_rows = array(); // detect delimiter antara ',' atau ';' $allowed_header = array('tujuan'); $csv_uploded = file($file, FILE_IGNORE_NEW_LINES); $csv_header = str_getcsv($csv_uploded[0], ','); $csv_header2 = str_getcsv($csv_uploded[0], ';'); if ($csv_header == $allowed_header) { $csv_delimiter = ','; } else { if ($csv_header2 == $allowed_header) { $csv_delimiter = ';'; } else { echo 'wrong delimiter'; // FIXME throw error exit; } } // push data csv ke array if (isset($csv_delimiter)) { foreach ($csv_uploded as $line) { $csv_rows[] = str_getcsv($line, $csv_delimiter); } // remove header dari file csv unset($csv_rows[0]); $i = $input; $cfg_kode_surat = Konfigurasi::find(3)->config_value; $cfg_tahun_surat = Konfigurasi::find(4)->config_value; $jenis = Jenissurat::find($i['jenis']); $pengirim = Disposisi::find($i['pengirim']); $tanggal = $i['tanggal']; $hal = $i['hal']; // remove header dari file csv unset($csv_rows[0]); $jumlah = 0; foreach ($csv_rows as $tujuan) { $tujuan = trim($tujuan[0]); if (!empty($tujuan)) { // Menentukan urutan selanjutnya untuk jenis surat X, dengan cara // "mengambil nomor urut jenis surat X terakhir" untuk nanti diincrement saat direkam ke database // -Fluent query- // Rulesnya: apabila tahun surat terakhir masih sama dengan tahun konfigurasi // surat, maka nomor urut dilanjutkan. // Apabila berbeda tahun, maka direset menjadi 1. $last_number = DB::table('surat_keluar')->where('jenis_surat', '=', $jenis->jenis_surat)->order_by('id', 'desc')->only('nomor_urut'); $last_surat_tahun = DB::table('surat_keluar')->where('jenis_surat', '=', $jenis->jenis_surat)->order_by('id', 'desc')->only('tahun'); if ($last_surat_tahun == $cfg_tahun_surat) { $now_number = $last_number + 1; } else { $now_number = 1; } // -Eloquent query- Suratkeluar::create(array('jenis_surat' => $jenis->jenis_surat, 'nomor_urut' => $now_number, 'kode_surat' => $cfg_kode_surat, 'tahun' => $cfg_tahun_surat, 'tgl_surat' => $tanggal, 'pengirim' => $pengirim->nama, 'tujuan' => $tujuan, 'hal' => $hal, 'perekam' => Auth::user()->username, 'diupdate' => Auth::user()->username)); $jumlah++; } } $message = 'Surat Keluar Seksi sebanyak ' . $jumlah . ' surat berhasil direkam.'; $a['message'] = $message; return $a['message']; } }
public function get_print() { $input = Input::all(); $input = Suratkeluar::lengkapi_array($input); $db_surat_keluar = Suratkeluar::print_surat($input); return View::make('suratkeluar.print')->with('title', 'Buku Agenda :: Print Surat Keluar')->with('suratkeluars', $db_surat_keluar); }