Design and file upload issues (#399)
* Fix some styling issues/edit button on PIREP overview page * Fix validation for file/url upload * Formatting
This commit is contained in:
@@ -6,7 +6,6 @@ use App\Contracts\Controller;
|
|||||||
use App\Models\File;
|
use App\Models\File;
|
||||||
use App\Services\FileService;
|
use App\Services\FileService;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Input;
|
|
||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
use Illuminate\Support\Facades\Validator;
|
use Illuminate\Support\Facades\Validator;
|
||||||
use Illuminate\Validation\Rule;
|
use Illuminate\Validation\Rule;
|
||||||
@@ -53,18 +52,20 @@ class FileController extends Controller
|
|||||||
[
|
[
|
||||||
'file_name' => 'required',
|
'file_name' => 'required',
|
||||||
'file_description' => 'nullable',
|
'file_description' => 'nullable',
|
||||||
'file' => [
|
'file' => 'nullable|file',
|
||||||
|
'url' => 'nullable|url',
|
||||||
|
/*'file' => [
|
||||||
Rule::requiredIf(function () {
|
Rule::requiredIf(function () {
|
||||||
return !request()->filled('url');
|
return request()->filled('url') === false;
|
||||||
}),
|
}),
|
||||||
'file',
|
'file',
|
||||||
],
|
],
|
||||||
'url' => [
|
'url' => [
|
||||||
Rule::requiredIf(function () {
|
Rule::requiredIf(function () {
|
||||||
return !request()->hasFile('file');
|
return request()->hasFile('file') === false;
|
||||||
}),
|
}),
|
||||||
'url',
|
'url',
|
||||||
],
|
],*/
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'file.required' => 'File or URL are required',
|
'file.required' => 'File or URL are required',
|
||||||
@@ -76,7 +77,12 @@ class FileController extends Controller
|
|||||||
return redirect()
|
return redirect()
|
||||||
->back()
|
->back()
|
||||||
->withErrors($validator)
|
->withErrors($validator)
|
||||||
->withInput(Input::all());
|
->withInput($request->all());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$request->hasFile('file') && !$request->filled('url')) {
|
||||||
|
$validator->errors()->add('url', 'A URL or file must be uploaded!');
|
||||||
|
return redirect()->back()->withErrors($validator)->withInput($request->all());
|
||||||
}
|
}
|
||||||
|
|
||||||
Log::info('Uploading files', $attrs);
|
Log::info('Uploading files', $attrs);
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
"arrilot/laravel-widgets": "~3.13.0",
|
"arrilot/laravel-widgets": "~3.13.0",
|
||||||
"doctrine/dbal": "~2.9.2",
|
"doctrine/dbal": "~2.9.2",
|
||||||
"elcobvg/laravel-opcache": "~0.4",
|
"elcobvg/laravel-opcache": "~0.4",
|
||||||
|
"facade/ignition": "^1.6",
|
||||||
"guzzlehttp/guzzle": "~6.3.3",
|
"guzzlehttp/guzzle": "~6.3.3",
|
||||||
"hashids/hashids": "^2.0.0",
|
"hashids/hashids": "^2.0.0",
|
||||||
"igaster/laravel-theme": "^2.0",
|
"igaster/laravel-theme": "^2.0",
|
||||||
@@ -48,8 +49,7 @@
|
|||||||
"symfony/polyfill-iconv": "~1.12",
|
"symfony/polyfill-iconv": "~1.12",
|
||||||
"theiconic/php-ga-measurement-protocol": "2.7.*",
|
"theiconic/php-ga-measurement-protocol": "2.7.*",
|
||||||
"tivie/php-os-detector": "~1.1.0",
|
"tivie/php-os-detector": "~1.1.0",
|
||||||
"webpatser/laravel-uuid": "~3.0",
|
"webpatser/laravel-uuid": "~3.0"
|
||||||
"facade/ignition": "^1.6"
|
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"barryvdh/laravel-debugbar": "^3.0",
|
"barryvdh/laravel-debugbar": "^3.0",
|
||||||
|
|||||||
44
composer.lock
generated
44
composer.lock
generated
@@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "36efcc47f7cb692d56b1fe62108d86a1",
|
"content-hash": "60c8d4678763253ee0fa8711dce01cfb",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "akaunting/money",
|
"name": "akaunting/money",
|
||||||
@@ -1489,16 +1489,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "facade/ignition",
|
"name": "facade/ignition",
|
||||||
"version": "1.6.4",
|
"version": "1.6.5",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/facade/ignition.git",
|
"url": "https://github.com/facade/ignition.git",
|
||||||
"reference": "43b825a2f77805d1d5495c64eecd272b05ab0e33"
|
"reference": "97244f6d511332f3574acab8242c09ddcfda892b"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/facade/ignition/zipball/43b825a2f77805d1d5495c64eecd272b05ab0e33",
|
"url": "https://api.github.com/repos/facade/ignition/zipball/97244f6d511332f3574acab8242c09ddcfda892b",
|
||||||
"reference": "43b825a2f77805d1d5495c64eecd272b05ab0e33",
|
"reference": "97244f6d511332f3574acab8242c09ddcfda892b",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -1553,7 +1553,7 @@
|
|||||||
"laravel",
|
"laravel",
|
||||||
"page"
|
"page"
|
||||||
],
|
],
|
||||||
"time": "2019-09-13T07:41:17+00:00"
|
"time": "2019-09-13T13:38:04+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "facade/ignition-contracts",
|
"name": "facade/ignition-contracts",
|
||||||
@@ -4279,16 +4279,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "santigarcor/laratrust",
|
"name": "santigarcor/laratrust",
|
||||||
"version": "5.2.3",
|
"version": "5.2.4",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/santigarcor/laratrust.git",
|
"url": "https://github.com/santigarcor/laratrust.git",
|
||||||
"reference": "ee06bbb21c18b9262f174eaa1337bc1344a4b0f0"
|
"reference": "43d2354b149485731a9214014baf3421a6a56b9a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/santigarcor/laratrust/zipball/ee06bbb21c18b9262f174eaa1337bc1344a4b0f0",
|
"url": "https://api.github.com/repos/santigarcor/laratrust/zipball/43d2354b149485731a9214014baf3421a6a56b9a",
|
||||||
"reference": "ee06bbb21c18b9262f174eaa1337bc1344a4b0f0",
|
"reference": "43d2354b149485731a9214014baf3421a6a56b9a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -4340,7 +4340,7 @@
|
|||||||
"rbac",
|
"rbac",
|
||||||
"roles"
|
"roles"
|
||||||
],
|
],
|
||||||
"time": "2019-09-03T14:11:14+00:00"
|
"time": "2019-09-16T15:50:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "scrivo/highlight.php",
|
"name": "scrivo/highlight.php",
|
||||||
@@ -8432,16 +8432,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/phpunit",
|
"name": "phpunit/phpunit",
|
||||||
"version": "8.3.4",
|
"version": "8.3.5",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||||
"reference": "e31cce0cf4499c0ccdbbb211a3280d36ab341e36"
|
"reference": "302faed7059fde575cf3403a78c730c5e3a62750"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e31cce0cf4499c0ccdbbb211a3280d36ab341e36",
|
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/302faed7059fde575cf3403a78c730c5e3a62750",
|
||||||
"reference": "e31cce0cf4499c0ccdbbb211a3280d36ab341e36",
|
"reference": "302faed7059fde575cf3403a78c730c5e3a62750",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -8464,7 +8464,7 @@
|
|||||||
"sebastian/comparator": "^3.0.2",
|
"sebastian/comparator": "^3.0.2",
|
||||||
"sebastian/diff": "^3.0.2",
|
"sebastian/diff": "^3.0.2",
|
||||||
"sebastian/environment": "^4.2.2",
|
"sebastian/environment": "^4.2.2",
|
||||||
"sebastian/exporter": "^3.1.0",
|
"sebastian/exporter": "^3.1.1",
|
||||||
"sebastian/global-state": "^3.0.0",
|
"sebastian/global-state": "^3.0.0",
|
||||||
"sebastian/object-enumerator": "^3.0.3",
|
"sebastian/object-enumerator": "^3.0.3",
|
||||||
"sebastian/resource-operations": "^2.0.1",
|
"sebastian/resource-operations": "^2.0.1",
|
||||||
@@ -8511,7 +8511,7 @@
|
|||||||
"testing",
|
"testing",
|
||||||
"xunit"
|
"xunit"
|
||||||
],
|
],
|
||||||
"time": "2019-08-11T06:56:55+00:00"
|
"time": "2019-09-14T09:12:03+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/code-unit-reverse-lookup",
|
"name": "sebastian/code-unit-reverse-lookup",
|
||||||
@@ -8733,16 +8733,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/exporter",
|
"name": "sebastian/exporter",
|
||||||
"version": "3.1.1",
|
"version": "3.1.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/sebastianbergmann/exporter.git",
|
"url": "https://github.com/sebastianbergmann/exporter.git",
|
||||||
"reference": "06a9a5947f47b3029d76118eb5c22802e5869687"
|
"reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/06a9a5947f47b3029d76118eb5c22802e5869687",
|
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e",
|
||||||
"reference": "06a9a5947f47b3029d76118eb5c22802e5869687",
|
"reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -8796,7 +8796,7 @@
|
|||||||
"export",
|
"export",
|
||||||
"exporter"
|
"exporter"
|
||||||
],
|
],
|
||||||
"time": "2019-08-11T12:43:14+00:00"
|
"time": "2019-09-14T09:02:43+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/global-state",
|
"name": "sebastian/global-state",
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,14 +1,14 @@
|
|||||||
{
|
{
|
||||||
"/assets/frontend/js/app.js": "/assets/frontend/js/app.js?id=88270e919809fead277c",
|
"/assets/frontend/js/app.js": "/assets/frontend/js/app.js?id=88270e919809fead277c",
|
||||||
"/assets/frontend/css/now-ui-kit.css": "/assets/frontend/css/now-ui-kit.css?id=b2dd2a0a882054cad3d5",
|
"/assets/frontend/css/now-ui-kit.css": "/assets/frontend/css/now-ui-kit.css?id=b5787f0d0877f2b14e37",
|
||||||
"/assets/admin/css/vendor.min.css": "/assets/admin/css/vendor.min.css?id=9f24c5e6612e74065901",
|
"/assets/admin/css/vendor.min.css": "/assets/admin/css/vendor.min.css?id=9f24c5e6612e74065901",
|
||||||
"/assets/frontend/js/app.js.map": "/assets/frontend/js/app.js.map?id=c714055cc7132853c1d6",
|
"/assets/frontend/js/app.js.map": "/assets/frontend/js/app.js.map?id=8d8dd87c204912b948d8",
|
||||||
"/assets/frontend/css/now-ui-kit.css.map": "/assets/frontend/css/now-ui-kit.css.map?id=6399f2da87c32423e68b",
|
"/assets/frontend/css/now-ui-kit.css.map": "/assets/frontend/css/now-ui-kit.css.map?id=cb1b608aa71187b21c09",
|
||||||
"/assets/admin/css/vendor.min.css.map": "/assets/admin/css/vendor.min.css.map?id=c266c31652dea865307c",
|
"/assets/admin/css/vendor.min.css.map": "/assets/admin/css/vendor.min.css.map?id=c266c31652dea865307c",
|
||||||
"/assets/admin/js/app.js": "/assets/admin/js/app.js?id=cd8b03d3b7bd54e960ca",
|
"/assets/admin/js/app.js": "/assets/admin/js/app.js?id=cd8b03d3b7bd54e960ca",
|
||||||
"/assets/admin/js/app.js.map": "/assets/admin/js/app.js.map?id=6d4305f02e7e757e1666",
|
"/assets/admin/js/app.js.map": "/assets/admin/js/app.js.map?id=27b5a1474145c1c3bc18",
|
||||||
"/assets/installer/js/app.js": "/assets/installer/js/app.js?id=7eb8b66dce0064082abc",
|
"/assets/installer/js/app.js": "/assets/installer/js/app.js?id=7eb8b66dce0064082abc",
|
||||||
"/assets/installer/js/app.js.map": "/assets/installer/js/app.js.map?id=8d818e1a57d346adf7b3",
|
"/assets/installer/js/app.js.map": "/assets/installer/js/app.js.map?id=fd03a7d60e4cfd02a2c0",
|
||||||
"/assets/fonts/glyphicons-halflings-regular.woff2": "/assets/fonts/glyphicons-halflings-regular.woff2?id=349344e92fb16221dd56",
|
"/assets/fonts/glyphicons-halflings-regular.woff2": "/assets/fonts/glyphicons-halflings-regular.woff2?id=349344e92fb16221dd56",
|
||||||
"/assets/admin/fonts/glyphicons-halflings-regular.woff2": "/assets/admin/fonts/glyphicons-halflings-regular.woff2?id=349344e92fb16221dd56",
|
"/assets/admin/fonts/glyphicons-halflings-regular.woff2": "/assets/admin/fonts/glyphicons-halflings-regular.woff2?id=349344e92fb16221dd56",
|
||||||
"/assets/admin/img/clear.png": "/assets/admin/img/clear.png?id=63b3af84650a0145d61a",
|
"/assets/admin/img/clear.png": "/assets/admin/img/clear.png?id=63b3af84650a0145d61a",
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
"/assets/frontend/js/vendor.js": "/assets/frontend/js/vendor.js?id=7b2f95d32e095b2bbbfa",
|
"/assets/frontend/js/vendor.js": "/assets/frontend/js/vendor.js?id=7b2f95d32e095b2bbbfa",
|
||||||
"/assets/admin/css/vendor.css": "/assets/admin/css/vendor.css?id=3faf0c4cbfe14c8b99cf",
|
"/assets/admin/css/vendor.css": "/assets/admin/css/vendor.css?id=3faf0c4cbfe14c8b99cf",
|
||||||
"/assets/admin/js/vendor.js": "/assets/admin/js/vendor.js?id=ad2f530d0b8e9bd6b6d3",
|
"/assets/admin/js/vendor.js": "/assets/admin/js/vendor.js?id=ad2f530d0b8e9bd6b6d3",
|
||||||
"/assets/installer/css/vendor.css": "/assets/installer/css/vendor.css?id=80d2f4f3cc9799d85e47",
|
"/assets/installer/css/vendor.css": "/assets/installer/css/vendor.css?id=9ddcf58750fc5b40bd6c",
|
||||||
"/assets/installer/js/vendor.js": "/assets/installer/js/vendor.js?id=1b8dba4c184ce249e7fe",
|
"/assets/installer/js/vendor.js": "/assets/installer/js/vendor.js?id=1b8dba4c184ce249e7fe",
|
||||||
"/assets/global/js/vendor.js": "/assets/global/js/vendor.js?id=666b04d3b318da723aff",
|
"/assets/global/js/vendor.js": "/assets/global/js/vendor.js?id=666b04d3b318da723aff",
|
||||||
"/assets/global/css/vendor.css": "/assets/global/css/vendor.css?id=89afa5863f07a984ffeb"
|
"/assets/global/css/vendor.css": "/assets/global/css/vendor.css?id=89afa5863f07a984ffeb"
|
||||||
|
|||||||
@@ -34,3 +34,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This color falls through from bootstrap which defaults it to transparent
|
||||||
|
*/
|
||||||
|
.form-control {
|
||||||
|
background-color: $white-bg;
|
||||||
|
}
|
||||||
|
|||||||
@@ -61,6 +61,8 @@ Pass in:
|
|||||||
])
|
])
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
{{ Form::token() }}
|
||||||
|
|
||||||
<span class="required">*</span>
|
<span class="required">*</span>
|
||||||
{{ Form::text('file_name', null, ['class' => 'form-control', 'placeholder' => 'Name']) }}
|
{{ Form::text('file_name', null, ['class' => 'form-control', 'placeholder' => 'Name']) }}
|
||||||
{{ Form::text('file_description', null, ['class' => 'form-control', 'placeholder' => 'Description']) }}
|
{{ Form::text('file_description', null, ['class' => 'form-control', 'placeholder' => 'Description']) }}
|
||||||
|
|||||||
@@ -34,18 +34,14 @@
|
|||||||
<body>
|
<body>
|
||||||
<!-- Navbar -->
|
<!-- Navbar -->
|
||||||
<nav class="navbar navbar-expand-lg " style="background: #067ec1;">
|
<nav class="navbar navbar-expand-lg " style="background: #067ec1;">
|
||||||
<div class="container" style="width: 85%!important;">
|
<p class="navbar-brand text-white" data-placement="bottom" target="_blank">
|
||||||
<div class="navbar-translate">
|
<a href="{{ url('/') }}">
|
||||||
<p class="navbar-brand text-white" data-placement="bottom" target="_blank">
|
<img src="{{ public_asset('/assets/img/logo_blue_bg.svg') }}" width="135px" style=""/>
|
||||||
<a href="{{ url('/') }}">
|
</a>
|
||||||
<img src="{{ public_asset('/assets/img/logo_blue_bg.svg') }}" width="135px" style=""/>
|
</p>
|
||||||
</a>
|
<div class="collapse navbar-collapse justify-content-end" id="navigation">
|
||||||
</p>
|
@include('nav')
|
||||||
</div>
|
</div>
|
||||||
<div class="collapse navbar-collapse justify-content-end" id="navigation">
|
|
||||||
@include('nav')
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
</nav>
|
||||||
<!-- End Navbar -->
|
<!-- End Navbar -->
|
||||||
<div id="top_anchor" class="clearfix" style="height: 25px;"></div>
|
<div id="top_anchor" class="clearfix" style="height: 25px;"></div>
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
@extends('auth.layout')
|
@extends('auth.login_layout')
|
||||||
@section('title', __('common.login'))
|
@section('title', __('common.login'))
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="col-md-4 ml-auto mr-auto content-center">
|
<div class="col-md-4 ml-auto mr-auto content-center">
|
||||||
<div class="card card-login card-plain">
|
<div class="card card-login card-plain">
|
||||||
{{ Form::open(['url' => url('/login'), 'method' => 'post']) }}
|
{{ Form::open(['url' => url('/login'), 'method' => 'post', 'class' => 'form']) }}
|
||||||
<div class="header header-primary text-center">
|
<div class="header header-primary text-center">
|
||||||
<div class="logo-container" style="width: 320px;">
|
<div class="logo-container" style="width: 320px;">
|
||||||
<img src="{{ public_asset('/assets/frontend/img/logo.svg') }}" width="320" height="320"
|
<img src="{{ public_asset('/assets/frontend/img/logo.svg') }}" width="320" height="320"
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-3">
|
<div class="col-sm-3">
|
||||||
<div class="card card-primary text-white dashboard-box">
|
<div class="card card-primary text-white dashboard-box">
|
||||||
<div class="card-block text-center">
|
<div class="card-body text-center">
|
||||||
<div class="icon-background">
|
<div class="icon-background">
|
||||||
<i class="fas fa-plane icon"></i>
|
<i class="fas fa-plane icon"></i>
|
||||||
</div>
|
</div>
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
<div class="col-sm-3">
|
<div class="col-sm-3">
|
||||||
<div class="card card-primary text-white dashboard-box">
|
<div class="card card-primary text-white dashboard-box">
|
||||||
<div class="card-block text-center">
|
<div class="card-body text-center">
|
||||||
<div class="icon-background">
|
<div class="icon-background">
|
||||||
<i class="far fa-clock icon"></i>
|
<i class="far fa-clock icon"></i>
|
||||||
</div>
|
</div>
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-sm-3">
|
<div class="col-sm-3">
|
||||||
<div class="card card-primary text-white dashboard-box">
|
<div class="card card-primary text-white dashboard-box">
|
||||||
<div class="card-block text-center">
|
<div class="card-body text-center">
|
||||||
<div class="icon-background"> {{--110px font-size--}}
|
<div class="icon-background"> {{--110px font-size--}}
|
||||||
<i class="fas fa-money-bill-alt icon"></i>
|
<i class="fas fa-money-bill-alt icon"></i>
|
||||||
</div>
|
</div>
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
|
|
||||||
<div class="col-sm-3">
|
<div class="col-sm-3">
|
||||||
<div class="card card-primary text-white dashboard-box">
|
<div class="card card-primary text-white dashboard-box">
|
||||||
<div class="card-block text-center">
|
<div class="card-body text-center">
|
||||||
<div class="icon-background">
|
<div class="icon-background">
|
||||||
<i class="fas fa-map-marker icon"></i>
|
<i class="fas fa-map-marker icon"></i>
|
||||||
</div>
|
</div>
|
||||||
@@ -65,7 +65,7 @@
|
|||||||
@lang('dashboard.yourlastreport')
|
@lang('dashboard.yourlastreport')
|
||||||
</div>
|
</div>
|
||||||
@if($last_pirep === null)
|
@if($last_pirep === null)
|
||||||
<div class="card-block" style="text-align:center;">
|
<div class="card-body" style="text-align:center;">
|
||||||
@lang('dashboard.noreportsyet') <a href="{{ route('frontend.pireps.create') }}">@lang('dashboard.fileonenow')</a>
|
@lang('dashboard.noreportsyet') <a href="{{ route('frontend.pireps.create') }}">@lang('dashboard.fileonenow')</a>
|
||||||
</div>
|
</div>
|
||||||
@else
|
@else
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
<div class="nav nav-tabs" role="tablist" style="background: #067ec1; color: #FFF;">
|
<div class="nav nav-tabs" role="tablist" style="background: #067ec1; color: #FFF;">
|
||||||
@lang('dashboard.weatherat', ['ICAO' => $current_airport])
|
@lang('dashboard.weatherat', ['ICAO' => $current_airport])
|
||||||
</div>
|
</div>
|
||||||
<div class="card-block">
|
<div class="card-body">
|
||||||
<!-- Tab panes -->
|
<!-- Tab panes -->
|
||||||
<div class="tab-content">
|
<div class="tab-content">
|
||||||
{{ Widget::Weather(['icao' => $current_airport]) }}
|
{{ Widget::Weather(['icao' => $current_airport]) }}
|
||||||
@@ -95,7 +95,7 @@
|
|||||||
<div class="nav nav-tabs" role="tablist" style="background: #067ec1; color: #FFF;">
|
<div class="nav nav-tabs" role="tablist" style="background: #067ec1; color: #FFF;">
|
||||||
@lang('dashboard.recentreports')
|
@lang('dashboard.recentreports')
|
||||||
</div>
|
</div>
|
||||||
<div class="card-block">
|
<div class="card-body">
|
||||||
<!-- Tab panes -->
|
<!-- Tab panes -->
|
||||||
<div class="tab-content">
|
<div class="tab-content">
|
||||||
{{ Widget::latestPireps(['count' => 5]) }}
|
{{ Widget::latestPireps(['count' => 5]) }}
|
||||||
@@ -107,7 +107,7 @@
|
|||||||
<div class="nav nav-tabs" role="tablist" style="background: #067ec1; color: #FFF;">
|
<div class="nav nav-tabs" role="tablist" style="background: #067ec1; color: #FFF;">
|
||||||
@lang('common.newestpilots')
|
@lang('common.newestpilots')
|
||||||
</div>
|
</div>
|
||||||
<div class="card-block">
|
<div class="card-body">
|
||||||
<!-- Tab panes -->
|
<!-- Tab panes -->
|
||||||
<div class="tab-content">
|
<div class="tab-content">
|
||||||
{{ Widget::latestPilots(['count' => 5]) }}
|
{{ Widget::latestPilots(['count' => 5]) }}
|
||||||
|
|||||||
@@ -1,107 +1,111 @@
|
|||||||
<ul class="navbar-nav align-middle">
|
<div class="nav-tabs-navigation">
|
||||||
@if(Auth::check())
|
<div class="nav-tabs-wrapper">
|
||||||
<li class="nav-item">
|
<ul class="navbar-nav align-middle">
|
||||||
<a class="nav-link" href="{{ route('frontend.dashboard.index') }}">
|
@if(Auth::check())
|
||||||
<i class="fas fa-tachometer-alt"></i>
|
<li class="nav-item">
|
||||||
<p>@lang('common.dashboard')</p>
|
<a class="nav-link" href="{{ route('frontend.dashboard.index') }}">
|
||||||
</a>
|
<i class="fas fa-tachometer-alt"></i>
|
||||||
</li>
|
<p>@lang('common.dashboard')</p>
|
||||||
@endif
|
</a>
|
||||||
|
</li>
|
||||||
|
@endif
|
||||||
|
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="{{ route('frontend.livemap.index') }}">
|
<a class="nav-link" href="{{ route('frontend.livemap.index') }}">
|
||||||
<i class="fas fa-globe"></i>
|
<i class="fas fa-globe"></i>
|
||||||
<p>@lang('common.livemap')</p>
|
<p>@lang('common.livemap')</p>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="{{ route('frontend.pilots.index') }}">
|
<a class="nav-link" href="{{ route('frontend.pilots.index') }}">
|
||||||
<i class="fas fa-users"></i>
|
<i class="fas fa-users"></i>
|
||||||
<p>{{ trans_choice('common.pilot', 2) }}</p>
|
<p>{{ trans_choice('common.pilot', 2) }}</p>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
{{-- Show the module links that don't require being logged in --}}
|
{{-- Show the module links that don't require being logged in --}}
|
||||||
@foreach($moduleSvc->getFrontendLinks($logged_in=false) as &$link)
|
@foreach($moduleSvc->getFrontendLinks($logged_in=false) as &$link)
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="{{ url($link['url']) }}">
|
<a class="nav-link" href="{{ url($link['url']) }}">
|
||||||
<i class="{{ $link['icon'] }}"></i>
|
<i class="{{ $link['icon'] }}"></i>
|
||||||
<p>{{ ($link['title']) }}</p>
|
<p>{{ ($link['title']) }}</p>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
||||||
@if(!Auth::check())
|
@if(!Auth::check())
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="{{ url('/login') }}">
|
<a class="nav-link" href="{{ url('/login') }}">
|
||||||
<i class="fas fa-sign-in-alt"></i>
|
<i class="fas fa-sign-in-alt"></i>
|
||||||
<p>@lang('common.login')</p>
|
<p>@lang('common.login')</p>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="{{ url('/register') }}">
|
<a class="nav-link" href="{{ url('/register') }}">
|
||||||
<i class="far fa-id-card"></i>
|
<i class="far fa-id-card"></i>
|
||||||
<p>@lang('common.register')</p>
|
<p>@lang('common.register')</p>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
@else
|
@else
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="{{ route('frontend.flights.index') }}">
|
<a class="nav-link" href="{{ route('frontend.flights.index') }}">
|
||||||
<i class="fab fa-avianex"></i>
|
<i class="fab fa-avianex"></i>
|
||||||
<p>{{ trans_choice('common.flight', 2) }}</p>
|
<p>{{ trans_choice('common.flight', 2) }}</p>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="{{ route('frontend.pireps.index') }}">
|
<a class="nav-link" href="{{ route('frontend.pireps.index') }}">
|
||||||
<i class="fas fa-cloud-upload-alt"></i>
|
<i class="fas fa-cloud-upload-alt"></i>
|
||||||
<p>{{ trans_choice('common.pirep', 2) }}</p>
|
<p>{{ trans_choice('common.pirep', 2) }}</p>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="{{ route('frontend.downloads.index') }}">
|
<a class="nav-link" href="{{ route('frontend.downloads.index') }}">
|
||||||
<i class="fas fa-download"></i>
|
<i class="fas fa-download"></i>
|
||||||
<p>{{ trans_choice('common.download', 2) }}</p>
|
<p>{{ trans_choice('common.download', 2) }}</p>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
{{-- Show the module links for being logged in --}}
|
{{-- Show the module links for being logged in --}}
|
||||||
@foreach($moduleSvc->getFrontendLinks($logged_in=true) as &$link)
|
@foreach($moduleSvc->getFrontendLinks($logged_in=true) as &$link)
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="{{ url($link['url']) }}">
|
<a class="nav-link" href="{{ url($link['url']) }}">
|
||||||
<i class="{{ $link['icon'] }}"></i>
|
<i class="{{ $link['icon'] }}"></i>
|
||||||
<p>{{ ($link['title']) }}</p>
|
<p>{{ ($link['title']) }}</p>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
||||||
<li class="nav-item dropdown">
|
<li class="nav-item dropdown">
|
||||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" role="button"
|
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" role="button"
|
||||||
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||||
@if (Auth::user()->avatar == null)
|
@if (Auth::user()->avatar == null)
|
||||||
<img src="{{ Auth::user()->gravatar(38) }}" style=" height: 38px; width: 38px;">
|
<img src="{{ Auth::user()->gravatar(38) }}" style=" height: 38px; width: 38px;">
|
||||||
@else
|
@else
|
||||||
<img src="{{ Auth::user()->avatar->url }}" style="height: 38px; width: 38px;">
|
<img src="{{ Auth::user()->avatar->url }}" style="height: 38px; width: 38px;">
|
||||||
@endif
|
@endif
|
||||||
</a>
|
</a>
|
||||||
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
|
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
|
||||||
|
|
||||||
<a class="dropdown-item" href="{{ route('frontend.profile.index') }}">
|
<a class="dropdown-item" href="{{ route('frontend.profile.index') }}">
|
||||||
<i class="far fa-user"></i> @lang('common.profile')
|
<i class="far fa-user"></i> @lang('common.profile')
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
@role('admin')
|
@role('admin')
|
||||||
<a class="dropdown-item" href="{{ url('/admin') }}">
|
<a class="dropdown-item" href="{{ url('/admin') }}">
|
||||||
<i class="fas fa-circle-notch"></i> @lang('common.administration')
|
<i class="fas fa-circle-notch"></i> @lang('common.administration')
|
||||||
</a>
|
</a>
|
||||||
@endrole
|
@endrole
|
||||||
|
|
||||||
<a class="dropdown-item" href="{{ url('/logout') }}">
|
<a class="dropdown-item" href="{{ url('/logout') }}">
|
||||||
<i class="fas fa-sign-out-alt"></i> @lang('common.logout')
|
<i class="fas fa-sign-out-alt"></i> @lang('common.logout')
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|||||||
@@ -1,68 +1,73 @@
|
|||||||
{{--@each('pireps.pirep_card', $pireps, 'pirep')--}}
|
<div class="table-responsive">
|
||||||
|
<table class="table table-sm table-hover table-striped">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>{{ trans_choice('common.flight', 1) }}</th>
|
||||||
|
<th>@lang('common.departure')</th>
|
||||||
|
<th>@lang('common.arrival')</th>
|
||||||
|
<th>@lang('common.aircraft')</th>
|
||||||
|
<th class="text-center">@lang('flights.flighttime')</th>
|
||||||
|
<th class="text-center">@lang('common.status')</th>
|
||||||
|
<th>@lang('pireps.submitted')</th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
|
||||||
<table class="table table-condensed table-hover">
|
@foreach($pireps as $pirep)
|
||||||
<thead>
|
<tr>
|
||||||
<tr>
|
<td>
|
||||||
<th>{{ trans_choice('common.flight', 1) }}</th>
|
<a href="{{ route('frontend.pireps.show', [
|
||||||
<th>@lang('common.departure')</th>
|
$pirep->id]) }}">{{ $pirep->airline->code }}{{ $pirep->ident }}</a>
|
||||||
<th>@lang('common.arrival')</th>
|
</td>
|
||||||
<th>@lang('common.aircraft')</th>
|
<td>
|
||||||
<th class="text-center">@lang('flights.flighttime')</th>
|
@if($pirep->dpt_airport){{ $pirep->dpt_airport->name }}@endif
|
||||||
<th class="text-center">@lang('common.status')</th>
|
(<a href="{{route('frontend.airports.show', [$pirep->dpt_airport_id])}}">{{$pirep->dpt_airport_id}}</a>)
|
||||||
<th>@lang('pireps.submitted')</th>
|
</td>
|
||||||
<th></th>
|
<td>
|
||||||
</tr>
|
@if($pirep->arr_airport){{ $pirep->arr_airport->name }}@endif
|
||||||
</thead>
|
(<a href="{{route('frontend.airports.show', [$pirep->arr_airport_id])}}">{{$pirep->arr_airport_id}}</a>)
|
||||||
<tbody>
|
</td>
|
||||||
|
<td>
|
||||||
|
@if($pirep->aircraft)
|
||||||
|
{{ $pirep->aircraft->name }}
|
||||||
|
@else
|
||||||
|
-
|
||||||
|
@endif
|
||||||
|
</td>
|
||||||
|
<td class="text-center">
|
||||||
|
{{ (new \App\Support\Units\Time($pirep->flight_time)) }}
|
||||||
|
</td>
|
||||||
|
<td class="text-center">
|
||||||
|
@if($pirep->state === PirepState::PENDING)
|
||||||
|
<div class="badge badge-warning">
|
||||||
|
@elseif($pirep->state === PirepState::ACCEPTED)
|
||||||
|
<div class="badge badge-success">
|
||||||
|
@elseif($pirep->state === PirepState::REJECTED)
|
||||||
|
<div class="badge badge-danger">
|
||||||
|
@else
|
||||||
|
<div class="badge badge-info">
|
||||||
|
@endif
|
||||||
|
{{ PirepState::label($pirep->state) }}</div>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
@if(filled($pirep->submitted_at))
|
||||||
|
{{ $pirep->submitted_at->diffForHumans() }}
|
||||||
|
@endif
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
@if(!$pirep->read_only)
|
||||||
|
<a href="{{ route('frontend.pireps.edit', [$pirep->id]) }}"
|
||||||
|
class="btn btn-info btn-sm"
|
||||||
|
style="z-index: 9999"
|
||||||
|
title="@lang('common.edit')">
|
||||||
|
edit
|
||||||
|
</a>
|
||||||
|
@endif
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
|
||||||
@foreach($pireps as $pirep)
|
</tbody>
|
||||||
<tr>
|
</table>
|
||||||
<td>
|
</div>
|
||||||
<a href="{{ route('frontend.pireps.show', [
|
|
||||||
$pirep->id]) }}">{{ $pirep->airline->code }}{{ $pirep->ident }}</a>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
@if($pirep->dpt_airport){{ $pirep->dpt_airport->name }}@endif
|
|
||||||
(<a href="{{route('frontend.airports.show', [$pirep->dpt_airport_id])}}">{{$pirep->dpt_airport_id}}</a>)
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
@if($pirep->arr_airport){{ $pirep->arr_airport->name }}@endif
|
|
||||||
(<a href="{{route('frontend.airports.show', [$pirep->arr_airport_id])}}">{{$pirep->arr_airport_id}}</a>)
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
@if($pirep->aircraft)
|
|
||||||
{{ $pirep->aircraft->name }}
|
|
||||||
@else
|
|
||||||
-
|
|
||||||
@endif
|
|
||||||
</td>
|
|
||||||
<td class="text-center">
|
|
||||||
{{ (new \App\Support\Units\Time($pirep->flight_time)) }}
|
|
||||||
</td>
|
|
||||||
<td class="text-center">
|
|
||||||
@if($pirep->state === PirepState::PENDING)
|
|
||||||
<div class="badge badge-warning">
|
|
||||||
@elseif($pirep->state === PirepState::ACCEPTED)
|
|
||||||
<div class="badge badge-success">
|
|
||||||
@elseif($pirep->state === PirepState::REJECTED)
|
|
||||||
<div class="badge badge-danger">
|
|
||||||
@else
|
|
||||||
<div class="badge badge-info">
|
|
||||||
@endif
|
|
||||||
{{ PirepState::label($pirep->state) }}</div>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
@if(filled($pirep->submitted_at))
|
|
||||||
{{ $pirep->submitted_at->diffForHumans() }}
|
|
||||||
@endif
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
@if(!$pirep->read_only)
|
|
||||||
<a href="{{ route('frontend.pireps.edit', [$pirep->id]) }}">@lang('common.edit')</a>
|
|
||||||
@endif
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
@endforeach
|
|
||||||
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
@lang('widgets.latestnews.news')
|
@lang('widgets.latestnews.news')
|
||||||
</div>
|
</div>
|
||||||
<div class="card border-blue-bottom">
|
<div class="card border-blue-bottom">
|
||||||
<div class="card-block" style="min-height: 0px">
|
<div class="card-body" style="min-height: 0px">
|
||||||
@if($news->count() === 0)
|
@if($news->count() === 0)
|
||||||
<div class="text-center text-muted" style="padding: 30px;">
|
<div class="text-center text-muted" style="padding: 30px;">
|
||||||
@lang('widgets.latestnews.nonewsfound')
|
@lang('widgets.latestnews.nonewsfound')
|
||||||
|
|||||||
@@ -27,7 +27,8 @@ function copyAssets()
|
|||||||
|
|
||||||
function buildFrontendAssets()
|
function buildFrontendAssets()
|
||||||
{
|
{
|
||||||
mix.sass('resources/sass/now-ui/now-ui-kit.scss', 'public/assets/frontend/css/now-ui-kit.css');
|
mix.sass('resources/sass/now-ui/now-ui-kit.scss', 'public/assets/frontend/css/now-ui-kit.css')
|
||||||
|
.sourceMaps();
|
||||||
|
|
||||||
mix.scripts([
|
mix.scripts([
|
||||||
'node_modules/moment/moment.js',
|
'node_modules/moment/moment.js',
|
||||||
|
|||||||
Reference in New Issue
Block a user