    public function store(CurrencyFormRequest $request)
    {
        /** @var User $user */
        $user = auth()->user();
        $data = $request->getCurrencyData();
        if (!$this->userRepository->hasRole($user, 'owner')) {

            Log::error('User ' . auth()->user()->id . ' is not admin, but tried to store a currency.');
            Log::channel('audit')->info('Tried to create (POST) currency without admin rights.', $data);

            return redirect($this->getPreviousUri('currencies.create.uri'));

        }

        $data['enabled'] = true;
        try {
            $currency = $this->repository->store($data);
        } catch (FireflyException $e) {
            Log::error($e->getMessage());
            Log::channel('audit')->info('Could not store (POST) currency without admin rights.', $data);
            $request->session()->flash('error', (string) trans('firefly.could_not_store_currency'));
            $currency = null;
        }
        $redirect = redirect($this->getPreviousUri('currencies.create.uri'));

        if (null !== $currency) {
            $request->session()->flash('success', (string) trans('firefly.created_currency', ['name' => $currency->name]));
            Log::channel('audit')->info('Created (POST) currency.', $data);
            if (1 === (int) $request->get('create_another')) {

                $request->session()->put('currencies.create.fromStore', true);

                $redirect = redirect(route('currencies.create'))->withInput();

            }
        }

        return $redirect;
    }
The web application does not, or can not, sufficiently verify whether a well-formed, valid, consistent request was intentionally provided by the user who submitted the request.