/**
  * @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'));
 }