Add pilots list page; fix gravatar display and pilot profile #82
This commit is contained in:
@@ -36,7 +36,7 @@ users:
|
||||
home_airport_id: KJFK
|
||||
curr_airport_id: KJFK
|
||||
flights: 1
|
||||
flight_time: 43200
|
||||
flight_time: 4320
|
||||
created_at: now
|
||||
updated_at: now
|
||||
state: 0
|
||||
@@ -50,7 +50,7 @@ users:
|
||||
home_airport_id: KJFK
|
||||
curr_airport_id: KAUS
|
||||
flights: 1
|
||||
flight_time: 43200
|
||||
flight_time: 4320
|
||||
created_at: now
|
||||
updated_at: now
|
||||
state: 1
|
||||
|
||||
30
app/Http/Controllers/Frontend/UserController.php
Normal file
30
app/Http/Controllers/Frontend/UserController.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Frontend;
|
||||
|
||||
use App\Repositories\UserRepository;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
class UserController extends Controller
|
||||
{
|
||||
private $userRepo;
|
||||
|
||||
public function __construct(
|
||||
UserRepository $userRepo
|
||||
) {
|
||||
$this->userRepo = $userRepo;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
return $this->view('users.index',[
|
||||
'country' => new \League\ISO3166\ISO3166(),
|
||||
'users' => $this->userRepo->orderBy('name', 'desc')->paginate(25),
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -88,14 +88,21 @@ class User extends Authenticatable
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $size Size of the gravatar, in pixels
|
||||
* @return string
|
||||
*/
|
||||
public function getGravatarAttribute()
|
||||
public function gravatar($size=null)
|
||||
{
|
||||
$size = config('gravatar.size');
|
||||
$default = config('gravatar.default');
|
||||
return config('gravatar.url') .
|
||||
md5(strtolower(trim($this->email))) . '?d=' . urlencode($default ) . '&s=' . $size;
|
||||
|
||||
$uri = config('gravatar.url')
|
||||
. md5(strtolower(trim($this->email))).'?d='.urlencode($default);
|
||||
|
||||
if($size !== null) {
|
||||
$uri .= '&s='.$size;
|
||||
}
|
||||
|
||||
return $uri;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -11,6 +11,9 @@ Route::group([
|
||||
Route::get('r/{id}', 'PirepController@show')->name('pirep.show.public');
|
||||
Route::get('p/{id}', 'ProfileController@show')->name('profile.show.public');
|
||||
|
||||
Route::get('users', 'UserController@index')->name('users.show');
|
||||
Route::get('pilots', 'UserController@index')->name('users.show');
|
||||
|
||||
Route::get('livemap', 'AcarsController@index')->name('livemap.public');
|
||||
});
|
||||
|
||||
|
||||
@@ -5,6 +5,5 @@
|
||||
|
||||
return [
|
||||
'url' => 'https://www.gravatar.com/avatar/',
|
||||
'default' => 'https://en.gravatar.com/userimage/12856995/7c7c1da6387853fea65ff74983055386.png',
|
||||
'size' => 80,
|
||||
'default' => 'https://en.gravatar.com/userimage/12856995/aa6c0527a723abfd5fb9e246f0ff8af4.png',
|
||||
];
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<div class="row">
|
||||
<div class="form-group col-sm-12">
|
||||
{{--<div class="avatar">
|
||||
<img src="{!! $pirep->pilot->gravatar !!}" />
|
||||
<img src="{!! $pirep->pilot->gravatar() !!}" />
|
||||
</div>--}}
|
||||
Filed By: <a href="{!! route('admin.users.edit', [$pirep->pilot->id]) !!}" target="_blank">
|
||||
{!! $pirep->pilot->pilot_id !!} {!! $pirep->pilot->name !!}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<table class="table table-hover table-responsive" id="airlines-table">
|
||||
<table class="table table-hover table-responsive" id="users-table">
|
||||
<thead>
|
||||
<th>Name</th>
|
||||
<th>Email</th>
|
||||
|
||||
@@ -48,95 +48,7 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="collapse navbar-collapse justify-content-end" id="navigation">
|
||||
<ul class="navbar-nav">
|
||||
@if(Auth::check())
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url('/dashboard') !!}">
|
||||
<i class="fa fa-tachometer"></i>
|
||||
<p>Dashboard</p>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url('/livemap') !!}">
|
||||
<i class="fa fa-globe"></i>
|
||||
<p>Live Map</p>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@if(!Auth::check())
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url('/login') !!}">
|
||||
<i class="fa fa-sign-in"></i>
|
||||
<p>Login</p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url('/register') !!}">
|
||||
<i class="fa fa-id-card-o"></i>
|
||||
<p>Register</p>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
{{-- Show the module links for being logged out --}}
|
||||
@foreach($moduleSvc->getFrontendLinks($logged_in=false) as &$link)
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url($link['url']) !!}">
|
||||
<i class="{!! $link['icon'] !!}"></i>
|
||||
<p>{!! $link['title'] !!}</p>
|
||||
</a>
|
||||
</li>
|
||||
@endforeach
|
||||
|
||||
@else
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url('/flights') !!}">
|
||||
<i class="fa fa-plane"></i>
|
||||
<p>Flights</p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url('/pireps') !!}">
|
||||
<i class="fa fa-cloud-upload"></i>
|
||||
<p>PIREPs</p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url('/profile') !!}">
|
||||
<i class="fa fa-user-circle-o"></i>
|
||||
<p>Profile</p>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@role('admin')
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url('/admin') !!}">
|
||||
<i class="fa fa-circle-o-notch"></i>
|
||||
<p>Admin</p>
|
||||
</a>
|
||||
</li>
|
||||
@endrole
|
||||
|
||||
{{-- Show the module links for being logged out --}}
|
||||
@foreach($moduleSvc->getFrontendLinks($logged_in=true) as &$link)
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url($link['url']) !!}">
|
||||
<i class="{!! $link['icon'] !!}"></i>
|
||||
<p>{!! $link['title'] !!}</p>
|
||||
</a>
|
||||
</li>
|
||||
@endforeach
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url('/logout') !!}">
|
||||
<i class="fa fa-external-link-square"></i>
|
||||
<p>Log Out</p>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
@include('layouts.default.nav')
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
</h3>
|
||||
<div class="photo-container">
|
||||
<img class="rounded-circle"
|
||||
src="{!! $user->gravatar !!}">
|
||||
src="{!! $user->gravatar(123) !!}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="content content-center">
|
||||
|
||||
96
resources/views/layouts/default/nav.blade.php
Normal file
96
resources/views/layouts/default/nav.blade.php
Normal file
@@ -0,0 +1,96 @@
|
||||
<ul class="navbar-nav">
|
||||
@if(Auth::check())
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url('/dashboard') !!}">
|
||||
<i class="fa fa-tachometer"></i>
|
||||
<p>Dashboard</p>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url('/livemap') !!}">
|
||||
<i class="fa fa-globe"></i>
|
||||
<p>Live Map</p>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url('/pilots') !!}">
|
||||
<i class="fa fa-users"></i>
|
||||
<p>Pilots</p>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@if(!Auth::check())
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url('/login') !!}">
|
||||
<i class="fa fa-sign-in"></i>
|
||||
<p>Login</p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url('/register') !!}">
|
||||
<i class="fa fa-id-card-o"></i>
|
||||
<p>Register</p>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
{{-- Show the module links for being logged out --}}
|
||||
@foreach($moduleSvc->getFrontendLinks($logged_in=false) as &$link)
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url($link['url']) !!}">
|
||||
<i class="{!! $link['icon'] !!}"></i>
|
||||
<p>{!! $link['title'] !!}</p>
|
||||
</a>
|
||||
</li>
|
||||
@endforeach
|
||||
|
||||
@else
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url('/flights') !!}">
|
||||
<i class="fa fa-plane"></i>
|
||||
<p>Flights</p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url('/pireps') !!}">
|
||||
<i class="fa fa-cloud-upload"></i>
|
||||
<p>PIREPs</p>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url('/profile') !!}">
|
||||
<i class="fa fa-user-circle-o"></i>
|
||||
<p>Profile</p>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@role('admin')
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url('/admin') !!}">
|
||||
<i class="fa fa-circle-o-notch"></i>
|
||||
<p>Admin</p>
|
||||
</a>
|
||||
</li>
|
||||
@endrole
|
||||
|
||||
{{-- Show the module links for being logged out --}}
|
||||
@foreach($moduleSvc->getFrontendLinks($logged_in=true) as &$link)
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url($link['url']) !!}">
|
||||
<i class="{!! $link['icon'] !!}"></i>
|
||||
<p>{!! $link['title'] !!}</p>
|
||||
</a>
|
||||
</li>
|
||||
@endforeach
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{!! url('/logout') !!}">
|
||||
<i class="fa fa-external-link-square"></i>
|
||||
<p>Log Out</p>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
@@ -4,7 +4,7 @@
|
||||
<div class="row profile-page content-center text-color-dark-beige">
|
||||
<div class="col-md-4" style="text-align:center;">
|
||||
<div class="photo-container">
|
||||
<img src="{!! public_asset('/assets/frontend/img/logo.svg') !!}" alt="">
|
||||
<img src="{!! $user->gravatar(512) !!}" style="width: 123px;">
|
||||
</div>
|
||||
<h3 class="title">{!! $user->name !!}</h3>
|
||||
<h6><span class="flag-icon flag-icon-{!! $user->country !!}"></span></h6>
|
||||
@@ -22,7 +22,7 @@
|
||||
</div>
|
||||
|
||||
<div class="social-description">
|
||||
<h2>{!! \App\Facades\Utils::minutesToTimeString($user->flight_time, false)!!}</h2>
|
||||
<h2>{!! \App\Facades\Utils::minutesToTimeString($user->flight_time, false) !!}</h2>
|
||||
<p>Flight Hours</p>
|
||||
</div>
|
||||
|
||||
|
||||
17
resources/views/layouts/default/users/index.blade.php
Normal file
17
resources/views/layouts/default/users/index.blade.php
Normal file
@@ -0,0 +1,17 @@
|
||||
@extends('layouts.default.app')
|
||||
@section('title', 'Pilots')
|
||||
|
||||
@section('content')
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h2 class="description">pilots</h2>
|
||||
@include('layouts.default.users.table')
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12 text-center">
|
||||
{{ $users->links('layouts.default.pagination.default') }}
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
38
resources/views/layouts/default/users/table.blade.php
Normal file
38
resources/views/layouts/default/users/table.blade.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<table class="table table-hover" id="users-table">
|
||||
<thead>
|
||||
<th></th>
|
||||
<th>Name</th>
|
||||
<th style="text-align: center"></th>
|
||||
<th style="text-align: center">Airline</th>
|
||||
<th style="text-align: center">Location</th>
|
||||
<th style="text-align: center">Flights</th>
|
||||
<th style="text-align: center">Hours</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($users as $user)
|
||||
<tr>
|
||||
<td style="width: 80px;">
|
||||
<div class="photo-container">
|
||||
<img class="rounded-circle"
|
||||
src="{!! $user->gravatar(256) !!}&s=256"/>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{!! route('frontend.profile.show.public', ['id' => $user->id]) !!}">
|
||||
{!! $user->name !!}
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
@if(filled($user->country))
|
||||
<span class="flag-icon flag-icon-{!! $user->country !!}"
|
||||
title="{!! $country->alpha2($user->country)['name'] !!}"></span>
|
||||
@endif
|
||||
</td>
|
||||
<td class="text-center">{!! $user->airline->icao !!}</td>
|
||||
<td class="text-center">{!! $user->curr_airport_id !!}</td>
|
||||
<td align="center">{!! $user->flights !!}</td>
|
||||
<td align="center">{!! \App\Facades\Utils::minutesToTimeString($user->flight_time) !!}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
Reference in New Issue
Block a user