2021-06-05 09:26:32 +00:00
|
|
|
@extends('layouts.main')
|
|
|
|
|
|
|
|
@section('content')
|
|
|
|
<!-- CONTENT HEADER -->
|
|
|
|
<section class="content-header">
|
|
|
|
<div class="container-fluid">
|
|
|
|
<div class="row mb-2">
|
|
|
|
<div class="col-sm-6">
|
2023-04-04 00:04:41 +00:00
|
|
|
<h1>{{ __('Users') }}</h1>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
<div class="col-sm-6">
|
|
|
|
<ol class="breadcrumb float-sm-right">
|
2023-04-04 00:04:41 +00:00
|
|
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">{{ __('Dashboard') }}</a></li>
|
|
|
|
<li class="breadcrumb-item"><a href="{{ route('admin.users.index') }}">{{ __('Users') }}</a></li>
|
2022-11-29 08:20:24 +00:00
|
|
|
<li class="breadcrumb-item"><a class="text-muted"
|
2023-04-04 00:04:41 +00:00
|
|
|
href="{{ route('admin.users.show', $user->id) }}">{{ __('Show') }}</a>
|
2022-11-29 08:20:24 +00:00
|
|
|
</li>
|
2021-06-05 09:26:32 +00:00
|
|
|
</ol>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</section>
|
|
|
|
<!-- END CONTENT HEADER -->
|
|
|
|
|
|
|
|
<!-- MAIN CONTENT -->
|
|
|
|
<section class="content">
|
|
|
|
<div class="container-fluid">
|
|
|
|
|
2023-04-04 00:04:41 +00:00
|
|
|
@if ($user->discordUser)
|
2021-06-05 09:26:32 +00:00
|
|
|
<div class="row">
|
|
|
|
<div class="col-lg-4 col-md-6">
|
|
|
|
<div class="small-box bg-dark">
|
|
|
|
<div class="d-flex justify-content-between">
|
|
|
|
<div class="p-3">
|
2023-04-04 00:04:41 +00:00
|
|
|
<h3>{{ $user->discordUser->username }} <sup>{{ $user->discordUser->locale }}</sup></h3>
|
|
|
|
<p>{{ $user->discordUser->id }}
|
2021-06-05 09:26:32 +00:00
|
|
|
</p>
|
|
|
|
</div>
|
2022-11-29 08:20:24 +00:00
|
|
|
<div class="p-3"><img width="100px" height="100px" class="rounded-circle"
|
2023-04-04 00:04:41 +00:00
|
|
|
src="{{ $user->discordUser->getAvatar() }}" alt="avatar"></div>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
<div class="small-box-footer">
|
|
|
|
<i class="fab fa-discord mr-1"></i>Discord
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endif
|
|
|
|
|
|
|
|
<div class="card">
|
|
|
|
<div class="card-header">
|
2023-04-04 00:04:41 +00:00
|
|
|
<h5 class="card-title"><i class="fas fa-users mr-2"></i>{{ __('Users') }}</h5>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
<div class="card-body">
|
|
|
|
<div class="row">
|
|
|
|
|
|
|
|
<div class="col-lg-6">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-lg-4">
|
2023-04-04 00:04:41 +00:00
|
|
|
<label>{{ __('ID') }}</label>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
<div class="col-lg-8">
|
2023-04-04 00:04:41 +00:00
|
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
|
|
{{ $user->id }}
|
|
|
|
</span>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-lg-6">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-lg-4">
|
2023-04-04 00:04:41 +00:00
|
|
|
<label>{{ __('Role') }}</label>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
<div class="col-lg-8">
|
2023-05-03 14:16:50 +00:00
|
|
|
@foreach ($user->roles as $role)
|
|
|
|
<span style='background-color: {{$role->color}}' class='badge'>{{$role->name}}</span>
|
|
|
|
@endforeach
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-lg-6">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-lg-4">
|
2023-04-04 00:04:41 +00:00
|
|
|
<label>{{ __('Pterodactyl ID') }}</label>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
<div class="col-lg-8">
|
2023-04-04 00:04:41 +00:00
|
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
|
|
{{ $user->pterodactyl_id }}
|
|
|
|
</span>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-lg-6">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-lg-4">
|
2023-04-04 00:04:41 +00:00
|
|
|
<label>{{ __('Email') }}</label>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
<div class="col-lg-8">
|
2023-04-04 00:04:41 +00:00
|
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
|
|
{{ $user->email }}
|
|
|
|
</span>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="col-lg-6">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-lg-4">
|
2023-04-04 00:04:41 +00:00
|
|
|
<label>{{ __('Server limit') }}</label>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
<div class="col-lg-8">
|
2023-04-04 00:04:41 +00:00
|
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
|
|
{{ $user->Servers()->count() }} / {{ $user->server_limit }}
|
|
|
|
</span>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-lg-6">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-lg-4">
|
2023-04-04 00:04:41 +00:00
|
|
|
<label>{{ __('Name') }}</label>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
<div class="col-lg-8">
|
2023-04-04 00:04:41 +00:00
|
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
|
|
{{ $user->name }}
|
|
|
|
</span>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-lg-6">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-lg-4">
|
2023-04-04 00:04:41 +00:00
|
|
|
<label>{{ __('Verified') }} {{ __('Email') }}</label>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
<div class="col-lg-8">
|
2023-04-04 00:04:41 +00:00
|
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
|
|
{{ $user->email_verified_at ? 'True' : 'False' }}
|
|
|
|
</span>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-lg-6">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-lg-4">
|
2023-02-06 20:34:58 +00:00
|
|
|
<label>{{ $credits_display_name }}</label>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
<div class="col-lg-8">
|
2023-04-04 00:04:41 +00:00
|
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
|
|
<i class="fas fa-coins mr-2"></i>{{ $user->Credits() }}
|
|
|
|
</span>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-lg-6">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-lg-4">
|
2023-04-04 00:04:41 +00:00
|
|
|
<label>{{ __('Verified') }} {{ __('Discord') }}</label>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
<div class="col-lg-8">
|
2023-04-04 00:04:41 +00:00
|
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
|
|
{{ $user->discordUser ? 'True' : 'False' }}
|
|
|
|
</span>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-lg-6">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-lg-4">
|
2023-04-04 00:04:41 +00:00
|
|
|
<label>{{ __('Usage') }}</label>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
<div class="col-lg-8">
|
2023-04-04 00:04:41 +00:00
|
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
|
|
<i class="fas fa-coins mr-2"></i>{{ $user->CreditUsage() }}
|
|
|
|
</span>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2021-11-08 10:52:09 +00:00
|
|
|
|
2021-06-05 09:26:32 +00:00
|
|
|
<div class="col-lg-6">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-lg-4">
|
2023-04-04 00:04:41 +00:00
|
|
|
<label>{{ __('IP') }}</label>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
<div class="col-lg-8">
|
2023-04-04 00:04:41 +00:00
|
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
|
|
{{ $user->ip }}
|
|
|
|
</span>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-lg-6">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-lg-4">
|
2023-04-04 00:04:41 +00:00
|
|
|
<label>{{ __('Created at') }}</label>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
<div class="col-lg-8">
|
2023-04-04 00:04:41 +00:00
|
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
|
|
{{ $user->created_at->diffForHumans() }}
|
|
|
|
</span>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-lg-6">
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-lg-6">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-lg-4">
|
2023-04-04 00:04:41 +00:00
|
|
|
<label>{{ __('Last seen') }}</label>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
<div class="col-lg-8">
|
2023-04-04 00:04:41 +00:00
|
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
|
|
@if ($user->last_seen)
|
|
|
|
{{ $user->last_seen->diffForHumans() }}
|
|
|
|
@else
|
|
|
|
<small class="text-muted">Null</small>
|
|
|
|
@endif
|
|
|
|
</span>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="card">
|
|
|
|
<div class="card-header">
|
2023-04-04 00:04:41 +00:00
|
|
|
<h5 class="card-title"><i class="fas fa-server mr-2"></i>{{ __('Servers') }}</h5>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
<div class="card-body table-responsive">
|
2023-02-05 22:08:31 +00:00
|
|
|
<table id="datatable" class="table table-striped">
|
|
|
|
<thead>
|
2023-04-04 00:04:41 +00:00
|
|
|
<tr>
|
|
|
|
<th width="20"></th>
|
|
|
|
<th>{{ __('Name') }}</th>
|
|
|
|
<th>{{ __('User') }}</th>
|
|
|
|
<th>{{ __('Server id') }}</th>
|
|
|
|
<th>{{ __('Config') }}</th>
|
|
|
|
<th>{{ __('Suspended at') }}</th>
|
|
|
|
<th>{{ __('Created at') }}</th>
|
|
|
|
<th></th>
|
|
|
|
</tr>
|
2023-02-05 22:08:31 +00:00
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
2022-06-02 14:11:24 +00:00
|
|
|
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
2022-11-29 08:20:24 +00:00
|
|
|
<div class="card">
|
|
|
|
<div class="card-header">
|
2023-04-04 00:04:41 +00:00
|
|
|
<h5 class="card-title"><i class="fas fa-user-check mr-2"></i>{{ __('Referals') }}
|
|
|
|
({{ __('referral-code') }}: {{ $user->referral_code }})</h5>
|
2022-11-29 08:20:24 +00:00
|
|
|
</div>
|
|
|
|
<div class="card-body table-responsive">
|
2022-06-02 14:11:24 +00:00
|
|
|
|
|
|
|
|
2023-04-04 00:04:41 +00:00
|
|
|
@foreach ($referrals as $referral)
|
2022-06-02 14:11:24 +00:00
|
|
|
<div class="col-lg-6">
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-lg-4">
|
2023-04-04 00:04:41 +00:00
|
|
|
<label>User ID: {{ $referral->id }}</label>
|
2022-06-02 14:11:24 +00:00
|
|
|
</div>
|
|
|
|
<div class="col-lg-4">
|
2023-04-04 00:04:41 +00:00
|
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
|
|
<i class="fas fa-user-check mr-2"></i><a
|
|
|
|
href="{{ route('admin.users.show', $referral->id) }}">{{ $referral->name }}</a>
|
|
|
|
</span>
|
2022-06-02 14:11:24 +00:00
|
|
|
</div>
|
|
|
|
<div class="col-lg-4">
|
2023-04-04 00:04:41 +00:00
|
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
|
|
<i class="fas fa-clock mr-2"></i>{{ $referral->created_at->diffForHumans() }}
|
|
|
|
</span>
|
2022-06-02 14:11:24 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2022-11-29 08:20:24 +00:00
|
|
|
@endforeach
|
2022-06-02 14:11:24 +00:00
|
|
|
</div>
|
2021-06-05 09:26:32 +00:00
|
|
|
|
2022-11-29 08:20:24 +00:00
|
|
|
</div>
|
|
|
|
|
2021-06-05 09:26:32 +00:00
|
|
|
</div>
|
|
|
|
<!-- END CUSTOM CONTENT -->
|
|
|
|
</div>
|
|
|
|
</section>
|
|
|
|
<!-- END CONTENT -->
|
|
|
|
@endsection
|
2023-02-05 22:08:31 +00:00
|
|
|
|
|
|
|
<script>
|
2023-04-04 00:04:41 +00:00
|
|
|
document.addEventListener("DOMContentLoaded", function() {
|
2023-02-05 22:08:31 +00:00
|
|
|
$('#datatable').DataTable({
|
|
|
|
language: {
|
|
|
|
url: '//cdn.datatables.net/plug-ins/1.11.3/i18n/{{ $locale_datatables }}.json'
|
|
|
|
},
|
|
|
|
processing: true,
|
|
|
|
serverSide: true,
|
|
|
|
stateSave: true,
|
2023-04-04 00:04:41 +00:00
|
|
|
ajax: "{{ route('admin.servers.datatable') }}?user={{ $user->id }}",
|
|
|
|
order: [
|
|
|
|
[5, "desc"]
|
|
|
|
],
|
|
|
|
columns: [{
|
|
|
|
data: 'status',
|
|
|
|
name: 'servers.suspended'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
data: 'name'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
data: 'user',
|
|
|
|
name: 'user.name'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
data: 'identifier'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
data: 'resources',
|
|
|
|
name: 'product.name'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
data: 'suspended'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
data: 'created_at'
|
|
|
|
},
|
|
|
|
{
|
|
|
|
data: 'actions',
|
|
|
|
sortable: false
|
|
|
|
},
|
2023-02-05 22:08:31 +00:00
|
|
|
],
|
2023-04-04 00:04:41 +00:00
|
|
|
fnDrawCallback: function(oSettings) {
|
2023-02-05 22:08:31 +00:00
|
|
|
$('[data-toggle="popover"]').popover();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
</script>
|