json(['error' => 'travel_user not exist, but need'], $this->errorStatus); } if(!isset($data['travel_user']['email'])){ return response()->json(['error' => 'travel_user email not exist, but need'], $this->errorStatus); } $rules = array( 'salutation_id' => 'required', 'travel_nationality_id' => 'required', 'first_name'=>'required', 'last_name'=>'required', 'email' => 'required|string|email|max:255|' ); $validator = Validator::make($data['travel_user'], $rules); if ($validator->fails()) { return response()->json($validator->messages(), $this->errorStatus); } $travel_user = TravelUser::where('email', trim($data['travel_user']['email']))->first(); if(!$travel_user) { $travel_user = TravelUser::create($data['travel_user']); }else{ $checked = [ 'salutation_id', 'first_name', 'last_name', 'street', 'zipcode', 'city', 'phone', 'mobile', 'travel_nationality_id' ]; $last_user_data = []; foreach ($checked as $check){ if($travel_user->{$check} != $data['travel_user'][$check]){ $last_user_data[$check] = $travel_user->{$check}; } } $data['travel_user']['last_user_data'] = $last_user_data; $travel_user->fill($data['travel_user'])->save(); } return response()->json(['success' => ['travel_user_id' => $travel_user->id]], $this->successStatus); } if ($action == "create_fewo_booking") { $data = \Input::all(); if(!isset($data['travel_user_booking_fewo']) && !is_array($data['travel_user_booking_fewo'])) { return response()->json(['error' => 'travel_user_booking_fewo not exist, but need'], $this->errorStatus); } $rules = array( 'travel_user_id' => 'required', 'fewo_lodging_id' => 'required', 'from_date'=>'required', 'to_date'=>'required', ); $validator = Validator::make($data['travel_user_booking_fewo'], $rules); if ($validator->fails()) { return response()->json($validator->messages(), $this->errorStatus); } $travel_user_booking_fewo = TravelUserBookingFewo::create($data['travel_user_booking_fewo']); //mail if($travel_user_booking_fewo){ $MailEmployee = explode(",", config('mail.mail_fewo_employee')); $EmployeeMailSubject = $travel_user_booking_fewo->getEmployeeMailSubject(); $EmployeeMailContent = $travel_user_booking_fewo->getEmployeeMailContent(); Mail::to($MailEmployee)->send(new MailSendFeWoService($travel_user_booking_fewo, $EmployeeMailSubject, $EmployeeMailContent)); $send_employee_mail = $travel_user_booking_fewo->send_employee_mail; $send_employee_mail[] = ['d' => date('H:i d.m.Y'), 'm'=>$MailEmployee, 's'=>$EmployeeMailSubject, 'c'=>$EmployeeMailContent]; $travel_user_booking_fewo->send_employee_mail = $send_employee_mail; $travel_user_booking_fewo->save(); } return response()->json(['success' => ['travel_user_booking_fewo_id' => $travel_user_booking_fewo->id, 'crm_url' => route('travel_user_booking_fewo_detail', [$travel_user_booking_fewo->id])]], $this->successStatus); } } }