123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256 |
- <?php
- namespace App\Http\Controllers;
- use App\Http\Traits\StringGeneratorTrait;
- use Ramsey\Uuid\Uuid;
- use Illuminate\Http\Request;
- use App\Models\PhysicianTrainingRequest;
- use App\Models\PhysicianContactMessage;
- use App\Models\PhysicianDirectoryListingRequest;
- use App\Models\PhysicianMarketingMaterialsRequest;
- use App\Models\LigatorOrder;
- class PhysiciansController extends Controller
- {
- use StringGeneratorTrait;
- public function index(Request $request) {
- return view('app.physicians.index');
- }
- public function instructionsForUse(Request $request){
- return view('app.physicians.instructions-for-use');
- }
- public function practiceSupport(Request $request){
- return view('app.physicians.practice-support');
- }
- public function practiceSupportReimbursement(Request $request){
- return view('app.physicians.practice-support.reimbursement');
- }
- public function practiceSupportTraining(Request $request){
- return view('app.physicians.practice-support.training');
- }
- public function practiceSupportDirectoryListing(Request $request){
- return view('app.physicians.practice-support.directory-listing');
- }
- public function orderProducts(Request $request){
- return view('app.physicians.order-products');
- }
- public function orderProductsLigators(Request $request){
- return view('app.physicians.order-products.ligators');
- }
- public function orderProductsMarketing(Request $request){
- return view('app.physicians.order-products.marketing');
- }
- public function orderProductsObp(Request $request){
- return view('app.physicians.order-products.obp');
- }
- public function fdaRegistration(Request $request){
- return view('app.physicians.fda-registration');
- }
- public function contactUs(Request $request){
- return view('app.physicians.contact-us');
- }
- public function getTrained(Request $request){
- return view('app.physicians.get-trained');
- }
- public function reimbursementGuide(Request $request){
- return view('app.physicians.reimbursement-guide');
- }
- public function privacy() {
- return view('app.privacy');
- }
- public function terms() {
- return view('app.terms');
- }
- public function submitTrainingRequest(Request $request) {
- $request->validate([
- 'name_first' => 'required|string',
- 'name_last' => 'required|string',
- 'practice_name' => 'required|string',
- 'email' => 'required|email',
- 'phone' => 'required|string',
- 'zip' => 'required|string',
- 'training_type' => 'required|string',
- 'training_format' => 'required|string',
- 'g-recaptcha-response' => 'required|recaptcha'
- ]);
- $record = new PhysicianTrainingRequest;
- $record->iid = $this->makeIID();
- $record->uid = Uuid::uuid6();
- $record->name_first = $request->get('name_first');
- $record->name_last = $request->get('name_last');
- $record->practice_name = $request->get('practice_name');
- $record->email = $request->get('email');
- $record->phone = $request->get('phone');
- $record->zip = $request->get('zip');
- $record->training_type = $request->get('training_type');
- $record->training_type_other = $request->get('training_type_other');
- $record->training_format = $request->get('training_format');
- $record->notes = $request->get('notes');
- $record->save();
- $this->sendWebsiteEmailNotification([
- 'template' => 'training-request',
- 'subject' => 'Hemband Training Request',
- 'data' => $record
- ]);
- return redirect()->back()->with('success', 'Your request has been submitted!');
- }
- public function submitContactUs(Request $request){
- $request->validate([
- 'name_prefix' => 'required|string',
- 'name_first' => 'required|string',
- 'name_last' => 'required|string',
- 'practice_name' => 'required|string',
- 'email' => 'required|email',
- 'phone' => 'required|string',
- 'zip' => 'required|string',
- 'message' => 'required|string',
- ]);
- $record = new PhysicianContactMessage;
- $record->iid = $this->makeIID();
- $record->uid = Uuid::uuid6();
- $record->name_prefix = $request->get('name_prefix');
- $record->name_first = $request->get('name_first');
- $record->name_last = $request->get('name_last');
- $record->practice_name = $request->get('practice_name');
- $record->email = $request->get('email');
- $record->phone = $request->get('phone');
- $record->zip = $request->get('zip');
- $record->message = $request->get('message');
- $record->save();
- $this->sendWebsiteEmailNotification([
- 'template' => 'physician-contact',
- 'subject' => 'Hemband Physician Contact Form',
- 'data' => $record
- ]);
- return redirect()->back()->with('success', 'Your request has been submitted!');
- }
- public function submitPracticeSupportDirectoryListing(Request $request){
- $request->validate([
- 'name_first' => 'required|string',
- 'name_last' => 'required|string',
- 'title' => 'required|string',
- 'practice_name' => 'required|string',
- 'email' => 'required|email',
- 'phone' => 'required|string',
- 'zip' => 'required|string',
- 'comment' => 'required|string',
- 'g-recaptcha-response' => 'required|recaptcha'
- ]);
- $record = new PhysicianDirectoryListingRequest;
- $record->iid = $this->makeIID();
- $record->uid = Uuid::uuid6();
- $record->name_first = $request->get('name_first');
- $record->name_last = $request->get('name_last');
- $record->title = $request->get('title');
- $record->practice_name = $request->get('practice_name');
- $record->email = $request->get('email');
- $record->phone = $request->get('phone');
- $record->zip = $request->get('zip');
- $record->comment = $request->get('comment');
- $record->save();
- $this->sendWebsiteEmailNotification([
- 'template' => 'physician-directory-listing-request',
- 'subject' => 'Hemband Physician Directory Listing Request Form',
- 'data' => $record
- ]);
- return redirect()->back()->with('success', 'Your request has been submitted!');
- }
- public function submitOrderProductsMarketing(Request $request) {
- $request->validate([
- 'name_first' => 'required|string',
- 'name_last' => 'required|string',
- 'title' => 'required|string',
- 'practice_name' => 'required|string',
- 'practice_address' => 'required|string',
- 'email' => 'required|email',
- 'phone' => 'required|string',
- 'zip' => 'required|string',
- 'comment' => 'required|string',
- 'g-recaptcha-response' => 'required|recaptcha'
- ]);
- $record = new PhysicianMarketingMaterialsRequest;
- $record->iid = $this->makeIID();
- $record->uid = Uuid::uuid6();
- $record->name_first = $request->get('name_first');
- $record->name_last = $request->get('name_last');
- $record->title = $request->get('title');
- $record->practice_name = $request->get('practice_name');
- $record->practice_address = $request->get('practice_address');
- $record->email = $request->get('email');
- $record->phone = $request->get('phone');
- $record->zip = $request->get('zip');
- $record->comment = $request->get('comment');
- $record->save();
- $this->sendWebsiteEmailNotification([
- 'template' => 'physician-marketing-materials-request',
- 'subject' => 'Hemband Physician Marketing Materials Request Form',
- 'data' => $record
- ]);
- return redirect()->back()->with('success', 'Your request has been submitted!');
- }
- public function submitOrderLigators(Request $request){
- $request->validate([
- 'order_date' => 'required|string',
- 'company_name' => 'required|string',
- 'order_phyisician_name' => 'required|string',
- 'phone_number' => 'required|string',
- 'purchasing_contact_name' => 'required|string',
- 'email' => 'required|email',
- 'state' => 'required|string',
- 'city' => 'required|string',
- 'zip' => 'required|string',
- 'shipping_address' => 'required|string',
- 'g-recaptcha-response' => 'required|recaptcha'
- ]);
- $record = new LigatorOrder;
- $record->iid = $this->makeIID();
- $record->uid = Uuid::uuid6();
- $record->order_date = $request->get('order_date');
- $record->postal_code = $request->get('postal_code');
- $record->company_name = $request->get('company_name');
- $record->group_npi = $request->get('group_npi');
- $record->order_phyisician_name = $request->get('order_phyisician_name');
- $record->physician_npi = $request->get('physician_npi');
- $record->purchasing_contact_name = $request->get('purchasing_contact_name');
- $record->phone_number = $request->get('phone_number');
- $record->email = $request->get('email');
- $record->shipping_address = $request->get('shipping_address');
- $record->line_2 = $request->get('line_2');
- $record->city = $request->get('city');
- $record->state = $request->get('state');
- $record->zip = $request->get('zip');
- $record->quantity = $request->get('quantity');
- $record->memo = $request->get('memo');
- $record->delivery_option = $request->get('delivery_option');
- $record->agrees_to_terms = $request->get('agrees_to_terms');
- $record->save();
- $this->sendWebsiteEmailNotification([
- 'template' => 'physician-order-ligators',
- 'subject' => 'Physician Ligator Order',
- 'data' => $record
- ]);
- return redirect()->back()->with('orderIID', $record->iid)->with('success', 'Your order has been submitted!');
- }
- }
|