/** * Store new application form submission * * @param \Illuminate\Http\CreateNewApplicationRequest $request * @return \Illuminate\Http\Response */ public function store(CreateNewApplicationRequest $request) { // Create New Application $application = Applications::create($request->only(['first_name', 'middle_name', 'surname', 'address_line1', 'address_line2', 'city', 'postcode', 'telephone', 'visa_valid_to', 'mobile', 'email', 'ni_number', 'driver', 'endorsements', 'vehicle_access', 'right_to_work', 'evidence_right_to_work', 'comments', 'education', 'employer_name', 'job_title', 'employer_start_date', 'employer_end_date', 'employer_responsibilities', 'employer_name2', 'job_title2', 'employer_start_date2', 'employer_end_date2', 'employer_responsibilities2', 'health_info', 'criminal_convictions', 'convictions_comments', 'next_of_kin_name', 'next_of_kin_address', 'next_of_kin_telephone', 'next_of_kin_mobile', 'next_of_kin_relationship', 'created_at', 'updated_at', 'accept_data_protection', 'app_only', 'employment_gaps', 'company_id', 'employer_name3', 'job_title3', 'employer_start_date3', 'employer_end_date3', 'employer_responsibilities3', 'signed_by', 'code'])); $application->contactable = json_encode($request->input('contactable')); // Create New Reference $ref = new References(); $ref->company_id = $request->input('company_id'); $ref->applications_id = $application->id; $ref->references_id = $request->input('reference_id'); $ref->referee_name = $request->input('referee_name'); $ref->referee_company = $request->input('referee_company'); $ref->referee_email = $request->input('referee_email'); $ref->referee_relationship = $request->input('referee_relationship'); $ref->referee_start_date = $request->input('referee_start_date'); $ref->referee_end_date = $request->input('referee_end_date'); $ref->referee_current_employer = $request->input('referee_current_employer'); $ref->referee_contact = $request->input('referee_contact'); $ref->code = str_random(40); $ref->settings_id = $request->input('settings_id'); $ref->save(); // $settings = new Settings; // $settings->company_id = $ref->company_id; // $settings->application_id = $application->id; // $settings->save(); $fields = Fields::create($request->only('label', 'label2', 'label3', 'label4', 'label5', 'label6', 'label7', 'label8', 'label9', 'label10', 'answer', 'answer2', 'answer3', 'answer4', 'answer5', 'answer6', 'answer7', 'answer8', 'answer9', 'answer10')); $fields->settings_id = $request->input('settings_id'); $fields->update(); // Check if referee is contactable then $referee = $ref; if ($request->input('referee_contact') == 'Yes') { // Fire Event to send email to referee 1 //event(new EmailRefereeOne($referee, $application)); $data = array('worker' => ucwords($application->first_name) . ' ' . ucwords($application->surname), 'company' => $ref->company->name, 'email' => $ref->referee_email, 'refereeName' => $ref->referee_name, 'code' => $ref->code); // Send the email Mail::send('emails/applications/submission', $data, function ($message) use($data) { $message->to($data['email'])->from(config('custom.noreplyemail'), 'Made Simple')->subject('Reference Request'); }); $application->reference_id = $ref->id; $application->company_id = $ref->company_id; $application->code = $ref->code; $application->app_only = 'true'; $application->update(); } if ($request->input('referee_contact2') == 'Yes') { // $applicationtwo = Applications::create($request->only(['first_name' , 'middle_name' , 'surname', 'address_line1', 'address_line2', 'city', 'postcode', 'telephone', 'visa_valid_to', 'mobile', 'email', // 'ni_number', 'driver', 'endorsements', 'vehicle_access', 'right_to_work', 'evidence_right_to_work', 'comments', 'education', 'employer_name', 'job_title', 'employer_start_date', // 'employer_end_date', 'employer_responsibilities', 'employer_name2', 'job_title2', 'employer_start_date2', 'employer_end_date2', 'employer_responsibilities2', 'health_info', // 'criminal_convictions', 'convictions_comments', 'next_of_kin_name', 'next_of_kin_address', 'next_of_kin_telephone', 'next_of_kin_mobile', 'next_of_kin_relationship', 'created_at', 'updated_at', // 'accept_data_protection', 'company_id', 'employer_name3', 'job_title3', 'employer_start_date3', 'employer_end_date3', 'employer_responsibilities3', 'signed_by','code' // ])); // $applicationtwo->contactable = json_encode($request->input('contactable')); $reftwo = new References(); $reftwo->company_id = $request->input('company_id'); $reftwo->applications_id = $application->id; $reftwo->references_id = $request->input('reference_id'); $reftwo->referee_name = $request->input('referee_name2'); $reftwo->referee_company = $request->input('referee_company2'); $reftwo->referee_email = $request->input('referee_email2'); $reftwo->referee_relationship = $request->input('referee_relationship2'); $reftwo->referee_start_date = $request->input('referee_start_date2'); $reftwo->referee_end_date = $request->input('referee_end_date2'); $reftwo->referee_current_employer = $request->input('referee_current_employer2'); $reftwo->referee_contact2 = $request->input('referee_contact2'); $reftwo->code = str_random(40); $reftwo->settings_id = $request->input('settings_id'); $reftwo->save(); $application->reference_two_id = $reftwo->id; $application->company_id = $request->input('company_id'); $application->code_two = $reftwo->code; $application->update(); $data = array('worker' => ucwords($application->first_name) . ' ' . ucwords($application->surname), 'company' => $ref->company->name, 'email' => $request->input('referee_email2'), 'refereeName' => $reftwo->referee_name, 'code' => $reftwo->code); // Send the email Mail::send('emails/applications/submissiontwo', $data, function ($message) use($data) { $message->to($data['email'])->from(config('custom.noreplyemail'), 'Made Simple')->subject('Reference Request'); }); } $fields->application_id = $application->id; $fields->update(); flash()->success('Success', 'Thank you! Your submission has been successful and referees emailed.'); return back(); }