simedkom/app/Http/Controllers/Dashboard/CooperationArchiveController.php
2025-10-13 08:35:36 +07:00

54 lines
1.6 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 Kerja Sama',
'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-archives.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.');
}
}
}