middleware('auth'); $this->middleware('permission:hospital_information-edit', ['only' => ['edit', 'update']]); } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { return redirect('hospital_information/1/edit'); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { $districts = District::orderBy('name', 'asc')->pluck('name', 'id')->toArray(); $parishes = Parish::orderBy('name', 'asc')->pluck('name', 'id')->toArray(); $subcounties = Subcounty::orderBy('name', 'asc')->pluck('name', 'id')->toArray(); $districts = ['' => '- select -'] + $districts; $parishes = ['' => '- select -'] + $parishes; $subcounties = ['' => '- select -'] + $subcounties; return view('hospital_information.create', compact('districts', 'parishes', 'subcounties')); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { //dd($request->all()); $validator = Validator::make($request->all(), [ 'email' => 'required|email', 'level' => 'required', 'phone_number' => 'required', 'country' => 'required', 'patient_number_abbr' => 'required', 'name' => 'required', 'back_date' => 'required|numeric|min:0', 'address' => 'required', 'stamp' => 'nullable|file|mimes:jpg,jpeg,bmp,png,gif,svg,webp', 'lab_stamp' => 'nullable|file|mimes:jpg,jpeg,bmp,png,gif,svg,webp', 'logo' => 'nullable|file|mimes:jpg,jpeg,bmp,png,gif,svg,webp' ]); if ($validator->fails()) { $string = ""; foreach ($validator->errors()->getMessages() as $item) { $string .= "{$item[0]}
"; } flash($string)->error(); return back()->withErrors($validator)->withInput(); } else { $hospital_information = new HospitalInformation; $hospital_information->name = $request->name; $hospital_information->level = $request->level; $hospital_information->email = $request->email; $hospital_information->code = $request->code; $hospital_information->district = $request->district; $hospital_information->parish = $request->parish; $hospital_information->sub_county = $request->sub_county; $hospital_information->sub_district = $request->sub_district; $hospital_information->address = $request->address; $hospital_information->website = $request->website; $hospital_information->country = $request->country; $hospital_information->app_name = $request->app_name; $hospital_information->back_date = $request->back_date; $hospital_information->app_version = $request->app_version; $hospital_information->patient_number_abbr = $request->patient_number_abbr; $hospital_information->financial_year_start_date = $request->financial_year_start_date; $logo = $request->file('logo'); $logo_destination_path = $logo_name = ''; if ($logo) { $logo_name = date("Ymd_H-i-s") . '_' . $logo->getClientOriginalName(); $logo_destination_path = 'uploads/logo/'; $random = ''; do { $logo_name = date("Ymd_H-i-s") . '_' . Str::slug($logo->getClientOriginalName()) . $random . '.' . File::extension($logo->getClientOriginalName()); $random = Str::random(6); } while (File::exists($logo_destination_path.$logo_name)); $logo->move($logo_destination_path, $logo_name); } $current_logo = $request->current_logo; $new_logo = $logo_destination_path . $logo_name; $hospital_information->logo = $new_logo ? $new_logo : $current_logo; $stamp = $request->file('stamp'); $stamp_destination_path = $stamp_name = ''; if ($stamp) { $stamp_name = date("Ymd_H-i-s") . '_' . $stamp->getClientOriginalName(); $stamp_destination_path = 'uploads/logo/'; $random = ''; do { $stamp_name = date("Ymd_H-i-s") . '_' . Str::slug($stamp->getClientOriginalName()) . $random . '_stamp.'. File::extension($stamp->getClientOriginalName()); $random = Str::random(6); } while (File::exists($stamp_destination_path.$stamp_name)); $stamp->move($stamp_destination_path, $stamp_name); } $current_stamp = $request->current_stamp; $new_stamp = $stamp_destination_path . $stamp_name; $hospital_information->stamp = $new_stamp ? $new_stamp : $current_stamp; $lab_stamp = $request->file('lab_stamp'); $lab_stamp_destination_path = $lab_stamp_name = ''; if ($lab_stamp) { $lab_stamp_name = date("Ymd_H-i-s") . '_' . $lab_stamp->getClientOriginalName(); $lab_stamp_destination_path = 'uploads/logo/'; $random = ''; do { $lab_stamp_name = date("Ymd_H-i-s") . '_' . Str::slug($lab_stamp->getClientOriginalName()) . $random . '_lab_stamp.'. File::extension($lab_stamp->getClientOriginalName()); $random = Str::random(6); } while (File::exists($lab_stamp_destination_path.$lab_stamp_name)); $lab_stamp->move($lab_stamp_destination_path, $lab_stamp_name); } $current_lab_stamp = $request->current_lab_stamp; $new_lab_stamp = $lab_stamp_destination_path . $lab_stamp_name; $hospital_information->lab_stamp = $new_lab_stamp ? $new_lab_stamp : $current_lab_stamp; $hospital_information->updated_by = Auth::id(); $hospital_information->save(); //update the streamline setup table with the new finished step $streamline_setup = new StreamlineSetupStep; $streamline_setup->step = "hospital registration"; $streamline_setup->completion_status = 1; $streamline_setup->save(); flash($request->name . " Hospital Information has been saved")->success(); return redirect("clinics/create"); //for the streamline set up process } } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { // } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { $hospital_information = HospitalInformation::where(['id' => 1])->first(); $districts = District::orderBy('name', 'asc')->pluck('name', 'id')->toArray(); $parishes = Parish::orderBy('name', 'asc')->pluck('name', 'id')->toArray(); $subcounties = Subcounty::orderBy('name', 'asc')->pluck('name', 'id')->toArray(); $districts = ['' => '- select -'] + $districts; $parishes = ['' => '- select -'] + $parishes; $subcounties = ['' => '- select -'] + $subcounties; return view('hospital_information.edit', compact('hospital_information', 'districts', 'parishes', 'subcounties')); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $validator = Validator::make($request->all(), [ 'email' => 'required|email', 'level' => 'required', 'phone_number' => 'required', 'country' => 'required', 'patient_number_abbr' => 'required', 'name' => 'required', 'address' => 'required', 'stamp' => 'nullable|file|mimes:jpg,jpeg,bmp,png,webp,gif,svg', 'lab_stamp' => 'nullable|file|mimes:jpg,jpeg,bmp,png,gif,svg,webp', 'logo' => 'nullable|file|mimes:jpg,jpeg,bmp,png,gif,svg,webp', 'back_date' => 'required|numeric|min:0', ]); if ($validator->fails()) { $string = ""; foreach ($validator->errors()->getMessages() as $item) { $string .= "{$item[0]}
"; } flash($string)->error(); return back()->withErrors($validator)->withInput(); } else { $logged_in_user_id = Auth::id(); $hospital_information = HospitalInformation::find($id); $hospital_information->name = $request->name; $hospital_information->email = $request->email; $hospital_information->website = $request->website; $hospital_information->phone_number = $request->phone_number; $hospital_information->app_name = $request->app_name; $hospital_information->app_version = $request->app_version; $hospital_information->patient_number_abbr = $request->patient_number_abbr; $hospital_information->financial_year_start_date = $request->financial_year_start_date; $hospital_information->address = $request->address; $hospital_information->level = $request->level; $hospital_information->code = $request->code; $hospital_information->country = $request->country; $hospital_information->district = $request->district; $hospital_information->parish = $request->parish; $hospital_information->back_date = $request->back_date; $hospital_information->sub_county = $request->sub_county; $hospital_information->sub_district = $request->sub_district; $hospital_information->print_footer = $request->print_footer; if ($request->hasFile('logo')) { $logo = $request->file('logo'); $logo_name = date("Ymd_H-i-s") . '.' . $logo->getClientOriginalExtension(); $destinationPath = 'uploads/logo'; $logoPath = $destinationPath . "/" . $logo_name; $logo->move($destinationPath, $logoPath); $hospital_information->logo = $logoPath; } if ($request->hasFile('stamp')) { $stamp = $request->file('stamp'); $stamp_name = date("Ymd_H-i-s") . '_' . Str::slug($stamp->getClientOriginalName()) . '_stamp.'. File::extension($stamp->getClientOriginalName()); $destinationPath = 'uploads/logo'; $stampPath = $destinationPath . "/" . $stamp_name; $stamp->move($destinationPath, $stampPath); $hospital_information->stamp = $stampPath; } if ($request->hasFile('lab_stamp')) { $lab_stamp = $request->file('lab_stamp'); $lab_stamp_name = date("Ymd_H-i-s") . '_' . Str::slug($lab_stamp->getClientOriginalName()) . '_lab_stamp.'. File::extension($lab_stamp->getClientOriginalName()); $destinationPath = 'uploads/logo'; $lab_stampPath = $destinationPath . "/" . $lab_stamp_name; $lab_stamp->move($destinationPath, $lab_stampPath); $hospital_information->lab_stamp = $lab_stampPath; } if ($request->hasFile('pdf_print_header')) { $pdf_print_header = $request->file('pdf_print_header'); $pdf_print_header_name = date("Ymd_H-i-s") . '_print.' . $pdf_print_header->getClientOriginalExtension(); $destinationPath = 'uploads/logo'; $pdf_print_headerPath = $destinationPath . "/" . $pdf_print_header_name; $pdf_print_header->move($destinationPath, $pdf_print_headerPath); $hospital_information->pdf_print_header = $pdf_print_headerPath; } $hospital_information->updated_by = $logged_in_user_id; $hospital_information->save(); flash($request->name . " Hospital Information has been updated")->success(); return redirect("/hospital_information/1/edit")->withInput(); } } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { // } public function remove_print_banner() { $hospital_information = HospitalInformation::find(1); $hospital_information->pdf_print_header = NULL; $hospital_information->save(); flash("Hospital Information has been updated")->success(); return redirect("/hospital_information/1/edit"); } }