/** * Store a newly created resource in storage. * * @param Request $request * @return \Illuminate\Http\RedirectResponse * @throws RedirectException */ public function store(Request $request) { $this->validate($request, ['reference' => 'required|regex:/^[A-Za-z0-9\\-]+$/', 'installation_id' => 'required', 'name' => 'required', 'email' => 'required|max:255', 'address' => 'required']); try { $this->validateEmailAddressInput($request); $toCreate = $request->all(); $toCreate['active'] = $request->has('active') ? 1 : 0; Location::create($toCreate); } catch (\Exception $e) { $this->logError('Could not successfully create new Location' . $e->getMessage()); throw RedirectException::make('/locations/')->setError($e->getMessage()); } return $this->redirectWithSuccessMessage('locations', 'New location has been successfully created'); }