Files
streamline-emr/docker/streamline-src/resources/views/users/online_users.blade.php
T
alec.turner a424394109 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
2024-03-10 16:17:50 -07:00

219 lines
8.6 KiB
PHP
Executable File

@extends('layouts.main')
@push('styles')
<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;
}
</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">Online Users</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">Online Users</li>
</ol>
</div>
</div>
@include('audit_trail.menu')
<div class="white-box">
@if(count($users) > 0)
<div class="row" style="float: right;">
<div class="col-sm-3">
{{ Form::open(['method'=>'post','route' => 'online_user_print']) }}
{{ Form::hidden('data', json_encode($users)) }}
{{ Form::submit('Print', ['style' => 'float: right;', 'class'=>'btn btn-success btn-success']) }}
{{ Form::close() }}
</div>
</div>
@endif
{{ Form::open(['route' => 'audit_trail.online_users_search']) }}
<div class="row">
<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 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-3">
<div class="form-group">
{{ Form::button(__('audit_trail.search'), ['type' => 'submit', 'class' => 'btn btn-success waves-effect
waves-light m-r-10']) }}
</div>
</div>
<div class="col-md-9"></div>
</div>
{{ Form::close() }}
</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>Name</th>
<th>Email</th>
<th>Status</th>
</tr>
</thead>
<tbody>
@php
$counter = 1;
@endphp
@foreach($users as $user)
@php
$now = \Carbon\Carbon::now();
$check_online_status = \Carbon\Carbon::parse($user->last_seen)->diffInDays(\Carbon\Carbon::parse($now));
@endphp
@if($check_online_status == 0)
<tr>
<td>{{ $user->id }}</td>
<td>{{ $user->first_name }} {{ $user->last_name }}</td>
<td>{{ $user->email }}</td>
<td>
@if(Cache::has('user-is-online-' . $user->id))
<span class="badge badge-success">Online</span>
@endif
</td>
</tr>
@endif
@php $counter++; @endphp
@endforeach
</tbody>
</table>
</div>
{{ $users->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">
$('#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').select2({
placeholder: "-select-"
});
</script>
@endpush