mirror of
https://gitlab.com/signalytic/client-external/streamline/streamline-emr.git
synced 2026-09-11 18:51:31 +00:00
Build modified streamline images
The official image from streamline does not currently work for the arm64 platform. As a temporary measure, the source code and docker build scripts have been lifted from the official images and are used to build locally. Some additional modifications are made to reduce overall image size, these are documented in docker/README.md
This commit is contained in:
@@ -0,0 +1,170 @@
|
||||
<?php
|
||||
|
||||
namespace Streamline\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Streamline\Models\GeneralSettings;
|
||||
use Streamline\Models\Services;
|
||||
use Streamline\Models\PermissionCategory;
|
||||
use Streamline\Models\User;
|
||||
|
||||
class GeneralSettingsController extends Controller {
|
||||
|
||||
public function edit_settings(){
|
||||
$general_settings = GeneralSettings::find(1);
|
||||
$services = Services::pluck('name', 'id')->toArray();
|
||||
$services = ['' => '- select -'] + $services;
|
||||
|
||||
return view('general_settings.edit', compact('general_settings', 'services'));
|
||||
}
|
||||
|
||||
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->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->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->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->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 \Streamline\Models\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()->user()->id);
|
||||
|
||||
return view('general_settings.personal_settings_edit', compact('general_settings'));
|
||||
}
|
||||
|
||||
public function save_personal_settings(Request $request)
|
||||
{
|
||||
$user = User::find(auth()->user()->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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user