/** * Mengambil record surat dengan urutan descending (terbaru berada paling * awal) plus pagination. * Juga mereturn data lain yang diperlukan baik untuk form ataupun tabel. */ public static function index_surat($pagination_locked = false) { // mengambil value dari table "konfigurasi" $cfg_kode_surat = Konfigurasi::find(3)->config_value; $cfg_tahun_surat = Konfigurasi::find(4)->config_value; $cfg_jmlbaris_suratkeluar = Konfigurasi::find(6)->config_value; // Menampilkan daftar surat terakhir (order DESC) dengan pagination $filter = Input::get('filter'); // gunakan limit apabila pagination dikunci, misal untuk display table di beranda if ($pagination_locked) { $sk = Suratkeluar::order_by('id', 'desc')->take($cfg_jmlbaris_suratkeluar)->get(); } else { $sk = Suratkeluar::where('jenis_surat', 'LIKE', Suratkeluar::clean_id_jenis($filter))->order_by('id', 'desc')->paginate($cfg_jmlbaris_suratkeluar); // last surat $last_id = DB::table('surat_keluar')->order_by('id', 'desc')->only('id'); // bind data lainnya $sk->last_surat = Suratkeluar::find($last_id); $sk->filter = $filter; $sk->daftar_disposisi = Disposisi::order_by('nama')->get(); $sk->daftar_jenis = Jenissurat::order_by('jenis_surat')->get(); $sk->kode_surat = $cfg_kode_surat; $sk->tahun_surat = $cfg_tahun_surat; } return $sk; }