/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $http, Bill $bill) { $this->validate($http, ['bill_name' => 'required', 'resident_id' => 'required', 'residence_id' => 'required', 'bill_due_date_month' => 'required', 'bill_due_date_year' => 'required']); $bill->name = $http->bill_name; $bill->resident_id = $http->resident_id; $bill->residence_id = $http->residence_id; if ($http->has('bill_amount')) { $value = trim($http->bill_amount); if ($value != '') { $bill->amount = $value; } } $due_date = date($http->bill_due_date_year . '-' . $http->bill_due_date_month . '-28'); $bill->due_date = $due_date; $bill->description = $http->bill_description; $bill->save(); // add an approval as the creator of the bill $bill->approve(); // check if bill can become active $bill->checkActiveState(); return redirect('residences/' . $http->residence_id); }