Merge remote-tracking branch 'upstream/dev' into es-translations

This commit is contained in:
arv187
2018-07-13 14:15:32 +02:00
38 changed files with 375 additions and 242 deletions

View File

@@ -42,6 +42,7 @@ class PilotLeave extends Listener
->whereDate('updated_at', '<', $date);
foreach($users as $user) {
Log::info('Setting user '.$user->ident.' to ON LEAVE status');
$this->userSvc->setStatusOnLeave($user);
}
}

View File

@@ -7,6 +7,7 @@ use App\Interfaces\Listener;
use App\Models\Enums\Days;
use App\Models\Flight;
use Carbon\Carbon;
use Illuminate\Support\Facades\Log;
/**
* Figure out what flights need to be active for today
@@ -38,12 +39,22 @@ class SetActiveFlights extends Listener
* @var Flight $flight
*/
foreach($flights as $flight) {
if (!$flight->active) {
continue;
}
// dates aren't set, so just save if there were any changes above
// and move onto the next one
if ($flight->start_date === null || $flight->end_date === null) {
if ($flight->days > 0) {
$flight->active = Days::isToday($flight->days);
$visible = Days::isToday($flight->days);
if($flight->visible !== $visible) {
Log::info('Marking flight '.$flight->ident.' to '.($visible ? 'visible' : 'invisible'));
$flight->visible = $visible;
}
} else {
Log::info('Toggling flight '.$flight->ident.' to visible');
$flight->visible = true;
}
$flight->save();
@@ -56,12 +67,19 @@ class SetActiveFlights extends Listener
// and then make sure if days of the week are specified, check that too
if ($today->gte($flight->start_date) && $today->lte($flight->end_date)) {
if ($flight->days > 0) {
$flight->active = Days::isToday($flight->days);
$visible = Days::isToday($flight->days);
if($flight->visible !== $visible) {
Log::info('Toggling flight '.$flight->ident.' to '.($visible?'visible':'invisible'));
$flight->visible = true;
}
} else {
$flight->active = true;
if ($flight->visible !== true) {
Log::info('Toggling flight '.$flight->ident.' to visible');
$flight->visible = true;
}
}
} else {
$flight->active = false;
$flight->visible = false;
}
$flight->save();

View File

@@ -31,6 +31,7 @@ $factory->define(App\Models\Flight::class, function (Faker $faker) {
'flight_time' => $faker->numberBetween(60, 360),
'has_bid' => false,
'active' => true,
'visible' => true,
'days' => 0,
'start_date' => null,
'end_date' => null,

View File

@@ -16,12 +16,12 @@ class CreateAirportsTable extends Migration
$table->string('country', 64)->nullable();
$table->string('timezone', 64)->nullable();
$table->boolean('hub')->default(false);
$table->float('lat', 7, 4)->nullable()->default(0.0);
$table->float('lon', 7, 4)->nullable()->default(0.0);
$table->unsignedDecimal('ground_handling_cost')->nullable()->default(0);
$table->unsignedDecimal('fuel_100ll_cost')->nullable()->default(0);
$table->unsignedDecimal('fuel_jeta_cost')->nullable()->default(0);
$table->unsignedDecimal('fuel_mogas_cost')->nullable()->default(0);
$table->float('lat', 7, 4)->nullable()->default(0.0);
$table->float('lon', 7, 4)->nullable()->default(0.0);
$table->index('icao');
$table->index('iata');

View File

@@ -36,7 +36,7 @@ class CreateFlightTables extends Migration
$table->date('end_date')->nullable();
$table->boolean('has_bid')->default(false);
$table->boolean('active')->default(true);
$table->boolean('flight_active')->default(true); // used by the cron
$table->boolean('visible')->default(true); // used by the cron
$table->timestamps();
$table->primary('id');

View File

@@ -84,7 +84,7 @@ class CreatePirepTables extends Migration
$table->string('name', 50);
$table->string('slug', 50)->nullable();
$table->string('value')->nullable();
$table->string('source')->nullable();
$table->unsignedTinyInteger('source');
$table->timestamps();
$table->index('pirep_id');

View File

@@ -393,10 +393,10 @@ flights:
updated_at: NOW
flight_fields:
- name: Departure Gate
slug: departure-gate
- name: Arrival Gate
slug: arrival-gate
- name: Departure Terminal
slug: departure-terminal
- name: Arrival Terminal
slug: arrival-terminal
flight_field_values:
- id: 1
@@ -540,27 +540,33 @@ pirep_fares:
pirep_fields:
- id: 1
name: departure gate
slug: departure-gate
name: departure terminal
slug: departure-terminal
required: 1
- id: 2
name: arrival gate
slug: arrival-gate
name: arrival terminal
slug: arrival-terminal
required: 0
pirep_field_values:
- id: 1
pirep_id: pirepid_1
name: arrival gate
slug: arrival-gate
name: arrival terminal
slug: arrival-terminal
value: 10
source: manual
source: 0
- id: 2
pirep_id: pirepid_1
name: departure gate
slug: departure-gate
value: B32
source: manual
name: departure terminal
slug: departure-terminal
value: 4
source: 0
- id: 3
pirep_id: pirepid_1
name: Landing Rate
slug: landing-rate
value: -225.3
source: 1
pirep_comments:
- id: 1

View File

@@ -118,7 +118,6 @@ class AircraftController extends Controller
if (empty($aircraft)) {
Flash::error('Aircraft not found');
return redirect(route('admin.aircraft.index'));
}

View File

@@ -298,7 +298,8 @@ class PirepController extends Controller
# set the custom fields
foreach ($pirep->fields as $field) {
$pirep->{$field->slug} = $field->value;
$field_name = 'field_'.$field->slug;
$pirep->{$field_name} = $field->value;
}
# set the fares

View File

@@ -44,7 +44,11 @@ class FlightController extends Controller
{
$user = Auth::user();
$where = ['active' => true];
$where = [
'active' => true,
'visible' => true,
];
if(setting('pilots.restrict_to_company')) {
$where['airline_id'] = Auth::user()->airline_id;
}
@@ -84,7 +88,11 @@ class FlightController extends Controller
$user = Auth::user();
try {
$where = ['active' => true];
$where = [
'active' => true,
'visible' => true,
];
if(setting('pilots.restrict_to_company')) {
$where['airline_id'] = Auth::user()->airline_id;
}

View File

@@ -20,6 +20,7 @@ use App\Http\Resources\PirepFieldCollection;
use App\Interfaces\Controller;
use App\Models\Acars;
use App\Models\Enums\AcarsType;
use App\Models\Enums\PirepFieldSource;
use App\Models\Enums\PirepSource;
use App\Models\Enums\PirepState;
use App\Models\Enums\PirepStatus;
@@ -122,7 +123,7 @@ class PirepController extends Controller
$pirep_fields[] = [
'name' => $field_name,
'value' => $field_value,
'source' => $pirep->source,
'source' => PirepFieldSource::ACARS,
];
}
@@ -497,6 +498,12 @@ class PirepController extends Controller
Log::info('Posting ROUTE, PIREP: '.$id, $request->post());
// Delete the route before posting a new one
Acars::where([
'pirep_id' => $id,
'type' => AcarsType::ROUTE
])->delete();
$count = 0;
$route = $request->post('route', []);
foreach ($route as $position) {

View File

@@ -52,8 +52,10 @@ class FlightController extends Controller
public function index(Request $request)
{
$where = [
'active' => true,
'active' => true,
'visible' => true,
];
if(setting('pilots.restrict_to_company')) {
$where['airline_id'] = Auth::user()->airline_id;
}

View File

@@ -332,6 +332,9 @@ class PirepController extends Controller
return redirect(route('frontend.pireps.index'));
}
# Eager load the subfleet and fares under it
$pirep->aircraft->load('subfleet.fares');
$time = new Time($pirep->flight_time);
$pirep->hours = $time->hours;
$pirep->minutes = $time->minutes;
@@ -342,7 +345,8 @@ class PirepController extends Controller
$field->slug = str_slug($field->name);
}
$pirep->{$field->slug} = $field->value;
$field_name = 'field_'.$field->slug;
$pirep->{$field_name} = $field->value;
}
# set the fares

View File

@@ -0,0 +1,15 @@
<?php
namespace App\Models\Enums;
use App\Interfaces\Enum;
/**
* Class AcarsType
* @package App\Models\Enums
*/
class PirepFieldSource extends Enum
{
public const MANUAL = 0;
public const ACARS = 1;
}

View File

@@ -64,6 +64,7 @@ class Flight extends Model
'end_date',
'has_bid',
'active',
'visible',
];
protected $casts = [
@@ -75,8 +76,9 @@ class Flight extends Model
'start_date' => 'date',
'end_date' => 'date',
'has_bid' => 'boolean',
'route_leg' => 'integer',
'active' => 'boolean',
'route_leg' => 'integer'
'visible' => 'boolean',
];
public static $rules = [

View File

@@ -4,6 +4,7 @@ namespace App\Models;
use App\Interfaces\Model;
use App\Models\Enums\AcarsType;
use App\Models\Enums\PirepFieldSource;
use App\Models\Enums\PirepState;
use App\Models\Traits\HashIdTrait;
use App\Support\Units\Distance;
@@ -128,7 +129,7 @@ class Pirep extends Model
* If a PIREP is in these states, then it can't be changed.
*/
public static $read_only_states = [
PirepState::PENDING,
//PirepState::PENDING,
PirepState::ACCEPTED,
PirepState::REJECTED,
PirepState::CANCELLED,
@@ -301,6 +302,32 @@ class Pirep extends Model
return round(($this->distance['nmi'] / $upper_bound) * 100, 0);
}
/**
* Get the pirep_fields and then the pirep_field_values and
* merge them together. If a field value doesn't exist then add in a fake one
*/
public function getFieldsAttribute()
{
$custom_fields = PirepField::all();
$field_values = PirepFieldValue::where('pirep_id', $this->id)->get();
# Merge the field values into $fields
foreach($custom_fields as $field) {
$has_value = $field_values->firstWhere('slug', $field->slug);
if(!$has_value) {
$field_values->push(new PirepFieldValue([
'pirep_id' => $this->id,
'name' => $field->name,
'slug' => $field->slug,
'value' => '',
'source' => PirepFieldSource::MANUAL
]));
}
}
return $field_values->sortBy('source');
}
/**
* Look up the flight, based on the PIREP flight info
* @return Flight|null
@@ -454,9 +481,9 @@ class Pirep extends Model
return $this->hasMany(PirepFare::class, 'pirep_id');
}
public function fields()
public function field_values()
{
return $this->hasMany(PirepFieldValues::class, 'pirep_id');
return $this->hasMany(PirepFieldValue::class, 'pirep_id');
}
public function pilot()

View File

@@ -3,12 +3,13 @@
namespace App\Models;
use App\Interfaces\Model;
use App\Models\Enums\PirepFieldSource;
/**
* Class PirepFieldValues
* Class PirepFieldValue
* @package App\Models
*/
class PirepFieldValues extends Model
class PirepFieldValue extends Model
{
public $table = 'pirep_field_values';
@@ -24,6 +25,19 @@ class PirepFieldValues extends Model
'name' => 'required',
];
protected $casts = [
'source' => 'integer',
];
/**
* If it was filled in from ACARS, then it's read only
* @return bool
*/
public function getReadOnlyAttribute()
{
return $this->source === PirepFieldSource::ACARS;
}
/**
* @param $name
*/

View File

@@ -67,9 +67,6 @@ class Subfleet extends Model
* Relationships
*/
/**
* @return $this
*/
public function aircraft()
{
return $this->hasMany(Aircraft::class, 'subfleet_id')

View File

@@ -16,7 +16,7 @@ use App\Models\Observers\Sluggable;
use App\Models\Observers\SettingObserver;
use App\Models\Observers\SubfleetObserver;
use App\Models\PirepField;
use App\Models\PirepFieldValues;
use App\Models\PirepFieldValue;
use App\Models\Setting;
use App\Models\Subfleet;
use App\Repositories\SettingRepository;
@@ -49,7 +49,7 @@ class AppServiceProvider extends ServiceProvider
FlightFieldValue::observe(Sluggable::class);
PirepField::observe(Sluggable::class);
PirepFieldValues::observe(Sluggable::class);
PirepFieldValue::observe(Sluggable::class);
Setting::observe(SettingObserver::class);
Subfleet::observe(SubfleetObserver::class);

View File

@@ -71,7 +71,8 @@ class FlightRepository extends Repository implements CacheableInterface
$where = [];
if ($only_active === true) {
$where['active'] = $only_active;
$where['active'] = $only_active;
$where['visible'] = $only_active;
}
if ($request->filled('flight_id')) {

View File

@@ -18,15 +18,19 @@ class AirportImporter extends ImportExport
* Should match the database fields, for the most part
*/
public static $columns = [
'icao' => 'required',
'iata' => 'required',
'name' => 'required',
'location' => 'nullable',
'country' => 'nullable',
'timezone' => 'nullable',
'hub' => 'nullable|boolean',
'lat' => 'required|numeric',
'lon' => 'required|numeric',
'icao' => 'required',
'iata' => 'required',
'name' => 'required',
'location' => 'nullable',
'country' => 'nullable',
'timezone' => 'nullable',
'hub' => 'nullable|boolean',
'lat' => 'required|numeric',
'lon' => 'required|numeric',
'ground_handling_cost' => 'nullable|float',
'fuel_100ll_cost' => 'nullable|float',
'fuel_jeta_cost' => 'nullable|float',
'fuel_mogas_cost' => 'nullable|float',
];
/**
@@ -41,12 +45,12 @@ class AirportImporter extends ImportExport
$row['hub'] = get_truth_state($row['hub']);
$airport = Airport::firstOrNew([
'id' => $row['icao']
'id' => $row['icao']
], $row);
try {
$airport->save();
} catch(\Exception $e) {
} catch (\Exception $e) {
$this->errorLog('Error in row '.$index.': '.$e->getMessage());
return false;
}

View File

@@ -17,7 +17,7 @@ use App\Models\Enums\PirepStatus;
use App\Models\Enums\UserState;
use App\Models\Navdata;
use App\Models\Pirep;
use App\Models\PirepFieldValues;
use App\Models\PirepFieldValue;
use App\Models\User;
use App\Repositories\AcarsRepository;
use App\Repositories\FlightRepository;
@@ -96,6 +96,8 @@ class PirepService extends Service
/**
* Save the route into the ACARS table with AcarsType::ROUTE
* This attempts to create the route from the navdata and the route
* entered into the PIREP's route field
* @param Pirep $pirep
* @return Pirep
* @throws \Exception
@@ -115,7 +117,6 @@ class PirepService extends Service
if (!filled($pirep->dpt_airport)) {
Log::error('saveRoute: dpt_airport not found: '.$pirep->dpt_airport_id);
return $pirep;
}
@@ -151,7 +152,7 @@ class PirepService extends Service
* Create a new PIREP with some given fields
*
* @param Pirep $pirep
* @param array [PirepFieldValues] $field_values
* @param array PirepFieldValue[] $field_values
*
* @return Pirep
*/
@@ -243,7 +244,7 @@ class PirepService extends Service
public function updateCustomFields($pirep_id, array $field_values)
{
foreach ($field_values as $fv) {
PirepFieldValues::updateOrCreate(
PirepFieldValue::updateOrCreate(
['pirep_id' => $pirep_id,
'name' => $fv['name']
],

View File

@@ -27,7 +27,7 @@
"jmikola/geojson": "1.0.x",
"laracasts/flash": "3.0.x",
"arrilot/laravel-widgets": "3.9.x",
"nabeel/vacentral": "1.0.x",
"nabeel/vacentral": "^1.0",
"league/iso3166": "2.1.x",
"theiconic/php-ga-measurement-protocol": "2.7.x",
"joshbrw/laravel-module-installer": "0.1.x",

288
composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"content-hash": "cdbd47e5570d8787f6b54d22950466b7",
"content-hash": "65230ca9de4b86cf542d098549c08f60",
"packages": [
{
"name": "akaunting/money",
@@ -189,16 +189,16 @@
},
{
"name": "cache/adapter-common",
"version": "1.0.0",
"version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/php-cache/adapter-common.git",
"reference": "f433e2496e1f351272e7985a5e908db86bc2db5c"
"reference": "6320bb5f5574cb88438059b59f8708da6b6f1d32"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-cache/adapter-common/zipball/f433e2496e1f351272e7985a5e908db86bc2db5c",
"reference": "f433e2496e1f351272e7985a5e908db86bc2db5c",
"url": "https://api.github.com/repos/php-cache/adapter-common/zipball/6320bb5f5574cb88438059b59f8708da6b6f1d32",
"reference": "6320bb5f5574cb88438059b59f8708da6b6f1d32",
"shasum": ""
},
"require": {
@@ -215,7 +215,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0-dev"
"dev-master": "1.1-dev"
}
},
"autoload": {
@@ -223,7 +223,7 @@
"Cache\\Adapter\\Common\\": ""
}
},
"notification-url": "http://packagist.org/downloads/",
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
@@ -246,7 +246,7 @@
"psr-6",
"tag"
],
"time": "2017-07-16T17:13:36+00:00"
"time": "2018-07-08T13:04:33+00:00"
},
{
"name": "cache/array-adapter",
@@ -1448,16 +1448,16 @@
},
{
"name": "laravel/framework",
"version": "v5.6.26",
"version": "v5.6.27",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "7047df295e77cecb6a2f84736a732af66cc6789c"
"reference": "2fe661f2444410a576aa40054ad9b7fe0bb5cee5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/7047df295e77cecb6a2f84736a732af66cc6789c",
"reference": "7047df295e77cecb6a2f84736a732af66cc6789c",
"url": "https://api.github.com/repos/laravel/framework/zipball/2fe661f2444410a576aa40054ad9b7fe0bb5cee5",
"reference": "2fe661f2444410a576aa40054ad9b7fe0bb5cee5",
"shasum": ""
},
"require": {
@@ -1583,7 +1583,7 @@
"framework",
"laravel"
],
"time": "2018-06-20T14:21:11+00:00"
"time": "2018-07-10T13:47:01+00:00"
},
{
"name": "laravelcollective/html",
@@ -2077,16 +2077,16 @@
},
{
"name": "nabeel/vacentral",
"version": "v1.0.0",
"version": "v1.0.1",
"source": {
"type": "git",
"url": "https://github.com/nabeelio/vacentral-library.git",
"reference": "35316106c8840c6ddacadcc0c80fdcc906482242"
"reference": "75dcd840e3d794b3c55c1f97d96f057fd84bf695"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nabeelio/vacentral-library/zipball/35316106c8840c6ddacadcc0c80fdcc906482242",
"reference": "35316106c8840c6ddacadcc0c80fdcc906482242",
"url": "https://api.github.com/repos/nabeelio/vacentral-library/zipball/75dcd840e3d794b3c55c1f97d96f057fd84bf695",
"reference": "75dcd840e3d794b3c55c1f97d96f057fd84bf695",
"shasum": ""
},
"require": {
@@ -2103,11 +2103,11 @@
"VaCentral\\": "src/"
}
},
"notification-url": "http://packagist.org/downloads/",
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"time": "2018-02-05T17:20:06+00:00"
"time": "2018-07-11T13:02:24+00:00"
},
{
"name": "nesbot/carbon",
@@ -2215,16 +2215,16 @@
},
{
"name": "nwidart/laravel-modules",
"version": "3.2.1",
"version": "3.3.0",
"source": {
"type": "git",
"url": "https://github.com/nWidart/laravel-modules.git",
"reference": "5250efef2505c47687ebe4c0368a4f0cd01c84ef"
"reference": "6e27f17ebf27c07bc6aeb83d5cc5a547cfa0c204"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nWidart/laravel-modules/zipball/5250efef2505c47687ebe4c0368a4f0cd01c84ef",
"reference": "5250efef2505c47687ebe4c0368a4f0cd01c84ef",
"url": "https://api.github.com/repos/nWidart/laravel-modules/zipball/6e27f17ebf27c07bc6aeb83d5cc5a547cfa0c204",
"reference": "6e27f17ebf27c07bc6aeb83d5cc5a547cfa0c204",
"shasum": ""
},
"require": {
@@ -2281,20 +2281,20 @@
"nwidart",
"rad"
],
"time": "2018-04-16T17:35:14+00:00"
"time": "2018-06-21T17:40:05+00:00"
},
{
"name": "paragonie/random_compat",
"version": "v2.0.15",
"version": "v2.0.17",
"source": {
"type": "git",
"url": "https://github.com/paragonie/random_compat.git",
"reference": "10bcb46e8f3d365170f6de9d05245aa066b81f09"
"reference": "29af24f25bab834fcbb38ad2a69fa93b867e070d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/paragonie/random_compat/zipball/10bcb46e8f3d365170f6de9d05245aa066b81f09",
"reference": "10bcb46e8f3d365170f6de9d05245aa066b81f09",
"url": "https://api.github.com/repos/paragonie/random_compat/zipball/29af24f25bab834fcbb38ad2a69fa93b867e070d",
"reference": "29af24f25bab834fcbb38ad2a69fa93b867e070d",
"shasum": ""
},
"require": {
@@ -2330,7 +2330,7 @@
"pseudorandom",
"random"
],
"time": "2018-06-08T15:26:40+00:00"
"time": "2018-07-04T16:31:37+00:00"
},
{
"name": "php-http/discovery",
@@ -3267,16 +3267,16 @@
},
{
"name": "swiftmailer/swiftmailer",
"version": "v6.0.2",
"version": "v6.1.1",
"source": {
"type": "git",
"url": "https://github.com/swiftmailer/swiftmailer.git",
"reference": "412333372fb6c8ffb65496a2bbd7321af75733fc"
"reference": "aa899fef280b1c1aec8d5d4ac069af7f80c89a23"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/412333372fb6c8ffb65496a2bbd7321af75733fc",
"reference": "412333372fb6c8ffb65496a2bbd7321af75733fc",
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/aa899fef280b1c1aec8d5d4ac069af7f80c89a23",
"reference": "aa899fef280b1c1aec8d5d4ac069af7f80c89a23",
"shasum": ""
},
"require": {
@@ -3287,10 +3287,14 @@
"mockery/mockery": "~0.9.1",
"symfony/phpunit-bridge": "~3.3@dev"
},
"suggest": {
"ext-intl": "Needed to support internationalized email addresses",
"true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "6.0-dev"
"dev-master": "6.1-dev"
}
},
"autoload": {
@@ -3298,7 +3302,7 @@
"lib/swift_required.php"
]
},
"notification-url": "http://packagist.org/downloads/",
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
@@ -3312,26 +3316,26 @@
}
],
"description": "Swiftmailer, free feature-rich PHP mailer",
"homepage": "http://swiftmailer.symfony.com",
"homepage": "https://swiftmailer.symfony.com",
"keywords": [
"email",
"mail",
"mailer"
],
"time": "2017-09-30T22:39:41+00:00"
"time": "2018-07-04T11:12:44+00:00"
},
{
"name": "symfony/console",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "2d5d973bf9933d46802b01010bd25c800c87c242"
"reference": "70591cda56b4b47c55776ac78e157c4bb6c8b43f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/2d5d973bf9933d46802b01010bd25c800c87c242",
"reference": "2d5d973bf9933d46802b01010bd25c800c87c242",
"url": "https://api.github.com/repos/symfony/console/zipball/70591cda56b4b47c55776ac78e157c4bb6c8b43f",
"reference": "70591cda56b4b47c55776ac78e157c4bb6c8b43f",
"shasum": ""
},
"require": {
@@ -3386,11 +3390,11 @@
],
"description": "Symfony Console Component",
"homepage": "https://symfony.com",
"time": "2018-05-30T07:26:09+00:00"
"time": "2018-05-31T10:17:53+00:00"
},
{
"name": "symfony/css-selector",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
@@ -3443,16 +3447,16 @@
},
{
"name": "symfony/debug",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug.git",
"reference": "449f8b00b28ab6e6912c3e6b920406143b27193b"
"reference": "dbe0fad88046a755dcf9379f2964c61a02f5ae3d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/debug/zipball/449f8b00b28ab6e6912c3e6b920406143b27193b",
"reference": "449f8b00b28ab6e6912c3e6b920406143b27193b",
"url": "https://api.github.com/repos/symfony/debug/zipball/dbe0fad88046a755dcf9379f2964c61a02f5ae3d",
"reference": "dbe0fad88046a755dcf9379f2964c61a02f5ae3d",
"shasum": ""
},
"require": {
@@ -3495,11 +3499,11 @@
],
"description": "Symfony Debug Component",
"homepage": "https://symfony.com",
"time": "2018-05-16T14:33:22+00:00"
"time": "2018-06-08T09:39:36+00:00"
},
{
"name": "symfony/dom-crawler",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
@@ -3556,7 +3560,7 @@
},
{
"name": "symfony/event-dispatcher",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
@@ -3619,16 +3623,16 @@
},
{
"name": "symfony/finder",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
"reference": "087e2ee0d74464a4c6baac4e90417db7477dc238"
"reference": "84714b8417d19e4ba02ea78a41a975b3efaafddb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/087e2ee0d74464a4c6baac4e90417db7477dc238",
"reference": "087e2ee0d74464a4c6baac4e90417db7477dc238",
"url": "https://api.github.com/repos/symfony/finder/zipball/84714b8417d19e4ba02ea78a41a975b3efaafddb",
"reference": "84714b8417d19e4ba02ea78a41a975b3efaafddb",
"shasum": ""
},
"require": {
@@ -3664,20 +3668,20 @@
],
"description": "Symfony Finder Component",
"homepage": "https://symfony.com",
"time": "2018-05-16T14:33:22+00:00"
"time": "2018-06-19T21:38:16+00:00"
},
{
"name": "symfony/http-foundation",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
"reference": "a916c88390fb861ee21f12a92b107d51bb68af99"
"reference": "4f9c7cf962e635b0b26b14500ac046e07dbef7f3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/a916c88390fb861ee21f12a92b107d51bb68af99",
"reference": "a916c88390fb861ee21f12a92b107d51bb68af99",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/4f9c7cf962e635b0b26b14500ac046e07dbef7f3",
"reference": "4f9c7cf962e635b0b26b14500ac046e07dbef7f3",
"shasum": ""
},
"require": {
@@ -3718,20 +3722,20 @@
],
"description": "Symfony HttpFoundation Component",
"homepage": "https://symfony.com",
"time": "2018-05-25T14:55:38+00:00"
"time": "2018-06-19T21:38:16+00:00"
},
{
"name": "symfony/http-kernel",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
"reference": "b5ab9d4cdbfd369083744b6b5dfbf454e31e5f90"
"reference": "29c094a1c4f8209b7e033f612cbbd69029e38955"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/b5ab9d4cdbfd369083744b6b5dfbf454e31e5f90",
"reference": "b5ab9d4cdbfd369083744b6b5dfbf454e31e5f90",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/29c094a1c4f8209b7e033f612cbbd69029e38955",
"reference": "29c094a1c4f8209b7e033f612cbbd69029e38955",
"shasum": ""
},
"require": {
@@ -3739,13 +3743,13 @@
"psr/log": "~1.0",
"symfony/debug": "~3.4|~4.0",
"symfony/event-dispatcher": "~4.1",
"symfony/http-foundation": "~4.1",
"symfony/http-foundation": "^4.1.1",
"symfony/polyfill-ctype": "~1.8"
},
"conflict": {
"symfony/config": "<3.4",
"symfony/dependency-injection": "<4.1",
"symfony/var-dumper": "<4.1",
"symfony/var-dumper": "<4.1.1",
"twig/twig": "<1.34|<2.4,>=2"
},
"provide": {
@@ -3766,7 +3770,7 @@
"symfony/stopwatch": "~3.4|~4.0",
"symfony/templating": "~3.4|~4.0",
"symfony/translation": "~3.4|~4.0",
"symfony/var-dumper": "~4.1"
"symfony/var-dumper": "^4.1.1"
},
"suggest": {
"symfony/browser-kit": "",
@@ -3805,11 +3809,11 @@
],
"description": "Symfony HttpKernel Component",
"homepage": "https://symfony.com",
"time": "2018-05-30T12:52:34+00:00"
"time": "2018-06-25T13:06:45+00:00"
},
{
"name": "symfony/inflector",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/inflector.git",
@@ -4036,16 +4040,16 @@
},
{
"name": "symfony/process",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
"reference": "73445bd33b0d337c060eef9652b94df72b6b3434"
"reference": "1d1677391ecf00d1c5b9482d6050c0c27aa3ac3a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/73445bd33b0d337c060eef9652b94df72b6b3434",
"reference": "73445bd33b0d337c060eef9652b94df72b6b3434",
"url": "https://api.github.com/repos/symfony/process/zipball/1d1677391ecf00d1c5b9482d6050c0c27aa3ac3a",
"reference": "1d1677391ecf00d1c5b9482d6050c0c27aa3ac3a",
"shasum": ""
},
"require": {
@@ -4081,11 +4085,11 @@
],
"description": "Symfony Process Component",
"homepage": "https://symfony.com",
"time": "2018-05-30T07:26:09+00:00"
"time": "2018-05-31T10:17:53+00:00"
},
{
"name": "symfony/property-access",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-access.git",
@@ -4152,16 +4156,16 @@
},
{
"name": "symfony/routing",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
"reference": "180b51c66d10f09e562c9ebc395b39aacb2cf8a2"
"reference": "b38b9797327b26ea2e4146a40e6e2dc9820a6932"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/routing/zipball/180b51c66d10f09e562c9ebc395b39aacb2cf8a2",
"reference": "180b51c66d10f09e562c9ebc395b39aacb2cf8a2",
"url": "https://api.github.com/repos/symfony/routing/zipball/b38b9797327b26ea2e4146a40e6e2dc9820a6932",
"reference": "b38b9797327b26ea2e4146a40e6e2dc9820a6932",
"shasum": ""
},
"require": {
@@ -4174,7 +4178,6 @@
},
"require-dev": {
"doctrine/annotations": "~1.0",
"doctrine/common": "~2.2",
"psr/log": "~1.0",
"symfony/config": "~3.4|~4.0",
"symfony/dependency-injection": "~3.4|~4.0",
@@ -4226,20 +4229,20 @@
"uri",
"url"
],
"time": "2018-05-30T07:26:09+00:00"
"time": "2018-06-19T21:38:16+00:00"
},
{
"name": "symfony/serializer",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/serializer.git",
"reference": "db427d70438645789ffce6048d61b3992118a33a"
"reference": "2ddc6ec084eba809aec92bf723e007bc3a8345c0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/serializer/zipball/db427d70438645789ffce6048d61b3992118a33a",
"reference": "db427d70438645789ffce6048d61b3992118a33a",
"url": "https://api.github.com/repos/symfony/serializer/zipball/2ddc6ec084eba809aec92bf723e007bc3a8345c0",
"reference": "2ddc6ec084eba809aec92bf723e007bc3a8345c0",
"shasum": ""
},
"require": {
@@ -4306,20 +4309,20 @@
],
"description": "Symfony Serializer Component",
"homepage": "https://symfony.com",
"time": "2018-05-30T07:26:09+00:00"
"time": "2018-06-22T08:59:39+00:00"
},
{
"name": "symfony/translation",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
"reference": "16328f5b217cebc8dd4adfe4aeeaa8c377581f5a"
"reference": "b6d8164085ee0b6debcd1b7a131fd6f63bb04854"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/16328f5b217cebc8dd4adfe4aeeaa8c377581f5a",
"reference": "16328f5b217cebc8dd4adfe4aeeaa8c377581f5a",
"url": "https://api.github.com/repos/symfony/translation/zipball/b6d8164085ee0b6debcd1b7a131fd6f63bb04854",
"reference": "b6d8164085ee0b6debcd1b7a131fd6f63bb04854",
"shasum": ""
},
"require": {
@@ -4375,20 +4378,20 @@
],
"description": "Symfony Translation Component",
"homepage": "https://symfony.com",
"time": "2018-05-30T07:26:09+00:00"
"time": "2018-06-22T08:59:39+00:00"
},
{
"name": "symfony/var-dumper",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
"reference": "bc88ad53e825ebacc7b190bbd360781fce381c64"
"reference": "b2eebaec085d1f2cafbad7644733d494a3bbbc9b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/bc88ad53e825ebacc7b190bbd360781fce381c64",
"reference": "bc88ad53e825ebacc7b190bbd360781fce381c64",
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/b2eebaec085d1f2cafbad7644733d494a3bbbc9b",
"reference": "b2eebaec085d1f2cafbad7644733d494a3bbbc9b",
"shasum": ""
},
"require": {
@@ -4450,11 +4453,11 @@
"debug",
"dump"
],
"time": "2018-04-29T07:56:09+00:00"
"time": "2018-06-23T12:23:56+00:00"
},
{
"name": "symfony/yaml",
"version": "v4.1.0",
"version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
@@ -4763,28 +4766,28 @@
},
{
"name": "vlucas/phpdotenv",
"version": "v2.4.0",
"version": "v2.5.0",
"source": {
"type": "git",
"url": "https://github.com/vlucas/phpdotenv.git",
"reference": "3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c"
"reference": "6ae3e2e6494bb5e58c2decadafc3de7f1453f70a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c",
"reference": "3cc116adbe4b11be5ec557bf1d24dc5e3a21d18c",
"url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/6ae3e2e6494bb5e58c2decadafc3de7f1453f70a",
"reference": "6ae3e2e6494bb5e58c2decadafc3de7f1453f70a",
"shasum": ""
},
"require": {
"php": ">=5.3.9"
},
"require-dev": {
"phpunit/phpunit": "^4.8 || ^5.0"
"phpunit/phpunit": "^4.8.35 || ^5.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.4-dev"
"dev-master": "2.5-dev"
}
},
"autoload": {
@@ -4794,7 +4797,7 @@
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause-Attribution"
"BSD-3-Clause"
],
"authors": [
{
@@ -4809,7 +4812,7 @@
"env",
"environment"
],
"time": "2016-09-01T10:05:43+00:00"
"time": "2018-07-01T10:25:50+00:00"
},
{
"name": "waavi/sanitizer",
@@ -5849,16 +5852,16 @@
},
{
"name": "nette/di",
"version": "v2.4.12",
"version": "v2.4.13",
"source": {
"type": "git",
"url": "https://github.com/nette/di.git",
"reference": "8e717aed2d182a26763be58c220eebaaa32917df"
"reference": "3f8f212b02d5c17feb97a7e0a39ab306f40c06ca"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nette/di/zipball/8e717aed2d182a26763be58c220eebaaa32917df",
"reference": "8e717aed2d182a26763be58c220eebaaa32917df",
"url": "https://api.github.com/repos/nette/di/zipball/3f8f212b02d5c17feb97a7e0a39ab306f40c06ca",
"reference": "3f8f212b02d5c17feb97a7e0a39ab306f40c06ca",
"shasum": ""
},
"require": {
@@ -5914,31 +5917,31 @@
"nette",
"static"
],
"time": "2018-04-26T09:18:42+00:00"
"time": "2018-06-11T08:46:01+00:00"
},
{
"name": "nette/finder",
"version": "v2.4.1",
"version": "v2.4.2",
"source": {
"type": "git",
"url": "https://github.com/nette/finder.git",
"reference": "4d43a66d072c57d585bf08a3ef68d3587f7e9547"
"reference": "ee951a656cb8ac622e5dd33474a01fd2470505a0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nette/finder/zipball/4d43a66d072c57d585bf08a3ef68d3587f7e9547",
"reference": "4d43a66d072c57d585bf08a3ef68d3587f7e9547",
"url": "https://api.github.com/repos/nette/finder/zipball/ee951a656cb8ac622e5dd33474a01fd2470505a0",
"reference": "ee951a656cb8ac622e5dd33474a01fd2470505a0",
"shasum": ""
},
"require": {
"nette/utils": "^2.4 || ~3.0.0",
"nette/utils": "~2.4",
"php": ">=5.6.0"
},
"conflict": {
"nette/nette": "<2.2"
},
"require-dev": {
"nette/tester": "^2.0",
"nette/tester": "~2.0",
"tracy/tracy": "^2.3"
},
"type": "library",
@@ -5968,22 +5971,28 @@
"homepage": "https://nette.org/contributors"
}
],
"description": "Nette Finder: Files Searching",
"description": "🔍 Nette Finder: find files and directories with an intuitive API.",
"homepage": "https://nette.org",
"time": "2017-07-10T23:47:08+00:00"
"keywords": [
"filesystem",
"glob",
"iterator",
"nette"
],
"time": "2018-06-28T11:49:23+00:00"
},
{
"name": "nette/neon",
"version": "v2.4.2",
"version": "v2.4.3",
"source": {
"type": "git",
"url": "https://github.com/nette/neon.git",
"reference": "9eacd50553b26b53a3977bfb2fea2166d4331622"
"reference": "5e72b1dd3e2d34f0863c5561139a19df6a1ef398"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nette/neon/zipball/9eacd50553b26b53a3977bfb2fea2166d4331622",
"reference": "9eacd50553b26b53a3977bfb2fea2166d4331622",
"url": "https://api.github.com/repos/nette/neon/zipball/5e72b1dd3e2d34f0863c5561139a19df6a1ef398",
"reference": "5e72b1dd3e2d34f0863c5561139a19df6a1ef398",
"shasum": ""
},
"require": {
@@ -6022,9 +6031,16 @@
"homepage": "https://nette.org/contributors"
}
],
"description": "Nette NEON: parser & generator for Nette Object Notation",
"description": "🍸 Nette NEON: encodes and decodes NEON file format.",
"homepage": "http://ne-on.org",
"time": "2017-07-11T18:29:08+00:00"
"keywords": [
"export",
"import",
"neon",
"nette",
"yaml"
],
"time": "2018-03-21T12:12:21+00:00"
},
{
"name": "nette/php-generator",
@@ -6090,16 +6106,16 @@
},
{
"name": "nette/robot-loader",
"version": "v3.0.3",
"version": "v3.0.4",
"source": {
"type": "git",
"url": "https://github.com/nette/robot-loader.git",
"reference": "92d4b40b49d5e2d9e37fc736bbcebe6da55fa44a"
"reference": "3cf88781a05e0bf4618ae605361afcbaa4d5b392"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nette/robot-loader/zipball/92d4b40b49d5e2d9e37fc736bbcebe6da55fa44a",
"reference": "92d4b40b49d5e2d9e37fc736bbcebe6da55fa44a",
"url": "https://api.github.com/repos/nette/robot-loader/zipball/3cf88781a05e0bf4618ae605361afcbaa4d5b392",
"reference": "3cf88781a05e0bf4618ae605361afcbaa4d5b392",
"shasum": ""
},
"require": {
@@ -6151,7 +6167,7 @@
"nette",
"trait"
],
"time": "2017-09-26T13:42:21+00:00"
"time": "2018-06-22T09:34:04+00:00"
},
{
"name": "nette/utils",
@@ -7023,16 +7039,16 @@
},
{
"name": "phpunit/phpunit",
"version": "7.2.4",
"version": "7.2.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "00bc0b93f0ff4f557e9ea766557fde96da9a03dd"
"reference": "400a3836ee549ae6f665323ac3f21e27eac7155f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/00bc0b93f0ff4f557e9ea766557fde96da9a03dd",
"reference": "00bc0b93f0ff4f557e9ea766557fde96da9a03dd",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/400a3836ee549ae6f665323ac3f21e27eac7155f",
"reference": "400a3836ee549ae6f665323ac3f21e27eac7155f",
"shasum": ""
},
"require": {
@@ -7048,7 +7064,7 @@
"php": "^7.1",
"phpspec/prophecy": "^1.7",
"phpunit/php-code-coverage": "^6.0.7",
"phpunit/php-file-iterator": "^2.0",
"phpunit/php-file-iterator": "^2.0.1",
"phpunit/php-text-template": "^1.2.1",
"phpunit/php-timer": "^2.0",
"sebastian/comparator": "^3.0",
@@ -7103,7 +7119,7 @@
"testing",
"xunit"
],
"time": "2018-06-05T03:40:05+00:00"
"time": "2018-06-21T13:13:39+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
@@ -7670,7 +7686,7 @@
},
{
"name": "symfony/class-loader",
"version": "v3.4.11",
"version": "v3.4.12",
"source": {
"type": "git",
"url": "https://github.com/symfony/class-loader.git",

View File

@@ -3,6 +3,10 @@
*
*/
.form-container {
font-weight: normal;
}
.select2-container {
margin-top: 2px;
}

View File

@@ -13,6 +13,7 @@ return [
'pilotreport' => 'Pilot Report|Pilot Reports',
'arrived' => 'Arrived',
'source' => 'Source',
'flightlog' => 'Flight Log',
'filedroute' => 'Filed Route',
'filedon' => 'Filed On',
'fare' => 'Fare|Fares',

View File

@@ -13,6 +13,7 @@ return [
'fare' => 'Tariffa|Tariffe',
'class' => 'Classe',
'count' => 'Numero',
'flightlog' => 'Flight Log',
'flighttime' => 'Tempo di volo',
'flightlevel' => 'Livello di Volo',
'fieldsreadonly' => 'Quando un PIREP viene sottoporre, alcuni cami entrano in modalità di sola lettura.',

View File

@@ -57,9 +57,11 @@ function phpvms_vacentral_airport_lookup(icao, callback) {
url: '{{ url('/api/airports/') }}/' + icao + '/lookup',
};
axios(params).then(response => {
callback(response.data);
});
axios(params)
.then(response => {
console.log(response);
callback(response.data);
});
}
$(document).ready(function() {

View File

@@ -15,9 +15,13 @@
</td>
<td>
<div class="form-group">
{{ Form::text($field->slug, null, [
'class' => 'form-control'
]) }}
@if(!$field->read_only)
{{ Form::text($field->slug, $field->value, [
'class' => 'form-control'
]) }}
@else
<p>{{ $field->value }}</p>
@endif
</div>
<p class="text-danger">{{ $errors->first($field->slug) }}</p>
</td>

View File

@@ -108,7 +108,8 @@
<div class="form-group col-sm-3">
{{ Form::label('dpt_airport_id', 'Departure Airport:') }}
@if($pirep->read_only)
<p>{{ $pirep->dpt_airport->id }} - {{ $pirep->dpt_airport->name }}</p>
<p>{{ $pirep->dpt_airport_id }}@if($pirep->dpt_airport->name) - {{ $pirep->dpt_airport->name }}@endif
</p>
{{ Form::hidden('dpt_airport_id') }}
@else
{{ Form::select('dpt_airport_id', $airports_list, null, [
@@ -121,7 +122,8 @@
<div class="form-group col-sm-3">
{{ Form::label('arr_airport_id', 'Arrival Airport:') }}
@if($pirep->read_only)
<p>{{ $pirep->arr_airport->id }} - {{ $pirep->arr_airport->name }}</p>
<p>{{ $pirep->arr_airport->id }}@if($pirep->arr_airport->name) - {{ $pirep->arr_airport->name }}@endif
</p>
{{ Form::hidden('arr_airport_id') }}
@else
{{ Form::select('arr_airport_id', $airports_list, null, ['class' => 'form-control select2']) }}

View File

@@ -28,9 +28,9 @@
<div>
<span class="description">
<b>DEP</b>&nbsp;
{{ $pirep->dpt_airport->icao }}&nbsp;
{{ $pirep->dpt_airport_id }}&nbsp;
<b>ARR</b>&nbsp;
{{ $pirep->arr_airport->icao }}&nbsp;
{{ $pirep->arr_airport_id }}&nbsp;
</span>
</div>
<div>

View File

@@ -0,0 +1,21 @@
<tr>
<td>
{{ $field->name }}
@if($field->required === true)
<span class="text-danger">*</span>
@endif
</td>
<td>
<div class="input-group input-group-sm form-group">
@if(!$field->read_only)
{{ Form::text($field->slug, $field->value, [
'class' => 'form-control',
'readonly' => (!empty($pirep) && $pirep->read_only),
]) }}
@else
{{ $field->value }}
@endif
</div>
<p class="text-danger">{{ $errors->first($field->slug) }}</p>
</td>
</tr>

View File

@@ -4,7 +4,7 @@
&nbsp;{{ trans_choice('pireps.fare', 2) }}
</h6>
<div class="form-container-body">
@foreach($aircraft->subfleet->fares as $fare)
@foreach($pirep->aircraft->subfleet->fares as $fare)
<div class="row">
<div class="col">
{{Form::label('fare_'.$fare->id, $fare->name.' ('.$fare->code.')')}}

View File

@@ -276,36 +276,16 @@ flight reports that have been filed. You've been warned!
&nbsp;{{ trans_choice('common.field', 2) }}
</h6>
<div class="form-container-body">
{{--
Write out the custom fields, and label if they're required
--}}
@foreach($pirep_fields as $field)
<tr>
<td>
{{ $field->name }}
@if($field->required === true)
<span class="text-danger">*</span>
@endif
</td>
<td>
<div class="input-group input-group-sm form-group">
{{ Form::text($field->slug, null, [
'class' => 'form-control',
'readonly' => (!empty($pirep) && $pirep->read_only),
]) }}
</div>
<p class="text-danger">{{ $errors->first($field->slug) }}</p>
</td>
</tr>
@endforeach
@each('pireps.custom_fields', $pirep->fields, 'field')
</div>
</div>
<div id="fares_container">
@include('pireps.fares')
</div>
</div>
</div>
<div class="row">

View File

@@ -3,9 +3,7 @@
<div class="row">
<div class="col-12">
<p class="float-right">
<a href="{{ route('frontend.pireps.edit', [
'id' => $pirep->id,
]) }}" class="btn btn-sm btn-info">@lang('common.edit') }}</a>
<a href="{{ route('frontend.pireps.edit', ['id' => $pirep->id]) }}" class="btn btn-sm btn-info">@lang('common.edit')</a>
</p>
<h5>
<a href="{{ route('frontend.pireps.show', [$pirep->id]) }}">

View File

@@ -22,16 +22,12 @@
$pirep->id]) }}">{{ $pirep->airline->code }}{{ $pirep->ident }}</a>
</td>
<td>
{{ $pirep->dpt_airport->name }}
(<a href="{{route('frontend.airports.show', [
'id' => $pirep->dpt_airport->icao
])}}">{{$pirep->dpt_airport->icao}}</a>)
@if($pirep->dpt_airport){{ $pirep->dpt_airport->name }}@endif
(<a href="{{route('frontend.airports.show', ['id' => $pirep->dpt_airport_id])}}">{{$pirep->dpt_airport_id}}</a>)
</td>
<td>
{{ $pirep->arr_airport->name }}
(<a href="{{route('frontend.airports.show', [
'id' => $pirep->arr_airport->icao
])}}">{{$pirep->arr_airport->icao}}</a>)
@if($pirep->arr_airport){{ $pirep->arr_airport->name }}@endif
(<a href="{{route('frontend.airports.show', ['id' => $pirep->arr_airport_id])}}">{{$pirep->arr_airport_id}}</a>)
</td>
<td>
@if($pirep->aircraft)

