| 123456789101112131415161718192021222324252627282930313233 |
- <?php
- declare(strict_types=1);
- namespace App\Service\Utils;
- use App\Annotation\OrganizationDefaultValue;
- use App\Entity\Access\Access;
- /**
- * Class EntityUtils : Gestion des valeurs par défauts devant être présentes dans les entités.
- * @package App\Service\Utils
- */
- class EntityUtils
- {
- public function defaultValueSettersByAccess($entity, Access $access)
- {
- $this->organizationDefaultValue($entity, $access);
- }
- /**
- * @param $entity
- * @throws \ReflectionException
- */
- private function organizationDefaultValue($entity, Access $access)
- {
- $reflection = new \ReflectionClass($entity::class);
- $organizationFaultValue = $reflection->getAttributes(OrganizationDefaultValue::class)[0] ?? null;
- $fieldName = $organizationFaultValue?->getArguments()['fieldName'] ?? null;
- if($fieldName){
- $entity->{sprintf('set%s', ucfirst($fieldName))}(...[$access->getOrganization()]);
- }
- }
- }
|