/** * -HELPER- * Build array for rules. */ public static function build_rules() { // 'id' terakhir tidak diambil dari form, tetapi langsung dari query $id = Disposisi::order_by('id', 'desc')->only('id'); $rules = array('nama' => 'required', 'nip' => strtolower('required|numeric|unique:disposisi,nip,' . $id)); return $rules; }
/** * Membuat query untuk fungsi search dan return bersama yang diinput user. */ public static function search_surat($input) { // jika limit berupa string atau lebih kecil dari 1, gunakan limit default // juga dibulatkan ke atas jika user mencoba menginput manual pecahan // untuk sanitasi, otomatis dilakukan oleh class paginator (default) $limit = $input['limit'] > 0 ? ceil($input['limit']) : Konfigurasi::find(7)->config_value; // sanitasi sort order $so = $input['sort_order']; $sort_order = $so == 'asc' || $so == 'desc' ? $so : 'desc'; $sk = Suratkeluar::order_by('id', $sort_order)->where('jenis_surat', 'LIKE', Suratkeluar::clean_id_jenis($input['jenis']))->where('pengirim', 'LIKE', Suratkeluar::clean_id_pengirim($input['pengirim']))->where('nomor_urut', 'LIKE', '%' . $input['nomor'] . '%')->where('kode_surat', 'LIKE', '%' . $input['kode'] . '%')->where('tahun', 'LIKE', '%' . $input['tahun'] . '%')->where('tgl_surat', 'LIKE', '%' . $input['tanggal'] . '%')->where('tujuan', 'LIKE', '%' . $input['tujuan'] . '%')->where('hal', 'LIKE', '%' . $input['hal'] . '%')->paginate($limit); $sk->daftar_disposisi = Disposisi::order_by('nama')->get(); $sk->daftar_jenis = Jenissurat::order_by('jenis_surat')->get(); $sk->input = $input; // append filter terhadap pagination $filter = Suratkeluar::pagination_filter($input); $sk->appends($filter); return $sk; }
public function get_disposisi() { $db_disposisi = Disposisi::get(); $last_added_disposisi = Disposisi::order_by('id', 'desc')->only('nama'); return View::make('settings.disposisi')->with('title', 'Agenda Surat :: Settings')->with('db_disposisi', $db_disposisi)->with('last_added_disposisi', $last_added_disposisi); }