<?php namespace App\Http\Controllers; use App\Staff2000Contract; use Auth; use App\Apply; use App\Contract; use App\Event; use App\Facades\Csv; use App\PersonalEvent; use App\Staffu; use Carbon\Carbon; use Illuminate\Http\Request; class HomeController extends Controller { /** * Create a new controller instance. * * @return void */ public function __construct() { $this->middleware('auth'); } /** * Show the application dashboard. */ public function index() { $user = Auth::user(); $now = Carbon::now(); $endOfMonth = Carbon::now()->endOfMonth(); $nextMonth = Carbon::now()->addMonthNoOverflow(); $nextEndOfMonth = Carbon::now()->addMonthNoOverflow()->endOfMonth(); $monthAfterNextMonth = Carbon::now()->addMonthNoOverflow(2); $monthAfterNextEndOfMonth = Carbon::now()->addMonthNoOverflow(2)->endOfMonth(); // イベント $todayPublicEvents = Event::todayEvents()->get(); $todayPersonalEvents = PersonalEvent::todayEvents() ->own($user->id) ->get(); // 契約期間(staff2000) $todayStaff2000Contracts = Staff2000Contract::todayContracts()->get(); $thisMonthStaff2000Contracts = Staff2000Contract::contractByMonth($now)->get(); $nextMonthStaff2000Contracts = Staff2000Contract::contractByMonth($nextMonth)->get(); $monthAfterNextMonthStaff2000Contracts = Staff2000Contract::contractByMonth($monthAfterNextMonth)->get(); // 契約終了(staff2000) $thisMonthEndStaff2000Contracts = Staff2000Contract::expiringContracts($now)->get(); $nextMonthEndStaff2000Contracts = Staff2000Contract::expiringContracts($nextMonth)->get(); $monthAfterNextMonthEndStaff2000Contracts = Staff2000Contract::expiringContracts($monthAfterNextMonth)->get(); // æ–°è¦ã‚¹ã‚¿ãƒƒãƒ• $newStaffus = Staffu::newStaffus()->get(); $updatedStaffus = Staffu::updatedStaffus()->get(); $newApplies = Apply::newApplies()->get(); return view('home', compact( 'user', 'now', 'endOfMonth', 'nextMonth', 'nextEndOfMonth', 'monthAfterNextMonth', 'monthAfterNextEndOfMonth', 'todayPublicEvents', 'todayPersonalEvents', 'newStaffus', 'updatedStaffus', 'newApplies', 'contract', 'todayStaff2000Contracts', 'thisMonthStaff2000Contracts', 'nextMonthStaff2000Contracts', 'monthAfterNextMonthStaff2000Contracts', 'thisMonthEndStaff2000Contracts', 'nextMonthEndStaff2000Contracts', 'monthAfterNextMonthEndStaff2000Contracts' )); } public function exportStaff2000(Request $request) { $csv_list = Staff2000Contract::getExpiringCsvList($request->get('list_type')); $header = array_values(Staff2000Contract::EXPIRING_CSV_FILEDS); return Csv::download($csv_list, $header, date('YmdHis').'_staff2000_expiring_contract-export.csv'); } }