From 65015cbce2c6ac0b4b8ab3b110020498b9fe27c6 Mon Sep 17 00:00:00 2001 From: "B.Fatih KOZ" <74361521+FatihKoz@users.noreply.github.com> Date: Mon, 22 Mar 2021 17:55:33 +0300 Subject: [PATCH] Move SimBrief aircraft selection to Controller (#1093) * Move SimBrief aircraft selection to Controller Instead of passing subfleets to blade (and doing two foreach loops and ifs to populate the dropdown), we are building a proper aircraft list here. Did not removed $subfleets from data being passed to blade on purpose, it may be removed later on. * Style Fix * Update aircraft selection blade to use $aircrafts * Order generated Aircrafts collection First ICAO then Registration * Add privatized name setting for simbrief To prevent possible privacy issues according to latest regulations. * Add privatized name to SimBrief form It is controlled with a setting, if not enabled we will not pass any names to SimBrief via API (this will result users SimBrief membership name being used at the OFP as before) --- app/Database/seeds/settings.yml | 7 ++++++ .../Frontend/SimBriefController.php | 22 +++++++++++++++++++ .../flights/simbrief_aircraft.blade.php | 8 ++----- .../default/flights/simbrief_form.blade.php | 3 +++ 4 files changed, 34 insertions(+), 6 deletions(-) diff --git a/app/Database/seeds/settings.yml b/app/Database/seeds/settings.yml index b2ba8910..066936c5 100644 --- a/app/Database/seeds/settings.yml +++ b/app/Database/seeds/settings.yml @@ -235,6 +235,13 @@ options: '' type: boolean description: 'Use pilot ident as Simbrief ATC Callsign' +- key: simbrief.name_private + name: 'Use Privatized Name at OFPs' + group: simbrief + value: false + options: '' + type: boolean + description: 'Use privatized user name as SimBrief OFP captain name' - key: pireps.duplicate_check_time name: 'PIREP duplicate time check' group: pireps diff --git a/app/Http/Controllers/Frontend/SimBriefController.php b/app/Http/Controllers/Frontend/SimBriefController.php index 8d10d8ab..766a2bc5 100644 --- a/app/Http/Controllers/Frontend/SimBriefController.php +++ b/app/Http/Controllers/Frontend/SimBriefController.php @@ -77,8 +77,30 @@ class SimBriefController $subfleets = $this->userSvc->getAllowableSubfleets($user); } + // Build an array of subfleet id's from the subfleets collection + $sf_ids = $subfleets->map(function ($subfleets) { + return collect($subfleets->toArray()) + ->only(['id']) + ->all(); + }); + + // Now we can build a proper aircrafts collection + // Contents will be either members of flight->subfleets + // or members of user's allowable subfleets + $aircrafts = Aircraft::whereIn('subfleet_id', $sf_ids) + ->where('state', AircraftState::PARKED) + ->where('status', AircraftStatus::ACTIVE) + ->orderby('icao') + ->orderby('registration') + ->get(); + + if (setting('pireps.only_aircraft_at_dpt_airport')) { + $aircrafts = $aircrafts->where('airport_id', $flight->dpt_airport_id); + } + return view('flights.simbrief_aircraft', [ 'flight' => $flight, + 'aircrafts' => $aircrafts, 'subfleets' => $subfleets, ]); } diff --git a/resources/views/layouts/default/flights/simbrief_aircraft.blade.php b/resources/views/layouts/default/flights/simbrief_aircraft.blade.php index b4bb9045..9c9c7e51 100644 --- a/resources/views/layouts/default/flights/simbrief_aircraft.blade.php +++ b/resources/views/layouts/default/flights/simbrief_aircraft.blade.php @@ -12,13 +12,9 @@
diff --git a/resources/views/layouts/default/flights/simbrief_form.blade.php b/resources/views/layouts/default/flights/simbrief_form.blade.php index 1987bbce..b0c170ef 100644 --- a/resources/views/layouts/default/flights/simbrief_form.blade.php +++ b/resources/views/layouts/default/flights/simbrief_form.blade.php @@ -144,6 +144,9 @@ @if(setting('simbrief.callsign', true)) @endif + @if(setting('simbrief.name_private', true)) + + @endif