99 lines
3.1 KiB
PHP
99 lines
3.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Portal;
|
|
|
|
use Auth;
|
|
use Request;
|
|
use Validator;
|
|
use App\Models\ShoppingUser;
|
|
use App\Services\CustomerPriority;
|
|
use App\Http\Controllers\Controller;
|
|
|
|
|
|
class CustomerController extends Controller
|
|
{
|
|
/**
|
|
* Create a new controller instance.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function __construct()
|
|
{
|
|
$this->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 = array(
|
|
'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'] = \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();
|
|
}else{
|
|
$data['billing_email'] = $user->email;
|
|
$shopping_user = ShoppingUser::create($data);
|
|
$user->shopping_user_id = $shopping_user->id;
|
|
$user->save();
|
|
//kundenhoheit
|
|
CustomerPriority::checkOne(ShoppingUser::find($shopping_user->id), true);
|
|
|
|
|
|
}
|
|
|
|
|
|
\Session()->flash('alert-save', true);
|
|
|
|
return redirect(route('portal.my_data.edit'));
|
|
}
|
|
|
|
}
|