middleware('auth'); $this->repository = $datasetRepository; } /** * Show the application dashboard. * * @return \Illuminate\Contracts\Support\Renderable */ public function dashboard() { $data['title'] = 'Dashboard'; if(session('group_id') == 1){ $data['dataset'] = Dataset::orderBy('DatasetId','DESC')->limit(10)->get(); }else{ $data['dataset'] = Dataset::orderBy('DatasetId','DESC')->whereIn('instansi_id',[auth()->user()->ms_instansi_id])->limit(10)->get(); } // $data['dataset'] = Dataset::orderBy('DatasetId','DESC')->limit(10)->get(); $data['group'] = Group::where('MsGroupId','!=',1)->where('name','!=','Balai')->get(); if(session('group_id') == 1){ $data['resource'] = Template::with(['dataset'])->where('show_dashboard',1)->get(); }else{ $data['resource'] = Template::with(['dataset'])->whereHas('dataset',function($query){ $query->where('instansi_id',auth()->user()->ms_instansi_id); })->where('show_dashboard',1)->get(); } $data['classDataset'] = Dataset::class; return view($this->template.'.dashboard',$data); } public function dataset($alias) { $data['title'] = 'Dashboard'; $data['dataset'] = Dataset::orderBy('DatasetId','DESC')->limit(10)->get(); $data['group'] = Group::where('MsGroupId','!=',1)->get(); $data['alias'] = $alias; return view($this->template.'.dataset',$data); } public function grid(Request $request) { if(session('group_id') == 1){ $data = Dataset::orderBy('DatasetId','DESC')->limit(10)->get(); }else{ $data = Dataset::orderBy('DatasetId','DESC')->limit(10)->whereIn('created_by',[auth()->user()->id,1])->get(); } // $data = User::with(['group'])->orderBy('id','DESC')->get(); $_data = []; foreach ($data as $key => $row) { $action = ''; $action .= '
'; $action .= ''; $action .= '
'; $status = ''; if($row->status == 1){ $status = ''; }else{ $status = ''; } $_data[] = [ 'no' => $key+1, 'id' => encode_id($row->id), 'name' => @$row->name, 'publik' => @$row->publik, 'tahun' => @$row->tahun, 'created_at' => date('d-m-Y H:i:s',strtotime(@$row->created_at)), 'instansi' => @$row->instansi->name, 'action' => @$action, 'status' => @$status, ]; } // return response()->json($_data); // Return the data as a JSON response return response()->json($_data); } public function gridResource(Request $request) { if(session('group_id') == 1){ $data = Template::with(['dataset'])->where('show_dashboard',1)->get(); }else{ $data = Template::with(['dataset'])->whereHas('dataset',function($query){ $query->where('instansi_id',auth()->user()->ms_instansi_id); })->where('show_dashboard',1)->get(); } // $data = User::with(['group'])->orderBy('id','DESC')->get(); $_data = []; foreach ($data as $key => $row) { $action = ''; if(session('group_id') == 1){ $action .= 'Lihat Data'; }else{ $action .= 'Lihat Data'; } $_data[] = [ 'no' => $key+1, 'id' => encode_id($row->id), 'name' => @$row->name, 'jumlah' => $row->dataset->count(), 'action' => @$action, ]; } // return response()->json($_data); // Return the data as a JSON response return response()->json($_data); } public function datasetGrid($alias,Request $request) { if(session('group_id') == 1){ $data = Dataset::whereHas('instansi',function($query) use ($alias){ $query->where('parent','ilike','%'.$alias.'%'); })->orderBy('DatasetId','DESC')->get(); }else{ $data = Dataset::whereHas('instansi',function($query) use ($alias){ $query->where('parent','ilike','%'.$alias.'%'); })->orderBy('DatasetId','DESC')->whereIn('created_by',[auth()->user()->id,1])->get(); } // $data = User::with(['group'])->orderBy('id','DESC')->get(); $_data = []; foreach ($data as $key => $row) { $action = ''; $action .= '
'; $action .= ''; $action .= '
'; $status = ''; if($row->status == 1){ $status = ''; }else{ $status = ''; } $_data[] = [ 'no' => $key+1, 'id' => encode_id($row->id), 'name' => @$row->name, 'publik' => @$row->publik, 'tahun' => @$row->tahun, 'created_at' => date('d-m-Y H:i:s',strtotime(@$row->created_at)), 'instansi' => @$row->instansi->name, 'action' => @$action, 'status' => @$status, ]; } // return response()->json($_data); // Return the data as a JSON response return response()->json($_data); } function resource($id){ $keyId = decode_id($id); $data['id'] = $id; $data['title'] = 'Dashboard'; $data['dataset'] = Dataset::where('template_id',$keyId)->pluck('instansi_id')->toArray(); $data['instansi'] = Instansi::whereIn('MsInstansiId',$data['dataset'])->paginate(9); return view($this->template.'.resource',$data); } function resource_instansi($instansi_id,$id){ $data['id'] = decode_id($id); $data['instansi_id'] = decode_id($instansi_id); $data['dataset'] = Dataset::with(['template'])->where('instansi_id',decode_id($instansi_id))->where('template_id',decode_id($id))->first(); $data['template'] = Template::where('MsTemplateId',decode_id($id))->first(); $data['title'] = 'Dashboard '.@$data['dataset']->template->name; return view($this->template.'.resource_detail',$data); } function apiChart($templateId,$instansi_id){ $template = Template::where('MsTemplateId',decode_id($templateId))->first(); $dataset = Dataset::with(['template'])->where('instansi_id',decode_id($instansi_id))->where('template_id',decode_id($templateId))->first(); $filename = pathinfo($template->template_url, PATHINFO_FILENAME); $modelClass = "App\\Models\\Dataset\\Dataset" . ucfirst($filename); $insert = $this->repository->getChartData($modelClass,$dataset->DatasetId,decode_id($templateId)); return $insert; } }