adaptationService = $adaptationService;
$this->mitigationService = $mitigationService;
}
/**
* Display a listing of the resource.
*/
public function index()
{
$data['route'] = $this->route;
$data['title'] = $this->title;
return view($this->template.'.index',$data);
}
public function grid()
{
if(auth()->user()->ms_group_id == 1){
$data = LembarPengesahan::with(['agency'])->where('tahun',date('Y'))->get();
}else{
$data = LembarPengesahan::with(['agency'])->where('tahun',date('Y'))->where('agency_id',auth()->user()->ms_agency_id)->get();
}
$_data = [];
foreach ($data as $key => $row) {
$btn = 'Edit';
$btn .= '
';
$download = 'Download File';
$datanya = '';
if($row->type == 'inventory'){
$sektor = json_decode($row->sektor);
foreach($sektor as $datasek){
$datanya .= ''.$datasek.'
';
}
}elseif($row->type == 'adaptasi'){
$datanya .= '';
}elseif($row->type == 'mitigasi'){
$datanya .= '';
}
if ($row->row_status == 1) {
$status = 'Aktif';
} else {
$status = 'Tidak Aktif';
}
$_data[] = [
'no' => $key+1,
'name' => $row->name,
'type' => \Str::title($row->type),
'agency' => $row->agency->name,
'file' => $download,
'data' => @$datanya,
'status' => $status,
'action' => @$btn,
];
}
return response()->json($_data);
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
$year = (int) request()->input('adaptationYear', date('Y'));
$adaptasi = $this->adaptationService->getDashboardData($year);
$mitigasi = $this->mitigationService->getDashboardData($year);
$data['route'] = $this->route;
$data['title'] = $this->title;
$data['kegiatanAdaptasi'] = $adaptasi['tableData'];
$data['kegiatanMitigasi'] = $mitigasi['tableData'];
return view($this->template.'.form',$data);
}
public function update($id = null)
{
$year = (int) request()->input('adaptationYear', date('Y'));
$adaptasi = $this->adaptationService->getDashboardData($year);
$mitigasi = $this->mitigationService->getDashboardData($year);
$keyId = decode_id($id);
$data['title'] = $this->title;
$data['route'] = $this->route;
$data['keyId'] = $id;
$data['kegiatanAdaptasi'] = $adaptasi['tableData'];
$data['kegiatanMitigasi'] = $mitigasi['tableData'];
$data['item'] = LembarPengesahan::find($keyId);
return view($this->template.'.form',$data);
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
$request->validate([
// 'file' => 'required',
'type' => 'required',
]);
try {
if(@$request->secure_id){
$ag = LembarPengesahan::find(decode_id(@$request->secure_id));
$ag->keterangan = $request->keterangan;
if($request->type == 'inventory'){
$ag->sektor = json_encode($request->sektor);
}elseif($request->type == 'adaptasi'){
$ag->form_id = json_encode($request->kegiatan_adaptasi);
}elseif($request->type == 'mitigasi'){
$ag->form_id = json_encode($request->kegiatan_mitigasi);
}
if (@$request->hasFile('file')) {
$file = $request->file('file');
$destinationPath = public_path('uploads/pengesahan');
$current = Carbon::now()->format('Y/m/d');
$path = $destinationPath . '/' . $current;
$fileExtension = $file->getClientOriginalExtension();
$fileSize = $file->getSize();
if($fileExtension != 'pdf'){
return redirect()->back()->with([
'message' => 'Maaf File Harus Berupa PDF!',
'type' => "error"
]);
}
$newFilename = session('id').'_'.uniqid('file_') . '.' . $fileExtension;
if (!File::exists($path)) {
File::isDirectory($path) or File::makeDirectory($path, 0777, true, true);
}
$filePathTim = 'pengesahan/' . $current . '/' . $newFilename;
$uploaded = $file->move($path, $newFilename);
$ag->file = $filePathTim;
}
$ag->save();
}else{
$ag = new LembarPengesahan;
$ag->user_id = auth()->user()->id;
$ag->agency_id = auth()->user()->ms_agency_id;
$ag->tahun = date('Y');
$ag->type = $request->type;
$ag->keterangan = $request->keterangan;
if($request->type == 'inventory'){
$ag->sektor = json_encode($request->sektor);
}elseif($request->type == 'adaptasi'){
$ag->form_id = json_encode($request->kegiatan_adaptasi);
}elseif($request->type == 'mitigasi'){
$ag->form_id = json_encode($request->kegiatan_mitigasi);
}
if (@$request->hasFile('file')) {
$file = $request->file('file');
$destinationPath = public_path('uploads/pengesahan');
$current = Carbon::now()->format('Y/m/d');
$path = $destinationPath . '/' . $current;
$fileExtension = $file->getClientOriginalExtension();
$fileSize = $file->getSize();
if($fileExtension != 'pdf'){
return redirect()->back()->with([
'message' => 'Maaf File Harus Berupa PDF!',
'type' => "error"
]);
}
$newFilename = session('id').'_'.uniqid('file_') . '.' . $fileExtension;
if (!File::exists($path)) {
File::isDirectory($path) or File::makeDirectory($path, 0777, true, true);
}
$filePathTim = 'pengesahan/' . $current . '/' . $newFilename;
$uploaded = $file->move($path, $newFilename);
}
$ag->file = $filePathTim;
$ag->status = 1;
$ag->save();
}
return redirect()->route($this->route.'.index')->with('success', 'Lembar Pengesahan berhasil ditambahkan.');
} catch (\Exception $e) {
return back()->withErrors(['error' => 'Lembar Pengesahan gagal disimpan. Silakan coba lagi. Error: ' . $e->getMessage()]);
}
}
/**
* Display the specified resource.
*/
public function show(string $id)
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit(string $id)
{
$data['ar'] = LembarPengesahan::find($id);
$data['route'] = $this->route;
$data['title'] = $this->title;
return view($this->template.'.form', $data);
}
/**
* Update the specified resource in storage.
*/
/**
* Remove the specified resource from storage.
*/
public function destroy(string $id)
{
//
}
}