middleware('auth'); $this->userRepo = $userRepo; } /** * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function userEdit(){ $user = Auth::user(); /*if(!$user->account){ $user->account = new UserAccount(); }*/ $data = [ 'user' => $user, ]; return view('user.edit', $data); } /** * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|\Illuminate\View\View */ public function userEditStore(){ $user = Auth::user(); /*if(!$user->account){ $user->account = new UserAccount(); }*/ $data = Request::all(); if(isset($data['reverse_charge_validate'])){ $rules = array( 'tax_identification_number' => 'required', 'reverse_charge' => 'required', ); $validator = Validator::make(Request::all(), $rules); if ($validator->fails()) { $data = [ 'user' => $user, ]; return view('user.edit', $data)->withErrors($validator); } $ret = $this->userRepo->reverse_charge_activate(Request::all(), $user); if($ret === 'error'){ $validator = Validator::make(Request::all(), []); $validator->errors()->add('tax_identification_number', __('Die UST-ID konnte nicht validiert werden, Eingabe bitte prüfen.')); $data['reverse_charge'] = 0; return redirect(route('user_edit'))->withErrors($validator)->withInput($data); } if($ret === 'valid'){ \Session()->flash('alert-success', 'UST-ID erfolgreich eingetragen.'); return redirect('/user/edit'); } } if(isset($data['reverse_charge_delete'])){ $user->account->tax_identification_number = ''; $user->account->reverse_charge = 0; $user->account->reverse_charge_code = null; $user->account->reverse_charge_valid = null; $user->account->save(); \Session()->flash('alert-success', 'Reverse Charge Verfahren und UST-ID gelöscht.'); return redirect('/user/edit'); } $rules = array( 'salutation' => 'required', 'first_name'=>'required', 'last_name'=>'required', 'address'=>'required', 'zipcode'=>'required', 'city' => 'required', 'email' => 'required|string|email|max:255|exists:users,email', 'email-confirm' => 'required|same:email', ); 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' ]); } $data = [ 'user' => $user, ]; $validator = Validator::make(Request::all(), $rules); if ($validator->fails()) { return view('user.edit', $data)->withErrors($validator); } else { $this->userRepo->update(Request::all()); \Session()->flash('alert-save', true); return redirect('/user/edit'); } } /** * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|\Illuminate\View\View */ public function userDataStore(){ $user = User::findOrFail(Auth::user()->id); if(!$user->account){ $user->account = new UserAccount(); } $rules = array( 'salutation' => 'required', 'last_name' => 'required|max:255', 'country_id' => 'required|integer|min:1', 'email' => 'required|string|email|max:255|exists:users,email', 'email-confirm' => 'required|same:email', ); if($user->active == 0){ $rules['accepted_data_protection'] = 'required'; $rules['accepted_active'] = 'required'; } if(Request::get('company') == 1){ $rules['company_name'] = 'required|max:255'; $rules['company_country_id'] = 'required|integer|min:1'; } $data = [ 'user' => $user, ]; $validator = Validator::make(Request::all(), $rules); if ($validator->fails()) { // get the error messages from the validator $messages = $validator->messages(); // redirect our user back to the form with the errors from the validator return view('user.edit', $data)->withErrors($validator); } else { $this->userRepo->update(Request::all()); if($user->active == 0) { $account = $user->account; $account->data_protection = now(); $account->save(); $user->active = 1; $user->active_date = now(); $user->save(); } if(Request::get('accepted_active') == "on"){ $user->agreement = now(); }else{ $user->agreement = null; } \Session()->flash('alert-save', true); return redirect('/home'); } } /** * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector */ public function userDataAcceptedForm(){ $user = Auth::user(); if(Request::get('accepted_active') == "on"){ $user->agreement = now(); }else { $user->agreement = null; } $user->save(); \Session()->flash('alert-save', true); return redirect('/home'); } /** * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector */ public function userDataFree(){ $user = Auth::user(); $user->active = 1; $user->active_date = now(); $user->save(); return redirect('/home'); } /** * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector */ public function userDataFreeForm(){ $user = Auth::user(); $rules = array( 'accepted_data_protection' => 'required' ); $data = [ 'user' => $user, ]; $validator = Validator::make(Request::all(), $rules); if ($validator->fails()) { // get the error messages from the validator $messages = $validator->messages(); // redirect our user back to the form with the errors from the validator return view('home', $data)->withErrors($validator); } else { $account = $user->account; $account->data_protection = now(); $account->save(); if(Request::get('accepted_active') == "on"){ $user->agreement = now(); }else{ $user->agreement = null; } $user->active = 1; $user->active_date = now(); $user->save(); } return redirect('/home'); } }