54 lines
1.6 KiB
PHP
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.');
|
|
}
|
|
|
|
}
|
|
}
|