Spaces:
No application file
No application file
namespace Mautic\LeadBundle\Form\DataTransformer; | |
use Mautic\LeadBundle\Entity\LeadField; | |
use Mautic\LeadBundle\Entity\LeadFieldRepository; | |
use Symfony\Component\Form\DataTransformerInterface; | |
/** | |
* @implements DataTransformerInterface<LeadField|null, int|null> | |
*/ | |
class FieldToOrderTransformer implements DataTransformerInterface | |
{ | |
public function __construct( | |
private LeadFieldRepository $leadFieldRepository | |
) { | |
} | |
/** | |
* Transforms an object to an integer (order). | |
* | |
* @param int|null $order | |
* | |
* @return LeadField|null | |
*/ | |
public function transform($order) | |
{ | |
if (!$order) { | |
return null; | |
} | |
return $this->leadFieldRepository->findOneBy(['order' => $order]); | |
} | |
/** | |
* Transforms a integer to an object. | |
* | |
* @param LeadField|null $field | |
* | |
* @return int|null | |
*/ | |
public function reverseTransform($field) | |
{ | |
if (null === $field) { | |
return null; | |
} | |
return $field->getOrder(); | |
} | |
} | |