mirror of
https://gitlab.com/signalytic/client-external/streamline/streamline-emr.git
synced 2026-09-12 19:21:33 +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,26 @@
|
||||
<?php
|
||||
|
||||
namespace Streamline\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Carbon\Carbon;
|
||||
use Streamline\Models\GeneralSettings;
|
||||
use Streamline\Models\User;
|
||||
|
||||
class CheckActiveUsersLimit
|
||||
{
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
$general_settings = GeneralSettings::find(1);
|
||||
$active_users = User::select('id')->get();
|
||||
$number_of_active_users_limit = $general_settings->number_of_active_users_limit;
|
||||
|
||||
if(count($active_users) > $number_of_active_users_limit) {
|
||||
flash("You have exceeded your active users limit. Please delete extra users to continue")->error();
|
||||
return redirect('/users');
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace Streamline\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
|
||||
class DisableBackButton {
|
||||
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next) {
|
||||
$response = $next($request);
|
||||
|
||||
/*return $response->header('Cache-Control', 'nocache, no-store, max-age=0, must-revalidate')
|
||||
->header('Pragma', 'no-cache')
|
||||
->header('Expires', 'Sun, 02 Jan 1990 00:00:00 GMT');*/
|
||||
$response->headers->set('Cache-Control', 'nocache, no-store, max-age=0, must-revalidate');
|
||||
$response->headers->set('Pragma', 'no-cache');
|
||||
$response->headers->set('Expires', 'Sun, 02 Jan 1990 00:00:00 GMT');
|
||||
return $response;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace Streamline\Http\Middleware;
|
||||
|
||||
use Illuminate\Cookie\Middleware\EncryptCookies as BaseEncrypter;
|
||||
|
||||
class EncryptCookies extends BaseEncrypter
|
||||
{
|
||||
/**
|
||||
* The names of the cookies that should not be encrypted.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $except = [
|
||||
//
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace Streamline\Http\Middleware;
|
||||
|
||||
use Closure, Session, Auth;
|
||||
|
||||
class LocaleMiddleware {
|
||||
|
||||
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
if(Auth::user()){
|
||||
$personal_locale = 'en';
|
||||
if (Auth::user()->system_language == 1) {
|
||||
$personal_locale = 'en';
|
||||
} elseif(Auth::user()->system_language == 2){
|
||||
$personal_locale = 'pt';
|
||||
} elseif(Auth::user()->system_language == 3){
|
||||
$personal_locale = 'fr';
|
||||
}
|
||||
app()->setLocale($personal_locale);
|
||||
}elseif($locale = Session::has('locale')){
|
||||
app()->setLocale($locale);
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace Streamline\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class RedirectIfAuthenticated
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @param string|null $guard
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next, $guard = null)
|
||||
{
|
||||
if (Auth::guard($guard)->check()) {
|
||||
return redirect('/home');
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace Streamline\Http\Middleware;
|
||||
|
||||
use Illuminate\Foundation\Http\Middleware\TrimStrings as BaseTrimmer;
|
||||
|
||||
class TrimStrings extends BaseTrimmer
|
||||
{
|
||||
/**
|
||||
* The names of the attributes that should not be trimmed.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $except = [
|
||||
'password',
|
||||
'password_confirmation',
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace Streamline\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Auth;
|
||||
use Cache;
|
||||
use Streamline\Models\User;
|
||||
|
||||
class UserActivity
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
if (Auth::check()) {
|
||||
$expiresAt = now()->addSeconds(120); /* keep online for 2 min */
|
||||
Cache::put('user-is-online-' . Auth::user()->id, true, $expiresAt);
|
||||
|
||||
/* last seen */
|
||||
User::where('id', Auth::user()->id)->update(['last_seen' => now()]);
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace Streamline\Http\Middleware;
|
||||
|
||||
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
|
||||
|
||||
class VerifyCsrfToken extends BaseVerifier
|
||||
{
|
||||
/**
|
||||
* The URIs that should be excluded from CSRF verification.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $except = [
|
||||
'lab_machines/receive_results_mindray_bc5000',
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user