toArray(); $services = ['' => '- select -'] + $services; $clinics = Clinic::pluck('name', 'id')->toArray(); $clinics = ['' => '- select -'] + $clinics; return view('general_settings.edit', compact('general_settings', 'services', 'clinics')); } public function save_settings(Request $request) { $general_settings = GeneralSettings::find(1); $general_settings->donor_feature = $request->donor_feature; $general_settings->ward_prescription_model = $request->ward_prescription_model; $general_settings->show_drug_brand_name = $request->show_drug_brand_name; $general_settings->family_accounts_feature = $request->family_accounts_feature; $general_settings->family_account_over_consumption = $request->allow_over_consumption; $general_settings->currency_code = $request->currency_code; $general_settings->password_expiration_days = $request->password_expiration_days; $general_settings->session_expiration_time = $request->session_expiration_time; $general_settings->enable_sms = $request->enable_sms; $general_settings->incoming_prescription_confirmation_feature = $request->incoming_prescription_confirmation_feature; $general_settings->add_stamp_to_pdf_feature = $request->add_stamp_to_pdf_feature; $general_settings->consultation_attendance = $request->consultation_attendance; $general_settings->inpatient_sheet_extras= $request->inpatient_sheet_extras; $general_settings->add_lab_stamp_to_pdf_feature = $request->add_lab_stamp_to_pdf_feature; $general_settings->enable_dipensing_unpaid_prescription = $request->enable_dipensing_unpaid_prescription; $general_settings->item_batch_tracking = $request->item_batch_tracking; $general_settings->enable_patient_debt_reminder = $request->enable_patient_debt_reminder; $general_settings->enable_performing_unpaid_consultations = $request->enable_performing_unpaid_consultations; $general_settings->disable_out_of_stock_message = $request->disable_out_of_stock_message; $general_settings->allow_prescribing_out_of_stock_drugs = $request->allow_prescribing_out_of_stock_drugs; $general_settings->enable_dispensing_non_invoiced_prescription = $request->enable_dispensing_non_invoiced_prescription; $general_settings->chi_enabled = $request->chi_enabled; $general_settings->batch_tracking_method = $request->batch_tracking_method; $general_settings->patient_accounts_enabled = $request->patient_accounts_enabled; $general_settings->enable_performing_unpaid_review_consultations = $request->enable_performing_unpaid_review_consultations; if ($request->add_service_to_patient_bill != 0) { if (isset($request->service_id) && $request->service_id != 0) { $general_settings->add_service_to_patient_bill = $request->service_id; } else { $general_settings->add_service_to_patient_bill = 0; } } else { $general_settings->add_service_to_patient_bill = 0; } $general_settings->enable_performing_unpaid_investigations = $request->enable_performing_unpaid_investigations; $general_settings->cashier_receipts_print_format = $request->cashier_receipts_print_format; $general_settings->investigation_billing_mode = $request->investigation_billing_mode; $general_settings->enable_tuberculosis_screening = $request->enable_tuberculosis_screening; $general_settings->point_of_inventory_reduction = $request->point_of_inventory_reduction; $general_settings->view_procedure_price_on_order = $request->view_procedure_price_on_order; $general_settings->view_prescription_price_on_order = $request->view_prescription_price_on_order; $general_settings->view_investigation_price_on_order = $request->view_investigation_price_on_order; $general_settings->view_sundry_price_on_order = $request->view_sundry_price_on_order; $general_settings->view_service_price_on_order = $request->view_service_price_on_order; $general_settings->eye_module_enabled = $request->eye_module_enabled; $general_settings->payments_from_banks_with_lesser_balance = $request->payments_from_banks_with_lesser_balance; $general_settings->system_language = $request->system_language; $general_settings->smart_triage_feature = $request->smart_triage_feature; $general_settings->apply_triage_grade = $request->apply_triage_grade; $general_settings->allow_dispensing_out_of_stock_drugs = $request->allow_dispensing_out_of_stock_drugs; $general_settings->allow_issuing_out_of_stock_drugs = $request->allow_issuing_out_of_stock_drugs; $general_settings->smart_discharge_feature = $request->smart_discharge_feature; $general_settings->default_hospital_clinic = $request->default_hospital_clinic; $general_settings->enable_fingerprint = $request->enable_fingerprint; $general_settings->full_detail_receipt_print = $request->full_detail_receipt_print; $general_settings->inpatient_sheet_with_detailed_notes = $request->inpatient_sheet_with_detailed_notes; $general_settings->show_symptoms_on_consultation = $request->show_symptoms_on_consultation; $general_settings->select_clinic_order_type = $request->select_clinic_order_type; $general_settings->enable_hiv_and_gbv_screening_tool = $request->enable_hiv_and_gbv_screening_tool; $general_settings->enable_hiv_screening_tool = $request->enable_hiv_screening_tool; $general_settings->enable_gbv_screening_tool = $request->enable_gbv_screening_tool; $general_settings->stock_levels_to_consider = $request->stock_levels_to_consider; $general_settings->allow_lab_number_editing = $request->allow_lab_number_editing; $general_settings->allow_editing_name_of_lab_doctor = $request->allow_editing_name_of_lab_doctor; $general_settings->save(); flash("Settings have been updated")->success(); if (session()->has('streamline_setup')) { //update the streamline setup table with the new finished step $streamline_setup = new StreamlineSetupStep; $streamline_setup->step = "general settings configuration"; $streamline_setup->completion_status = 1; $streamline_setup->save(); session()->forget('streamline_setup'); return redirect("home"); } return redirect("general_settings/edit"); } public function activate_streamline_modules() { $permission_categories = PermissionCategory::orderBy('name', 'asc')->get(); return view('general_settings.activate_streamline_modules', compact('permission_categories')); } public function store_activated_modules(Request $request) { $activated_categories_array = $request->permission_category; $all_permission_categories = PermissionCategory::pluck('id')->toArray(); //loop through the categories and activate only the checked ones for ($i = 0; $i < count($all_permission_categories); $i++) { $category = PermissionCategory::find($all_permission_categories[$i]); if (in_array($all_permission_categories[$i], $activated_categories_array)) { $category->is_module_active = 1; } else { $category->is_module_active = 0; } $category->update(); } flash("Active modules have been activated")->success(); return redirect("activate_streamline_modules"); } public function edit_personal_settings(Request $request) { $general_settings = User::find(Auth::id()); return view('general_settings.personal_settings_edit', compact('general_settings')); } public function save_personal_settings(Request $request) { $user = User::find(Auth::id()); if ($user) { $user->system_language = $request->system_language; $user->update(); flash('settings have been updated')->success(); return redirect('personal_settings/edit'); } flash('system could not update the settings')->success(); return redirect()->back(); } public function edit_number_of_active_users_limit_settings(Request $request) { $general_settings = GeneralSettings::find(1); return view('general_settings.number_of_active_users_settings_edit', compact('general_settings')); } public function save_number_of_active_users_limit_settings(Request $request) { try { $general_settings = GeneralSettings::find(1); $general_settings->number_of_active_users_limit = $request->number_of_active_users_limit; $general_settings->update(); flash('settings have been updated')->success(); return redirect()->route('general_settings.active_users_limit_settings'); } catch (\Throwable $th) { flash('system could not update the settings')->error(); return redirect()->back(); } } }