/**
  * @param CurrencyFormRequest         $request
  * @param CurrencyRepositoryInterface $repository
  * @param TransactionCurrency         $currency
  *
  * @return \Illuminate\Http\RedirectResponse
  */
 public function update(CurrencyFormRequest $request, CurrencyRepositoryInterface $repository, TransactionCurrency $currency)
 {
     $data = $request->getCurrencyData();
     if (Auth::user()->hasRole('owner')) {
         $currency = $repository->update($currency, $data);
     }
     Session::flash('success', 'Currency "' . e($currency->name) . '" updated.');
     Preferences::mark();
     if (intval(Input::get('return_to_edit')) === 1) {
         Session::put('currency.edit.fromUpdate', true);
         return redirect(route('currency.edit', [$currency->id]));
     }
     // redirect to previous URL.
     return redirect(Session::get('currency.edit.url'));
 }