Fix flight duplicate detection in add/edit/import; fix active checkbox

This commit is contained in:
Nabeel Shahzad
2018-04-25 11:53:32 -05:00
parent fb6d5a6a0a
commit 531e86f5e7
7 changed files with 117 additions and 34 deletions

View File

@@ -100,6 +100,43 @@ class FlightService extends Service
return $flight;
}
/**
* Check if this flight has a duplicate already
* @param Flight $flight
* @return bool
*/
public function isFlightDuplicate(Flight $flight)
{
$where = [
['id', '<>', $flight->id],
'airline_id' => $flight->airline_id,
'flight_number' => $flight->flight_number,
];
$found_flights = $this->flightRepo->findWhere($where);
if($found_flights->count() === 0) {
return false;
}
// Find within all the flights with the same flight number
// Return any flights that have the same route code and leg
// If this list is > 0, then this has a duplicate
$found_flights = $found_flights->filter(function($value, $key) use ($flight) {
if($flight->route_code === $value->route_code
&& $flight->route_leg === $value->route_leg) {
return true;
}
return false;
});
if($found_flights->count() === 0) {
return false;
}
return true;
}
/**
* Delete a flight, and all the user bids, etc associated with it
* @param Flight $flight