Esempio n. 1
0
 public function get_catalog()
 {
     $allowed = array('name_sparepart', 'part_number', 'sp_categories_id', 'base_price', 'price');
     // add allowable columns to search on
     $sort = in_array(Input::get('sort'), $allowed) ? Input::get('sort') : 'name_sparepart';
     // if user type in the url a column that doesnt exist app will default to id
     $order = Input::get('order') === 'desc' ? 'desc' : 'asc';
     // default desc
     $keyword = Input::get('q');
     $search = Input::get('search');
     $spareparts = Sparepart::join('sp_categories as cat', 'cat.id', '=', 'spareparts.sp_categories_id')->join('sp_groups as g', 'g.id', '=', 'spareparts.sp_group_id')->order_by($sort, $order);
     $q = null;
     if (Input::has('q')) {
         $spareparts = $spareparts->where($search, 'like', '%' . $keyword . '%');
         $q = '&search=' . $search . '&q=' . $keyword;
     }
     $spareparts = $spareparts->paginate(20, array('spareparts.id', 'name_sparepart', 'part_number', 'sp_categories_id', 'moving', 'base_price', 'price', 'satuan', 'isi_satuan', 'sp_category', 'sp_group'));
     $this->data['querystr'] = '&order=' . (Input::get('order') == 'asc' || null ? 'desc' : 'asc') . $q;
     $this->data['spareparts'] = $spareparts;
     $this->data['searchby'] = $search;
     $this->data['q'] = $keyword;
     $this->data['pagination'] = $spareparts->appends(array('search' => Input::get('search'), 'q' => Input::get('q'), 'sort' => Input::get('sort'), 'order' => Input::get('order')))->links();
     return View::make('themes.modul.' . $this->views . '.catalog', $this->data);
 }