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)
This commit is contained in:
@@ -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,
|
||||
]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user