Fix flight page errors and some naming fixes
This commit is contained in:
@@ -6,7 +6,7 @@ namespace App\Models\Enums;
|
||||
* Class AcarsType
|
||||
* @package App\Models\Enums
|
||||
*/
|
||||
class AcarsType extends EnumBase
|
||||
class AcarsType extends Enum
|
||||
{
|
||||
public const FLIGHT_PATH = 0;
|
||||
public const ROUTE = 1;
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace App\Models\Enums;
|
||||
* Class ActiveState
|
||||
* @package App\Models\Enums
|
||||
*/
|
||||
class ActiveState extends EnumBase
|
||||
class ActiveState extends Enum
|
||||
{
|
||||
public const INACTIVE = 0;
|
||||
public const ACTIVE = 1;
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace App\Models\Enums;
|
||||
* Class AircraftState
|
||||
* @package App\Models\Enums
|
||||
*/
|
||||
class AircraftState extends EnumBase
|
||||
class AircraftState extends Enum
|
||||
{
|
||||
public const PARKED = 0;
|
||||
public const IN_USE = 1;
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace App\Models\Enums;
|
||||
* Class AircraftState
|
||||
* @package App\Models\Enums
|
||||
*/
|
||||
class AircraftStatus extends EnumBase
|
||||
class AircraftStatus extends Enum
|
||||
{
|
||||
public const STORED = 0;
|
||||
public const ACTIVE = 1;
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace App\Models\Enums;
|
||||
* Class Days
|
||||
* @package App\Models\Enums
|
||||
*/
|
||||
class Days extends EnumBase {
|
||||
class Days extends Enum {
|
||||
|
||||
public const MONDAY = 1 << 0;
|
||||
public const TUESDAY = 1 << 1;
|
||||
|
||||
89
app/Models/Enums/Enum.php
Normal file
89
app/Models/Enums/Enum.php
Normal file
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Enums;
|
||||
|
||||
/**
|
||||
* Class EnumBase
|
||||
* @package App\Models\Enums
|
||||
*/
|
||||
abstract class Enum
|
||||
{
|
||||
protected static $labels = [];
|
||||
protected static $cache = [];
|
||||
|
||||
/**
|
||||
* Return the label, try to return the translated version as well
|
||||
* @param $value
|
||||
* @return mixed
|
||||
*/
|
||||
public static function label($value) {
|
||||
if(isset(static::$labels[$value])) {
|
||||
return trans(static::$labels[$value]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return all of the (translated) labels
|
||||
*/
|
||||
public static function labels()
|
||||
{
|
||||
$labels = [];
|
||||
foreach(static::$labels as $key => $label) {
|
||||
$labels[$key] = trans($label);
|
||||
}
|
||||
|
||||
return $labels;
|
||||
}
|
||||
|
||||
/**
|
||||
* Select box
|
||||
*/
|
||||
public static function select($add_blank=false)
|
||||
{
|
||||
$labels = [];
|
||||
if($add_blank) {
|
||||
$labels[] = '';
|
||||
}
|
||||
|
||||
foreach (static::$labels as $key => $label) {
|
||||
$labels[$key] = trans($label);
|
||||
}
|
||||
|
||||
return $labels;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all possible values as an array
|
||||
* @return array Constant name in key, constant value in value
|
||||
* @throws \ReflectionException
|
||||
*/
|
||||
public static function toArray()
|
||||
{
|
||||
$class = get_called_class();
|
||||
if (!array_key_exists($class, static::$cache)) {
|
||||
$reflection = new \ReflectionClass($class);
|
||||
static::$cache[$class] = $reflection->getConstants();
|
||||
}
|
||||
|
||||
return static::$cache[$class];
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a value when called statically like so: MyEnum::SOME_VALUE() given SOME_VALUE is a class constant
|
||||
* @param string $name
|
||||
* @param array $arguments
|
||||
* @return static
|
||||
* @throws \BadMethodCallException
|
||||
* @throws \ReflectionException
|
||||
*/
|
||||
public static function __callStatic($name, $arguments)
|
||||
{
|
||||
$array = static::toArray();
|
||||
if (isset($array[$name])) {
|
||||
return new static($array[$name]);
|
||||
}
|
||||
throw new \BadMethodCallException(
|
||||
"No static method or enum constant '$name' in class ".get_called_class()
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Enums;
|
||||
|
||||
/**
|
||||
* Class EnumBase
|
||||
* @package App\Models\Enums
|
||||
*/
|
||||
class EnumBase
|
||||
{
|
||||
protected static $labels = [];
|
||||
|
||||
/**
|
||||
* Return the label, try to return the translated version as well
|
||||
* @param $value
|
||||
* @return mixed
|
||||
*/
|
||||
public static function label($value) {
|
||||
if(isset(static::$labels[$value])) {
|
||||
return trans(static::$labels[$value]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return all of the (translated) labels
|
||||
*/
|
||||
public static function labels()
|
||||
{
|
||||
$labels = [];
|
||||
foreach(static::$labels as $key => $label) {
|
||||
$labels[$key] = trans($label);
|
||||
}
|
||||
|
||||
return $labels;
|
||||
}
|
||||
|
||||
/**
|
||||
* Select box
|
||||
*/
|
||||
public static function select($add_blank=false)
|
||||
{
|
||||
$labels = [];
|
||||
if($add_blank) {
|
||||
$labels[] = '';
|
||||
}
|
||||
|
||||
foreach (static::$labels as $key => $label) {
|
||||
$labels[$key] = trans($label);
|
||||
}
|
||||
|
||||
return $labels;
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@ namespace App\Models\Enums;
|
||||
* Class ExpenseType
|
||||
* @package App\Models\Enums
|
||||
*/
|
||||
class ExpenseType extends EnumBase {
|
||||
class ExpenseType extends Enum {
|
||||
|
||||
public const FLIGHT = 0;
|
||||
public const DAILY = 1;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
namespace App\Models\Enums;
|
||||
|
||||
|
||||
class FlightType extends EnumBase {
|
||||
class FlightType extends Enum {
|
||||
|
||||
public const PASSENGER = 0;
|
||||
public const CARGO = 1;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Models\Enums;
|
||||
|
||||
class FuelType extends EnumBase {
|
||||
class FuelType extends Enum {
|
||||
|
||||
public const LOW_LEAD = 0;
|
||||
public const JET_A = 1;
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace App\Models\Enums;
|
||||
* Class AcarsType
|
||||
* @package App\Models\Enums
|
||||
*/
|
||||
class JournalType extends EnumBase
|
||||
class JournalType extends Enum
|
||||
{
|
||||
public const AIRLINE = 0;
|
||||
public const USER = 1;
|
||||
|
||||
@@ -11,7 +11,7 @@ namespace App\Models\Enums;
|
||||
* https://github.com/skiselkov/openfmc/blob/master/airac.h
|
||||
* @package App\Models\Enums
|
||||
*/
|
||||
class NavaidType extends EnumBase
|
||||
class NavaidType extends Enum
|
||||
{
|
||||
public const VOR = 1 << 0;
|
||||
public const VOR_DME = 1 << 1;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Models\Enums;
|
||||
|
||||
class PirepSource extends EnumBase
|
||||
class PirepSource extends Enum
|
||||
{
|
||||
public const MANUAL = 0;
|
||||
public const ACARS = 1;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Models\Enums;
|
||||
|
||||
class PirepState extends EnumBase {
|
||||
class PirepState extends Enum {
|
||||
|
||||
public const REJECTED = -1;
|
||||
public const IN_PROGRESS = 0; // flight is ongoing
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace App\Models\Enums;
|
||||
* Class PirepStatus
|
||||
* @package App\Models\Enums
|
||||
*/
|
||||
class PirepStatus extends EnumBase
|
||||
class PirepStatus extends Enum
|
||||
{
|
||||
public const PREFILE = 0;
|
||||
public const SCHEDULED = 0;
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
namespace App\Models\Enums;
|
||||
|
||||
class UserState extends EnumBase
|
||||
class UserState extends Enum
|
||||
{
|
||||
public const PENDING = 0;
|
||||
public const ACTIVE = 1;
|
||||
|
||||
Reference in New Issue
Block a user