simedkom/app/Http/Controllers/Dashboard/CooperationArchiveController.php
2025-05-28 10:00:18 +07:00

53 lines
1.5 KiB
PHP

<?php
namespace App\Http\Controllers\Dashboard;
use App\Exports\CooperationArchiveExport;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Maatwebsite\Excel\Facades\Excel;
class CooperationArchiveController extends Controller
{
public function index(Request $request){
return view('dashboard.cooperation-archives.index', [
'title' => 'Arsip Kerjasama',
'date' => $request->input('date', null),
'month' => $request->input('month', null),
'year' => $request->input('year', null),
]);
}
public function export(Request $request)
{
try{
$year = $request->input('year', null);
$month = $request->input('month', null);
$date = $request->input('date', null);
return Excel::download(new CooperationArchiveExport($year, $month, $date), 'cooperation-archive.xlsx');
}catch(\Exception $e){
return redirect()->back()->with('failed-status', 'Gagal melakukan proses export data.');
}
}
public function filter(Request $request){
try{
$filteredRequest = $request->except('_token');
$filterField = array_filter($filteredRequest, function ($value) {
return filled($value);
});
return redirect()->route('dashboard.cooperation.archives.index', $filterField);
}catch(\Exception $e){
return redirect()->back()->with('status-failed', 'Gagal melakukan proses filtering data.');
}
}
}