AppController.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Http\Traits\StringGeneratorTrait;
  4. use Ramsey\Uuid\Uuid;
  5. use Illuminate\Http\Request;
  6. use App\Models\PatientFindAClinicRequest;
  7. use App\Models\PatientContactMessage;
  8. class AppController extends Controller
  9. {
  10. use StringGeneratorTrait;
  11. public function index() {
  12. return view('app.index');
  13. }
  14. public function snyderhemband() {
  15. return view('app.snyder');
  16. }
  17. public function aboutHem() {
  18. return view('app.about-hem');
  19. }
  20. public function treatment() {
  21. return view('app.treatment');
  22. }
  23. public function postCare() {
  24. return view('app.post-care');
  25. }
  26. public function compare() {
  27. return view('app.compare');
  28. }
  29. public function contact() {
  30. return view('app.contact');
  31. }
  32. public function faqs() {
  33. return view('app.faqs');
  34. }
  35. public function privacy() {
  36. return view('app.privacy');
  37. }
  38. public function terms() {
  39. return view('app.terms');
  40. }
  41. public function findAClinic() {
  42. return view('app.find-a-clinic');
  43. }
  44. public function submitFindAClinic(Request $request) {
  45. $request->validate([
  46. 'name_first' => 'required|string',
  47. 'name_last' => 'required|string',
  48. 'email' => 'required|email',
  49. 'phone' => 'required|string',
  50. 'zip' => 'required|string',
  51. 'g-recaptcha-response' => 'required|recaptcha'
  52. ]);
  53. $request['form_name'] = 'patient_find_a_clinic';
  54. $record = new PatientFindAClinicRequest;
  55. $record->iid = $this->makeIID();
  56. $record->uid = Uuid::uuid6();
  57. $record->name_first = $request->get('name_first');
  58. $record->name_last = $request->get('name_last');
  59. $record->email = $request->get('email');
  60. $record->phone = $request->get('phone');
  61. $record->zip = $request->get('zip');
  62. $record->save();
  63. $this->saveWebForm($request);
  64. $this->sendWebsiteEmailNotification([
  65. 'template' => 'find-a-clinic',
  66. 'subject' => 'Find a clinic request',
  67. 'data' => $record
  68. ]);
  69. return redirect()->back()->with('success', 'Your request has been submitted!');
  70. }
  71. public function submitContact(Request $request) {
  72. $request->validate([
  73. 'name_first' => 'required|string',
  74. 'name_last' => 'required|string',
  75. 'email' => 'required|email',
  76. 'phone' => '',
  77. 'zip' => '',
  78. 'subject' => '',
  79. 'message' => 'required|string',
  80. 'g-recaptcha-response' => 'required|recaptcha'
  81. ]);
  82. $request['form_name'] = 'patient_contact_message';
  83. $record = new PatientContactMessage;
  84. $record->iid = $this->makeIID();
  85. $record->uid = Uuid::uuid6();
  86. $record->name_first = $request->get('name_first');
  87. $record->name_last = $request->get('name_last');
  88. $record->email = $request->get('email');
  89. $record->phone = $request->get('phone');
  90. $record->zip = $request->get('zip');
  91. $record->subject = $request->get('subject');
  92. $record->message = $request->get('message');
  93. $record->save();
  94. $this->saveWebForm($request);
  95. $this->sendWebsiteEmailNotification([
  96. 'template' => 'contact',
  97. 'subject' => $record->subject,
  98. 'data' => $record
  99. ]);
  100. return redirect()->back()->with('success', 'Your request has been submitted!');
  101. }
  102. }