コード例 #1
0
 /**
  * Display all referral
  * 
  * 1. Check filter
  * 2. Check page
  * 3. Get data from API
  * 4. Generate paginator
  * 5. Generate breadcrumb
  * 6. Generate view
  * @param page, q
  * @return Object View
  */
 public function index()
 {
     //1. Check filter
     $filters = null;
     if (Input::has('q')) {
         $filters = ['name' => Input::get('q')];
         $this->page_attributes->search = Input::get('q');
     } else {
         $searchResult = null;
     }
     //2. Check page
     if (is_null(Input::get('page'))) {
         $page = 1;
     } else {
         $page = Input::get('page');
     }
     //3. Get data from API
     $APICustomer = new APICustomer();
     $customer = $APICustomer->getIndex(['search' => ['name' => Input::get('q')], 'sort' => ['name' => 'asc'], 'take' => $this->take, 'skip' => ($page - 1) * $this->take]);
     $this->page_attributes->data = ['customer' => $customer];
     //4. Generate paginator
     $this->paginate(route('customer.referral.index'), $customer['data']['count'], $page);
     //5. Generate breadcrumb
     $breadcrumb = [];
     $this->page_attributes->breadcrumb = array_merge($this->page_attributes->breadcrumb, $breadcrumb);
     //6. Generate View
     $this->page_attributes->source = $this->page_attributes->source . 'index';
     return $this->generateView();
 }
コード例 #2
0
 public function FindCustomerByName($name = null)
 {
     //get input
     $input = Input::get('name');
     //get data
     $APICustomer = new APICustomer();
     $customer = $APICustomer->getIndex(['search' => ['name' => $input]]);
     //check if success
     if ($customer['status'] != 'success') {
         return abort(404);
     }
     //formating data
     $datas = [];
     foreach ($customer['data']['data'] as $key => $data) {
         $datas[$key]['id'] = $data['id'];
         $datas[$key]['name'] = $data['name'];
     }
     //return
     return $datas;
 }
コード例 #3
0
 /**
  * Display a customer detail
  * 
  * 1. Get data from API
  * 2. Check return status
  * 3. Generate breadcrumb
  * 4. Generate view
  * @param id
  * @return Object View
  */
 public function show($id)
 {
     //1. Get data from API
     $APICustomer = new APICustomer();
     $customer = $APICustomer->getShow($id);
     // filters
     if (Input::has('q')) {
         $search = ['refnumber' => Input::get('q'), 'userid' => $id];
         $this->page_attributes->search = Input::get('q');
     } else {
         $search = ['userid' => $id];
         $this->page_attributes->search = null;
     }
     // sorting
     if (Input::has('sort')) {
         $sort_item = explode('-', Input::get('sort'));
         $sort = [$sort_item[0] => $sort_item[1]];
     } else {
         $sort = ['name' => 'asc'];
     }
     $SortList = new SortList();
     $this->page_attributes->sorts = ['titles' => ['tanggal', 'nota', 'tagihan'], 'tanggal' => $SortList->getSortingList('tanggal'), 'nota' => $SortList->getSortingList('nota'), 'tagihan' => $SortList->getSortingList('tagihan')];
     //get curent page
     if (is_null(Input::get('page'))) {
         $page = 1;
     } else {
         $page = Input::get('page');
     }
     // get data
     $APISale = new APISale();
     $sale = $APISale->getIndex(['search' => $search, 'sort' => $sort, 'take' => $this->take, 'skip' => ($page - 1) * $this->take]);
     $customer['data']['sales'] = $sale['data']['data'];
     //data paging
     $this->paginate(route('customer.customer.show', ['id' => $id]), $sale['data']['count'], $page);
     //2. Check return status
     if ($customer['status'] != 'success') {
         $this->errors = $customer['message'];
         return $this->generateRedirectRoute('customer.customer.index');
     }
     $this->page_attributes->subtitle = $customer['data']['name'];
     $this->page_attributes->data = ['customer' => $customer];
     //3. Generate breadcrumb
     $breadcrumb = [$customer['data']['name'] => route('customer.customer.show', ['id' => $id])];
     $this->page_attributes->breadcrumb = array_merge($this->page_attributes->breadcrumb, $breadcrumb);
     //4. Generate view
     $this->page_attributes->source = $this->page_attributes->source . 'show';
     return $this->generateView();
 }