middleware('auth'); $this->repository = $datasetRepository; } /** * Show the application dashboard. * * @return \Illuminate\Contracts\Support\Renderable */ public function dashboard() { $data['title'] = 'Dashboard'; $data['route'] = $this->route; if((session('group_id') == 1) || (session('group_alias') == 'admin')){ $data['dataset'] = Dataset::orderBy('DatasetId','DESC')->count(); $data['datasetTambahan'] = DatasetTambahan::orderBy('DatasetId','DESC')->count(); }else{ $data['dataset'] = Dataset::orderBy('DatasetId','DESC')->whereIn('instansi_id',[auth()->user()->ms_instansi_id])->count(); $data['datasetTambahan'] = DatasetTambahan::whereIn('instansi_id',[auth()->user()->ms_instansi_id])->count(); } $data['instansi'] = Instansi::count(); $data['tabelData'] = tabelData::count(); 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 gridTabel(Request $request) { if((session('group_id') == 1) || (session('group_alias') == 'admin')){ $data = Instansi::all(); }else{ $data = Instansi::where('MsInstansiId',auth()->user()->ms_instansi_id)->get(); } // $data = User::with(['group'])->orderBy('id','DESC')->get(); $_data = []; foreach ($data as $key => $row) { $resource = json_decode($row->resource_data); $countresource = @$resource ? count($resource) : '0'; $_data[] = [ 'no' => $key+1, 'name' => @$row->name, // 'dataset' => tabelInstansi(@$row->MsInstansiId), 'dataset' => $countresource, ]; } // return response()->json($_data); // Return the data as a JSON response return response()->json($_data); } public function grid(Request $request) { if((session('group_id') == 1) || (session('group_alias') == 'admin')){ $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 .= '
'; $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) || (session('group_alias') == 'admin')){ $data = TabelData::with(['dataset'])->where('show_dashboard',1)->get(); }else{ $data = TabelData::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) || (session('group_alias') == 'admin')){ $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) || (session('group_alias') == 'admin')){ $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 .= ''; $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'] = TabelData::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 = TabelData::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; } }