middleware('auth:customers'); } public function myDataEdit() { $user = Auth::guard('customers')->user(); if ($user->shopping_user_id) { $shopping_user = ShoppingUser::findOrFail($user->shopping_user_id); } else { $shopping_user = new ShoppingUser; } $data = [ 'shopping_user' => $shopping_user, 'isAdmin' => false, 'isView' => 'customer', ]; return view('portal.customer.edit', $data); } public function myDataStore() { $user = Auth::guard('customers')->user(); $data = Request::all(); if ($data['action'] === 'shopping-user-store-new' || $data['action'] === 'shopping-user-store') { $rules = [ 'billing_salutation' => 'required', 'billing_firstname' => 'required', 'billing_lastname' => 'required', 'billing_address' => 'required', 'billing_zipcode' => 'required', 'billing_city' => 'required', 'billing_country_id' => 'required', ]; if (! Request::get('same_as_billing')) { $rules = array_merge($rules, [ 'shipping_firstname' => 'required', 'shipping_lastname' => 'required', 'shipping_address' => 'required', 'shipping_zipcode' => 'required', 'shipping_city' => 'required', 'shipping_salutation' => 'required', 'shipping_country_id' => 'required', ]); } $validator = Validator::make(Request::all(), $rules); if ($validator->fails()) { return back()->withErrors($validator)->withInput(Request::all()); } } $data['language'] = $data['language'] ?? \App::getLocale(); $data['same_as_billing'] = isset($data['same_as_billing']) ? true : false; $data['shipping_country_id'] = isset($data['shipping_country_id']) ? $data['shipping_country_id'] : $data['billing_country_id']; if ($user->shopping_user_id) { $shopping_user = ShoppingUser::findOrFail($user->shopping_user_id); $shopping_user->fill($data); $shopping_user->save(); // Sprachpräferenz auch im Customer-Modell für Portal-UI synchronisieren if (isset($data['language'])) { $user->update(['language' => $data['language']]); } } else { $data['billing_email'] = $user->email; $shopping_user = ShoppingUser::create($data); $user->shopping_user_id = $shopping_user->id; if (isset($data['language'])) { $user->language = $data['language']; } $user->save(); // kundenhoheit CustomerPriority::checkOne(ShoppingUser::find($shopping_user->id), true); } \Session()->flash('alert-save', true); return redirect(route('portal.my_data.edit')); } }