updated streamline-setup v2

This commit is contained in:
2025-01-15 08:53:49 -08:00
committed by alec.turner
parent a2ce9248f0
commit 4b569f81b0
20228 changed files with 2932048 additions and 63204 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,153 @@
<!DOCTYPE html>
<html lang="{{ app()->getLocale() }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" type="image/png" sizes="16x16"
href="{{ asset('uploads/streamline/color/streamline_icon-02.png') }}">
<title>{{ config('app.name', 'Patient Receipt - Stre@mline') }}</title>
<!-- Bootstrap Core CSS -->
<link href="{{ asset('bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">
<style>
body {
font-size: 0.8em;
}
/*thead, tfoot { display: table-row-group }*/
thead {
display: table-header-group;
}
tfoot {
display: table-row-group;
}
tr {
page-break-before: always;
page-break-after: always;
page-break-inside: avoid;
}
</style>
</head>
<body>
<div class="container-fluid">
@include('layouts.header_pdf_print')
<table class="table table-bordered">
{{-- <tr>
<td><b>{{ __('patient_finance.date') }}</b></td>
<td colspan="2">{{ streamline_date_time_short($receipt_date) }}</td>
<td><b>{{ __('patient_finance.receipt_number') }}</b></td>
<td colspan="2">{{ $receipt_number }}</td>
<td><b>{{ __('family_accounts.deposit_date') }}</b></td>
<td colspan="2">{{ $new_family_deposit->deposit_date }}</td>
</tr> --}}
</table>
<table class="table table-bordered" id="receipt_table">
<thead>
<th>{{ __('No.') }}</th>
<th>{{ __('audit_trail.date_and_time') }}</th>
<th>{{ __('audit_trail.action_performed') }}</th>
<th>{{ __('Old Values') }}</th>
<th>{{ __('New Values') }}</th>
<th>{{ __('audit_trail.computer_ip_address') }}</th>
</thead>
<tbody>
@foreach ($audit_trail as $key => $value)
@php
$record_affected = str_replace('Streamline\\', '', $value->auditable_type);
$exploded_array = preg_split('/(?=[A-Z])/', $record_affected);
$record_affected = implode(' ', $exploded_array);
$user = Streamline\Models\User::where('id', $value->user_id)->first();
$full_names = $user->first_name . ' ' . $user->last_name;
@endphp
<tr>
<td>{{ ++$key }}</td>
<td>{{ streamline_date_time_short($value->created_at) }}</td>
<td>
@if($value->auditable_type == "Streamline\Models\User")
@if($value->user_id == $value->auditable_id && str_contains($value->url, 'login') == 1)
<b>{{ get_full_name($value->user_id, 'id', 'first_name', 'last_name', 'users') }}</b>
logged into their account </b>
@elseif($value->user_id !== $value->auditable_id && str_contains($value->url, 'login')
!== 1)
<b>{{ get_full_name($value->user_id, 'id', 'first_name', 'last_name', 'users') }}</b>
updated account of <b>{{ get_full_name($value->auditable_id, 'id', 'first_name',
'last_name', 'users') }}</b>
@else
<b>{{ get_full_name($value->user_id, 'id', 'first_name', 'last_name', 'users') }}</b>
{{ $value->event
}} {{ __('audit_trail.a') }} <b>{{ $record_affected
}}</b>
{{ __('audit_trail.record') }}
@endif
@else
<b>{{ get_full_name($value->user_id, 'id', 'first_name', 'last_name', 'users') }}</b>
{{ $value->event
}} {{ __('audit_trail.a') }} <b>{{ $record_affected
}}</b>
{{ __('audit_trail.record') }}
@endif
</td>
@if($value->auditable_type !== "Streamline\Models\User")
<td>
{!! read_more(json_encode($value->old_values), 'comments_short' . $value->id,
'comments_long' . $value->id) !!}
<div id="comments_long{{ $value->id }}" style="display: none;">
{!! json_encode($value->old_values) !!}<br />
<a class="read_more" style="color : #0099CC;"
onclick="hide('comments_long{{ $value->id }}');show('comments_short{{ $value->id }}');">{{
__('patient_episode.read_less') }}</a>
</div>
</td>
@else
<td></td>
@endif
@if($value->auditable_type !== "Streamline\Models\User")
<td>
{!! read_more(json_encode($value->new_values), 'short_comment' . $value->id,
'long_comment' . $value->id) !!}
<div id="long_comment{{ $value->id }}" style="display: none;">
{!! json_encode($value->new_values) !!}<br />
<a class="read_more" style="color : #0099CC;"
onclick="hide('long_comment{{ $value->id }}');show('short_comment{{ $value->id }}');">{{
__('patient_episode.read_less') }}</a>
</div>
</td>
@else
<td></td>
@endif
{{-- <td class="td-truncate">{{ $audit->user_agent }}</td> --}}
<td>{{ $value->ip_address }}</td>
</tr>
@endforeach
</tbody>
</table>
<div class="row">
<div class="col">
<i style="font-size: 0.8em; float: left">&copy; {{ date('Y') }} Stre@mline</i>
</div>
<div class="col">
<i style="float: right">Printed On {{ date(" d M Y h:ia") }} By {{ auth()->user()->first_name }} {{
auth()->user()->last_name }}</i>
</div>
</div>
</div>
</body>
</html>
@@ -0,0 +1,106 @@
<!DOCTYPE html>
<html lang="{{ app()->getLocale() }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" type="image/png" sizes="16x16"
href="{{ asset('uploads/streamline/color/streamline_icon-02.png') }}">
<title>{{ config('app.name', 'Failed Login - Stre@mline') }}</title>
<!-- Bootstrap Core CSS -->
<link href="{{ asset('bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">
<style>
body {
font-size: 0.8em;
}
/*thead, tfoot { display: table-row-group }*/
thead {
display: table-header-group;
}
tfoot {
display: table-row-group;
}
tr {
page-break-before: always;
page-break-after: always;
page-break-inside: avoid;
}
</style>
</head>
<body>
<div class="container-fluid">
@include('layouts.header_pdf_print')
<table class="table table-bordered">
{{-- <tr>
<td><b>{{ __('patient_finance.date') }}</b></td>
<td colspan="2">{{ streamline_date_time_short($receipt_date) }}</td>
<td><b>{{ __('patient_finance.receipt_number') }}</b></td>
<td colspan="2">{{ $receipt_number }}</td>
<td><b>{{ __('family_accounts.deposit_date') }}</b></td>
<td colspan="2">{{ $new_family_deposit->deposit_date }}</td>
</tr> --}}
</table>
<table class="table table-bordered" id="receipt_table">
<thead>
<th style="width: 10px;">No.</th>
<th style="width: 150px;">Name</th>
<th style="width: 50px;">Email</th>
<th style="width: 80px;">IP Address</th>
<th style="width: 150px;">Time & Date</th>
</thead>
<tbody>
@foreach ($failed_login_data as $key => $value)
@php
$user = Streamline\Models\User::where('id', $value->user_id)->select('first_name',
'last_name')->first();
$date = Carbon\Carbon::parse($value->created_at);
@endphp
<tr>
<td>{{ ++$key }}</td>
<td>{{ $user->first_name }} {{ $user->last_name }}</td>
<td>{{ $value->email_address }}</td>
<td>{{ $value->ip_address }}</td>
<td>{{ streamline_date_time($value->created_at) }} ({{ $date->diffForHumans() }})
</td>
</tr>
@endforeach
</tbody>
</table>
{{-- <div class="row">
<div class="col">
<i style="float: left"> Printed By {{ Auth::user()->first_name }} {{ Auth::user()->last_name }}</i>
</div>
<div class="col">
<i style="float: right">Printed On: {{ Carbon\Carbon::now()->format('d-m-Y'); }}</i>
</div>
</div> --}}
<div class="row">
<div class="col">
<i style="font-size: 0.8em; float: left">&copy; {{ date('Y') }} Stre@mline</i>
</div>
<div class="col">
<i style="float: right">Printed On {{ date(" d M Y h:ia") }} By {{ auth()->user()->first_name }} {{
auth()->user()->last_name }}</i>
</div>
</div>
</div>
</body>
</html>
@@ -0,0 +1,307 @@
@extends('layouts.main')
@push('styles')
<link href="{{ asset('elite/bower_components/select2/select2.min.css') }}" rel="stylesheet" />
<link href="{{ asset('/elite/bower_components/datatables/jquery.dataTables.min.css') }}" rel="stylesheet"
type="text/css" />
<link href="{{ asset('elite/tables/css/buttons.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.css') }}" rel="stylesheet"
type="text/css" />
<style>
th,
td {
white-space: nowrap;
}
,
table {
width: 100%
}
td {
white-space: nowrap;
}
.td-truncate {
overflow: hidden;
text-overflow: ellipsis;
width: 100%;
max-width: 0;
word-break: break-all;
cursor: pointer;
}
,
.td-truncate:hover {
overflow: visible;
white-space: normal;
height: auto;
/* just added this line */
}
</style>
@endpush
@section('content')
<div class="row bg-title">
<div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
<h4 class="page-title">{{ __('audit_trail.audit_trail') }}</h4>
</div>
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
<ol class="breadcrumb">
<li><a href="{{ route('home') }}">{{ __('audit_trail.dashboard') }}</a></li>
<li class="active">{{ __('audit_trail.audit_trail') }}</li>
</ol>
</div>
</div>
@include('audit_trail.menu')
<div class="white-box">
{{ Form::open(['route' => 'audit_trail.search']) }}
<div class="row">
<div class="col-md-3">
<div class="form-group">
{{ Form::label('user_id', __('audit_trail.staff_member')) }}
{{ Form::select('user_id', $user_id, null, ['class' => 'user_id form-control compulsory', 'required'])
}}
<div class="help-block with-errors"></div>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
{{ Form::label('action_performed',__('audit_trail.action_performed')) }}
{{ Form::select('action_performed', $action_performed, null, ['class' => 'action_performed form-control
compulsory', 'required']) }}
<div class="help-block with-errors"></div>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
{{ Form::label('records_affected', __('audit_trail.records_affected')) }}
{{ Form::select('records_affected', $records_affected, null, ['class' => 'records_affected form-control
compulsory', 'required']) }}
<div class="help-block with-errors"></div>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
{{ Form::label('date_range', __('audit_trail.select_the_date')) }}
<select class="form-control compulsory required" name="dates" id="dates" required>
<option value="ALL">{{ __('audit_trail.all_dates') }}</option>
<option value="today" selected>{{ __('audit_trail.today') }}</option>
<option value="yesterday">{{ __('audit_trail.yesterday') }}</option>
<option value="week">{{ __('audit_trail.last_7') }}</option>
<option value="month">{{ __('audit_trail.last_30') }}</option>
<option value="custom-date">{{ __('audit_trail.custom_date') }}</option>
<option value="custom-range">{{ __('audit_trail.date_range') }}</option>
</select>
<div class="help-block with-errors"></div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6"></div>
<div class="col-md-3" style="display: none;" id="start-date-div">
<div class="form-group">
{{ Form::label('start_date', __('audit_trail.date_from')) }}
<div class="input-group">
{{ Form::text('start_date', '', ['class' => 'form-control compulsory', 'required', 'readonly', 'id'
=> 'datepicker-from']) }}
<span class="input-group-addon"><i class="icon-calender"></i></span>
</div>
</div>
</div>
<div class="col-md-3" style="display: none;" id="end-date-div">
<div class="form-group">
{{ Form::label('end_date', __('audit_trail.date_to')) }}
<div class="input-group">
{{ Form::text('end_date', '', ['class' => 'form-control compulsory', 'required', 'readonly', 'id' =>
'datepicker-to']) }}
<span class="input-group-addon"><i class="icon-calender"></i></span>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-10">
<Code>Colors Codes</Code>
<span style="color:black" class="badge badge-danger">Deleted</span>
<span style="color:black" class="badge badge-success">Created</span>
<span style="color:black" class="badge badge-info">Updated</span>
<span style="color:black" class="badge badge-warning">Restored</span>
</div>
<div class="col-md-0">
{{ Form::button(__('audit_trail.search'), ['type' => 'submit', 'class' => 'btn btn-success waves-effect
waves-light m-r-10']) }}
</div>
</div>
{{ Form::close() }}
<div class="row">
<div class="col-md-0">
{{ Form::open(['method'=>'post','route' => 'audit_trail_print']) }}
{{ Form::hidden('data', json_encode($audits)) }}
{{ Form::submit('Print', ['style' => 'float: right;', 'class'=>'btn btn-success btn-success']) }}
{{ Form::close() }}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="white-box">
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>{{ __('No.') }}</th>
<th>{{ __('audit_trail.date_and_time') }}</th>
<th>{{ __('audit_trail.action_performed') }}</th>
<th>{{ __('Old Values') }}</th>
<th>{{ __('New Values') }}</th>
{{-- <th>{{ __('audit_trail.device') }}</th> --}}
<th>{{ __('audit_trail.computer_ip_address') }}</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach ($audits as $audit)
<tr @class([
'text-success' => $audit->event === "created",
'text-primary' => $audit->event === "updated",
'text-danger' => $audit->event === "deleted",
'text-warning' => $audit->event === "restored",
])>
<td>
{{ $loop->iteration }}
</td>
<td>
{{ streamline_date_time_short($audit->created_at) }}
</td>
<td>
{{
get_audit_trail_action_description(
$audit->auditable_type,
$audit->user_id,
$audit->auditable_id,
$audit->url,
$audit->event,
$audit->record_affected
)
}}
</td>
<td>
{!! format_audit_trail_values($audit, 'old') !!}
</td>
<td>
{!! format_audit_trail_values($audit, 'new') !!}
</td>
{{-- <td class="td-truncate">{{ $audit->user_agent }}</td> --}}
<td>{{ $audit->ip_address }}</td>
<td>
<a
href="/audit_trail/audit_trail_details/{{ $audit->id }}"
class="btn btn-success btn-rounded btn-sm">
{{ __('audit_trail.details') }}
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
{{ $audits->links() }}
</div>
</div>
</div>
@endsection
@push('scripts')
<script src="{{ asset('elite/bower_components/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ asset('elite/tables/js/dataTables.buttons.min.js') }}"></script>
<script src="{{ asset('elite/tables/js/buttons.flash.min.js') }}"></script>
<script src="{{ asset('elite/tables/js/jszip.min.js') }}"></script>
<script src="{{ asset('elite/tables/js/pdfmake.min.js') }}"></script>
<script src="{{ asset('elite/tables/js/vfs_fonts.js') }}"></script>
<script src="{{ asset('elite/tables/js/buttons.html5.min.js') }}"></script>
<script src="{{ asset('elite/tables/js/buttons.print.min.js') }}"></script>
<script src="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.js') }}"></script>
<script src="{{ asset('elite/bower_components/select2/select2.min.js') }}"></script>
<script type="text/javascript">
function hide(id) {
document.getElementById(id).style.display = 'none';
}
function show(id) {
if (document.getElementById(id).style.display === 'none') {
document.getElementById(id).style.display = '';
}
}
$('#datepicker-from, #datepicker-to').datepicker({
autoclose: true,
todayHighlight: true,
format: 'dd-mm-yyyy',
});
$('.table').DataTable({
dom: 'Bfrtip',
bInfo: false,
bPaginate: false,
buttons: [{
extend: 'copy',
exportOptions: {
columns: [0, 1, 2, 3, 4]
},
title: 'Audit Trail'
},
{
extend: 'csv',
exportOptions: {
columns: [0, 1, 2, 3, 4]
},
title: 'Audit Trail'
},
{
extend: 'pdf',
exportOptions: {
columns: [0, 1, 2, 3, 4]
},
title: 'Audit Trail'
},
{
extend: 'print',
exportOptions: {
columns: [0, 1, 2, 3, 4]
},
title: 'Audit Trail'
}
]
});
$('#dates').change(function() {
var val = $(this).val();
switch (val) {
case 'custom-date':
$('#end-date-div').hide();
$('#start-date-div').show();
break;
case 'custom-range':
$('#end-date-div').show();
$('#start-date-div').show();
break;
default:
$('#end-date-div').hide();
$('#start-date-div').hide();
break;
}
});
$('.user_id,.action_performed,.records_affected,#dates').select2({
placeholder: "-select-"
});
</script>
@endpush
@@ -0,0 +1,12 @@
<div class="panel panel-default">
<div class="panel-body">
<a href="/audit_trail" class="nav-item btn btn-warning" style="border-radius: 5px;"><i class="fa fa-cogs"></i>
<span style="margin-left: 10px">{{ __('Audit Trail') }}</span></a>
<a href="/failed_logins" class="nav-item btn btn-danger" style="border-radius: 5px;"><i class="fa fa-close"></i>
<span style="margin-left: 10px">{{ __('Failed Logins') }}</span></a>
<a href="/online_users" class="nav-item btn btn-success" style="border-radius: 5px;"><i class="fa fa-dot-circle-o"></i>
<span style="margin-left: 10px">{{ __('Online Users') }}</span></a>
</div>
</div>
@@ -0,0 +1,100 @@
<!DOCTYPE html>
<html lang="{{ app()->getLocale() }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" type="image/png" sizes="16x16"
href="{{ asset('uploads/streamline/color/streamline_icon-02.png') }}">
<title>{{ config('app.name', 'Online User - Stre@mline') }}</title>
<!-- Bootstrap Core CSS -->
<link href="{{ asset('bootstrap/css/bootstrap.min.css') }}" rel="stylesheet">
<style>
body {
font-size: 0.8em;
}
/*thead, tfoot { display: table-row-group }*/
thead {
display: table-header-group;
}
tfoot {
display: table-row-group;
}
tr {
page-break-before: always;
page-break-after: always;
page-break-inside: avoid;
}
</style>
</head>
<body>
<div class="container-fluid">
@include('layouts.header_pdf_print')
<table class="table table-bordered">
{{-- <tr>
<td><b>{{ __('patient_finance.date') }}</b></td>
<td colspan="2">{{ streamline_date_time_short($receipt_date) }}</td>
<td><b>{{ __('patient_finance.receipt_number') }}</b></td>
<td colspan="2">{{ $receipt_number }}</td>
<td><b>{{ __('family_accounts.deposit_date') }}</b></td>
<td colspan="2">{{ $new_family_deposit->deposit_date }}</td>
</tr> --}}
</table>
<table class="table table-bordered" id="receipt_table">
<thead>
<th style="width: 10px;">No</th>
<th style="width: 10px;">Name</th>
<th style="width: 5px;">Email</th>
<th style="width: 10px;">Status</th>
</thead>
<tbody>
@foreach ($online_users as $key => $value)
@php
$now = \Carbon\Carbon::now();
$check_online_status =
\Carbon\Carbon::parse($value['last_seen'])->diffInDays(\Carbon\Carbon::parse($now));
@endphp
<tr>
<td>{{ $value['id'] }}</td>
<td>{{ $value['first_name'] }} {{ $value['last_name'] }}</td>
<td>{{ $value['email'] }}</td>
<td>
@if(Cache::has('user-is-online-' . $value['id']))
<span class="badge badge-success">Online</span>
@else
<span class="badge badge-primary">Offline</span>
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
<div class="row">
<div class="col">
<i style="font-size: 0.8em; float: left">&copy; {{ date('Y') }} Stre@mline</i>
</div>
<div class="col">
<i style="float: right">Printed On {{ date(" d M Y h:ia") }} By {{ auth()->user()->first_name }} {{
auth()->user()->last_name }}</i>
</div>
</div>
</div>
</body>
</html>
@@ -0,0 +1,81 @@
@extends('layouts.main')
@push('styles')
<link href="{{ asset('elite/bower_components/horizontal-timeline/css/horizontal-timeline.css') }}" rel="stylesheet" />
<style></style>
@endpush
@section('content')
<div class="row bg-title">
<div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
<h4 class="page-title">Patient Timeline</h4>
</div>
<div class="col-lg-9 col-sm-8 col-md-8 col-xs-12">
<ol class="breadcrumb">
<li><a href="{{ route('home') }}">Dashboard</a></li>
<li class="active">Patient Timeline</li>
</ol>
</div>
</div>
<div class="white-box">
<div class="row">
<div class="col-md-4">
@if (!is_null($patient->photo) && $patient->photo != '')
<img src='{{ asset($patient->photo) }}' class="img-rounded center" style='height: auto; width: 100%'
alt='Photo not available' />
@else
<img src="/uploads/streamline_images/person-place-holder.jpg" class="img-rounded center"
style='height: auto; width: 100%' alt='Photo not available' />
@endif
</div>
<div class="col-md-8">
<div class="row">
<div class="col-md-4"><b>Patient Names:</b> {{ $patient->first_name }} {{ $patient->last_name }}</div>
<div class="col-md-4"><b>Gender:</b> {{ $patient->gender == 1 ? 'Male' : 'Female' }}</div>
<div class="col-md-4"><b>Age:</b> {{ get_patients_age($patient->date_of_birth) }}</div>
</div>
<br><br>
<div class="row">
<div class="col-md-4"><b>Patient Number:</b> {{ $patient->number }}</div>
<div class="col-md-4"><b>Phone:</b> {{ $patient->phone }}</div>
<div class="col-md-4"><b>Email:</b> {{ $patient->email }}</div>
</div>
</div>
</div>
</div>
<div class="white-box">
<ul class="timeline">
@php
// invert side to place record
$inverted = false;
@endphp
@foreach ($patient_timeline as $timeline)
<li @if ($inverted) class="timeline-inverted" @endif>
<div class="timeline-badge success"><i
class="fa @if ($inverted) fa-arrow-right @else fa-arrow-left @endif"></i>
</div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4 class="timeline-title">{{ $timeline['date'] }}</h4>
</div>
<div class="timeline-body">
<div class="card card-outline-primary text-center text-dark">
<div class="card-block">
<p>{!! $timeline['text'] !!}</p>
</div>
</div>
</div>
</div>
</li>
@php $inverted = !($inverted == true); @endphp
@endforeach
</ul>
</div>
@endsection
@push('scripts')
<script src="{{ asset('elite/bower_components/horizontal-timeline/js/horizontal-timeline.js') }}"></script>
<script type="text/javascript"></script>
@endpush
@@ -0,0 +1,129 @@
@extends('layouts.main')
@push('styles')
<link href="{{ asset('elite/bower_components/select2/select2.min.css') }}" rel="stylesheet" />
@endpush
@section('content')
<div class="row bg-title">
<div class="col-md-6">
<h4 class="page-title">Select Patient and Episode</h4>
</div>
<div class="col-md-6">
<ol class="breadcrumb">
<li><a href="{{ route('home') }}">Dashboard</a></li>
<li class="active">Patient Timeline</li>
</ol>
</div>
</div>
<div class="white-box">
{{ Form::open(['route' => 'audit_trail.select_patient_and_episode', 'method' => 'ANY', 'role' => 'search']) }}
{{ Form::hidden('patient_id', 0, ['id' => 'patient_id']) }}
<div class="row">
<div class="col-md-3">
<div class="form-group">
<select class="patient_full_name form-control" style="width:100%;" name="patient_full_name" id="patient_full_name"></select>
</div>
</div>
<div class="col-md-3">
<button type="submit" class="btn btn-success pull-right"><span class="glyphicon glyphicon-search"></span> Search</button>
</div>
</div>
{{ Form::close() }}
<hr>
@if($patient_searched)
<h4>{{ $patient->first_name }} {{ $patient->last_name }} ({{ $patient->number }})</h4>
<br>
@if(count($patient_episodes_details) > 0)
@php
$current_column = 1;
$current_item = 1;
@endphp
@foreach($patient_episodes_details as $episode)
@if($current_column == 1)
<div class="row">
@endif
<div class="col-md-4">
<a href="/audit_trail/patient_timeline/{{ $patient->id }}/{{ $episode['id'] }}" class="btn btn-success btn-rounded btn-outline col-md-12">{{ $episode['created_at'] }}</a>
</div>
@if($current_column == 3 || $current_item == count($patient_episodes_details))
</div><br>
@php $current_column = 1; @endphp
@else
@php $current_column++; @endphp
@endif
@php
$current_item++;
@endphp
@endforeach
{{-- @php--}}
{{-- $episode_chunk = round(count($patient_episodes_details) / 2);--}}
{{-- $episodes = array_chunk($patient_episodes_details, $episode_chunk, true);--}}
{{-- @endphp--}}
{{-- @foreach($episodes as $episode)--}}
{{-- {{ dd($episode) }}--}}
{{-- --}}{{--<div class="row">--}}
{{-- @foreach($episode as $ee)--}}
{{-- <div class="col-md-4">{{ $ee['id'] }}</div>--}}
{{-- @endforeach--}}
{{-- </div>--}}
{{-- @endforeach--}}
@else
<h4><span style="color: red">Patient has no episodes</span></h4>
@endif
@endif
</div>
@endsection
@push('scripts')
<script src="{{ asset('elite/bower_components/select2/select2.min.js') }}"></script>
<script type="text/javascript">
$('.patient_full_name').change(function() {
let id = $('#patient_full_name').val();
$('#patient_id').val(id);
$.ajax({
method: 'GET',
url: "/patients/update_patient_info/" + id,
success: function(response){
$('#patient_info').html(response).show();
},
error: function (error) {
console.log(error);
}
});
}).select2({
placeholder: "<?php echo "Search by patient name or number" ?>",
ajax: {
url: '/patients/search_patient_by_name_number',
dataType: 'json',
delay: 250,
processResults: function (data) {
return {
results: $.map(data, function (item) {
return {
text: item.first_name + " " + item.last_name + " ("+ item.number + ") " + item.phone,
id: item.id
}
})
};
},
cache: true
}
});
</script>
@endpush