/** * @param BudgetFormRequest $request * @param BudgetRepositoryInterface $repository * @param Budget $budget * * @return \Illuminate\Http\RedirectResponse */ public function update(BudgetFormRequest $request, BudgetRepositoryInterface $repository, Budget $budget) { $budgetData = ['name' => $request->input('name'), 'active' => intval($request->input('active')) == 1]; $repository->update($budget, $budgetData); Session::flash('success', 'Budget "' . $budget->name . '" updated.'); Preferences::mark(); if (intval(Input::get('return_to_edit')) === 1) { // set value so edit routine will not overwrite URL: Session::put('budgets.edit.fromUpdate', true); return redirect(route('budgets.edit', [$budget->id]))->withInput(['return_to_edit' => 1]); } // redirect to previous URL. return redirect(Session::get('budgets.edit.url')); }