Files
streamline-emr/docker/_streamline-src/resources/views/users/online_users.blade.php
T

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