View File

@@ -226,7 +226,7 @@ class AcarsTest extends TestCase
$this->assertEquals($fare->capacity, $saved_fare['count']);
# Check saved fields
$saved_fields = \App\Models\PirepFieldValues::where('pirep_id', $pirep['id'])->get();
$saved_fields = \App\Models\PirepFieldValue::where('pirep_id', $pirep['id'])->get();
$this->assertCount(1, $saved_fields);
$field = $saved_fields->first();

View File

@@ -1,4 +1,4 @@
icao,iata,name,location,country,timezone,hub,lat,lon
KAUS,AUS,Austin-Bergstrom,"Austin, Texas, USA", United States,America/Chicago,1,30.1945,-97.6699
KSFO,SFO,San Francisco,"San Francisco, California, USA", United States,America/California,"1",30.1945,-97.6699
KJFK,JFK,Kennedy,"Queens, New York, USA", United States,America/New_York,0,30.1945,abcd
icao,iata,name,location,country,timezone,hub,lat,lon,ground_handling_cost,fuel_100ll_cost,fuel_jeta_cost,fuel_mogas_cost
KAUS,AUS,Austin-Bergstrom,"Austin, Texas, USA", United States,America/Chicago,1,30.1945,-97.6699,,,,
KSFO,SFO,San Francisco,"San Francisco, California, USA", United States,America/California,"1",30.1945,-97.6699,,,,
KJFK,JFK,Kennedy,"Queens, New York, USA", United States,America/New_York,0,30.1945,abcd,,,,
1 icao iata name location country timezone hub lat lon ground_handling_cost fuel_100ll_cost fuel_jeta_cost fuel_mogas_cost
2 KAUS AUS Austin-Bergstrom Austin, Texas, USA United States America/Chicago 1 30.1945 -97.6699
3 KSFO SFO San Francisco San Francisco, California, USA United States America/California 1 30.1945 -97.6699
4 KJFK JFK Kennedy Queens, New York, USA United States America/New_York 0 30.1945 abcd