<?php
namespace AdminBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* ChangeRequests
*/
#[ORM\Table(name: 'change_requests')]
#[ORM\Entity(repositoryClass: \AdminBundle\Repository\ChangeRequestsRepository::class)]
class ChangeRequests extends BaseEntity
{
const PURPOSE_PROFILE_PICTURE = 1;
const PURPOSE_PCO_LICENSE = 2;
const PURPOSE_DRIVING_LICENSE = 3;
const PURPOSE_NINO = 4;
const PURPOSE_DBS_CRIMINAL_CHECK = 5;
const PURPOSE_DRIVER_AGREEMENT = 6;
const PURPOSE_OTHER_DOCUMENT = 7;
const PURPOSE_VEHICLE_PHV_LICENSE = 8;
const PURPOSE_VEHICLE_V5LOG_BOOK = 9;
const PURPOSE_VEHICLE_MOT_CHECK = 10;
const PURPOSE_VEHICLE_INSURANCE = 11;
const PURPOSE_VEHICLE_OTHER_DOCUMENT = 12;
const PURPOSE_HACK_LICENSE_FOR_HIRE = 13;
const PURPOSE_PROOF_OF_RIGHT_TO_WORK = 14;
const PURPOSE_VEHICLE_LIMO_LICENSE_FOR_HIRE = 15;
const PURPOSE_VEHICLE_CAR_REGISTRATION_CERTIFICATE = 16;
const PURPOSE_VEHICLE_INSPECTION_CERTIFICATE = 17;
public static $purposeList = [
self::PURPOSE_PROFILE_PICTURE => 'PROFILE_PICTURE',
self::PURPOSE_PCO_LICENSE => 'PCO_LICENSE',
self::PURPOSE_DRIVING_LICENSE => 'DRIVING_LICENSE',
self::PURPOSE_NINO => 'NINO',
self::PURPOSE_DBS_CRIMINAL_CHECK => 'DBS_CRIMINAL_CHECK',
self::PURPOSE_DRIVER_AGREEMENT => 'DRIVER_AGREEMENT',
self::PURPOSE_OTHER_DOCUMENT => 'OTHER_DOCUMENT',
self::PURPOSE_VEHICLE_PHV_LICENSE => 'VEHICLE_PHV_LICENSE',
self::PURPOSE_VEHICLE_V5LOG_BOOK => 'VEHICLE_V5LOG_BOOK',
self::PURPOSE_VEHICLE_MOT_CHECK => 'VEHICLE_MOT_CHECK',
self::PURPOSE_VEHICLE_INSURANCE => 'VEHICLE_INSURANCE',
self::PURPOSE_VEHICLE_OTHER_DOCUMENT => 'VEHICLE_OTHER_DOCUMENT',
self::PURPOSE_HACK_LICENSE_FOR_HIRE => 'HACK_LICENSE_FOR_HIRE',
self::PURPOSE_PROOF_OF_RIGHT_TO_WORK => 'PROOF_OF_RIGHT_TO_WORK',
self::PURPOSE_VEHICLE_LIMO_LICENSE_FOR_HIRE => 'VEHICLE_LIMO_LICENSE_FOR_HIRE',
self::PURPOSE_VEHICLE_CAR_REGISTRATION_CERTIFICATE => 'VEHICLE_CAR_REGISTRATION_CERTIFICATE',
self::PURPOSE_VEHICLE_INSPECTION_CERTIFICATE => 'VEHICLE_INSPECTION_CERTIFICATE',
];
const STATUS_PENDING = 1;
const STATUS_APPROVED = 2;
const STATUS_DECLINED = 3;
const STATUS_CANCELED = 4;
public static $statusList = [
self::STATUS_PENDING => 'PENDING APPROVAL',
self::STATUS_APPROVED => 'APPROVED',
self::STATUS_DECLINED => 'DECLINED',
self::STATUS_CANCELED => 'CANCELED',
];
const TYPE_FILE = 1;
const TYPE_STRING = 2;
public static $typeList = [
self::TYPE_FILE => 'FILE',
self::TYPE_STRING => 'STRING',
];
/**
* @var integer
*/
#[ORM\Column(name: 'id', type: 'integer', nullable: false)]
#[ORM\Id]
#[ORM\GeneratedValue(strategy: 'IDENTITY')]
protected $id;
/**
* @var \DateTime
*/
#[ORM\Column(name: 'create_date', type: 'datetime')]
protected $createDate;
/**
* @var string
*/
#[ORM\Column(name: 'purpose', type: 'integer')]
protected $purpose;
/**
* @var string
*/
#[ORM\Column(name: 'value', type: 'string', length: 255)]
protected $value;
/**
* @var string
*/
#[ORM\Column(name: '`class`', type: 'string', length: 255)]
protected $class;
/**
* @var string
*/
#[ORM\Column(name: 'type', type: 'integer')]
protected $type;
/**
* @var string
*/
#[ORM\Column(name: 'destination_id', type: 'integer', nullable: true)]
protected $destinationId;
/**
* @var string
*/
#[ORM\Column(name: 'destination_path', type: 'string', length: 255)]
protected $destinationPath;
/**
* @var string
*/
#[ORM\Column(name: 'origin_path', type: 'string', length: 255)]
protected $originPath;
/**
* @var string
*/
#[ORM\Column(name: 'web_path', type: 'string', length: 255)]
protected $webPath;
/**
* @var string
*/
#[ORM\Column(name: 'setter_field', type: 'string', length: 255)]
protected $setterField;
/**
* @var string
*/
#[ORM\Column(name: 'status', type: 'integer')]
protected $status = self::STATUS_PENDING;
/**
* @var Driver
*/
#[ORM\JoinColumn(name: 'from_user_id', referencedColumnName: 'id')]
#[ORM\ManyToOne(targetEntity: \AdminBundle\Entity\User::class, inversedBy: 'changeRequests')]
protected $fromUser;
/**
* @return int
*/
public function getId()
{
return $this->id;
}
public static function getPurposeFromString($purpose)
{
switch ($purpose) {
case 'PURPOSE_PROFILE_PICTURE':return self::PURPOSE_PROFILE_PICTURE;
break;
case 'PURPOSE_PCO_LICENSE':return self::PURPOSE_PCO_LICENSE;
break;
case 'PURPOSE_DRIVING_LICENSE':return self::PURPOSE_DRIVING_LICENSE;
break;
case 'PURPOSE_NINO':return self::PURPOSE_NINO;
break;
case 'PURPOSE_DBS_CRIMINAL_CHECK':return self::PURPOSE_DBS_CRIMINAL_CHECK;
break;
case 'PURPOSE_DRIVER_AGREEMENT':return self::PURPOSE_DRIVER_AGREEMENT;
break;
case 'PURPOSE_OTHER_DOCUMENT':return self::PURPOSE_OTHER_DOCUMENT;
break;
case 'PURPOSE_VEHICLE_PHV_LICENSE':return self::PURPOSE_VEHICLE_PHV_LICENSE;
case 'PURPOSE_VEHICLE_V5LOG_BOOK':return self::PURPOSE_VEHICLE_V5LOG_BOOK;
case 'PURPOSE_VEHICLE_MOT_CHECK':return self::PURPOSE_VEHICLE_MOT_CHECK;
case 'PURPOSE_VEHICLE_INSURANCE':return self::PURPOSE_VEHICLE_INSURANCE;
case 'PURPOSE_VEHICLE_OTHER_DOCUMENT':return self::PURPOSE_VEHICLE_OTHER_DOCUMENT;
case 'PURPOSE_HACK_LICENSE_FOR_HIRE':return self::PURPOSE_HACK_LICENSE_FOR_HIRE;
case 'PURPOSE_PROOF_OF_RIGHT_TO_WORK':return self::PURPOSE_PROOF_OF_RIGHT_TO_WORK;
case 'PURPOSE_VEHICLE_LIMO_LICENSE_FOR_HIRE':return self::PURPOSE_VEHICLE_LIMO_LICENSE_FOR_HIRE;
case 'PURPOSE_VEHICLE_CAR_REGISTRATION_CERTIFICATE':return self::PURPOSE_VEHICLE_CAR_REGISTRATION_CERTIFICATE;
case 'PURPOSE_VEHICLE_INSPECTION_CERTIFICATE':return self::PURPOSE_VEHICLE_INSPECTION_CERTIFICATE;
default:return null;
break;
}
}
public static function getStaticStringPurpose($purpose)
{
return self::$purposeList[$purpose];
}
public function getStringStatus($status)
{
return self::$statusList[$status];
}
public function getStringPurpose($purpose)
{
return self::$purposeList[$purpose];
}
public function getStringType($type)
{
return self::$typeList[$type];
}
/**
* Set createDate
*
* @param \DateTime $createDate
*
* @return ChangeRequests
*/
public function setCreateDate($createDate)
{
$this->createDate = $createDate;
return $this;
}
/**
* Get createDate
*
* @return \DateTime
*/
public function getCreateDate()
{
return $this->createDate;
}
/**
* Set purpose
*
* @param integer $purpose
*
* @return ChangeRequests
*/
public function setPurpose($purpose)
{
$this->purpose = $purpose;
return $this;
}
/**
* Get purpose
*
* @return integer
*/
public function getPurpose()
{
return $this->purpose;
}
/**
* Set value
*
* @param string $value
*
* @return ChangeRequests
*/
public function setValue($value)
{
$this->value = $value;
return $this;
}
/**
* Get value
*
* @return string
*/
public function getValue()
{
return $this->value;
}
/**
* Set class
*
* @param string $class
*
* @return ChangeRequests
*/
public function setClass($class)
{
$this->class = $class;
return $this;
}
/**
* Get class
*
* @return string
*/
public function getClass()
{
return $this->class;
}
/**
* @return integer
*/
public function getType()
{
return $this->type;
}
/**
* @param integer $type
*/
public function setType($type)
{
$this->type = $type;
}
/**
* Set destination
*
* @param integer $destination
*
* @return ChangeRequests
*/
public function setDestination($destination)
{
$this->destination = $destination;
return $this;
}
/**
* Get destination
*
* @return integer
*/
public function getDestination()
{
return $this->destination;
}
/**
* Set status
*
* @param integer $status
*
* @return ChangeRequests
*/
public function setStatus($status)
{
$this->status = $status;
return $this;
}
/**
* Get status
*
* @return integer
*/
public function getStatus()
{
return $this->status;
}
/**
* Set fromUser
*
* @param \AdminBundle\Entity\User $fromUser
*
* @return ChangeRequests
*/
public function setFromUser(\AdminBundle\Entity\User $fromUser = null)
{
$this->fromUser = $fromUser;
return $this;
}
/**
* Get fromUser
*
* @return \AdminBundle\Entity\User
*/
public function getFromUser()
{
return $this->fromUser;
}
/**
* @return string
*/
public function getDestinationId()
{
return $this->destinationId;
}
/**
* @param string $destinationId
*/
public function setDestinationId($destinationId)
{
$this->destinationId = $destinationId;
}
/**
* @return string
*/
public function getDestinationPath()
{
return $this->destinationPath;
}
/**
* @param string $destinationPath
*/
public function setDestinationPath($destinationPath)
{
$this->destinationPath = $destinationPath;
}
/**
* @return string
*/
public function getOriginPath()
{
return $this->originPath;
}
/**
* @param string $originPath
*/
public function setOriginPath($originPath)
{
$this->originPath = $originPath;
}
/**
* @return string
*/
public function getWebPath()
{
return $this->webPath;
}
/**
* @param string $webPath
*/
public function setWebPath($webPath)
{
$this->webPath = $webPath;
}
/**
* @return string
*/
public function getSetterField()
{
return $this->setterField;
}
/**
* @param string $setterField
*/
public function setSetterField($setterField)
{
$this->setterField = $setterField;
}
}