/**
  * Create service
  *
  * @param ServiceLocatorInterface $serviceLocator
  *
  * @return mixed
  */
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     $auth = $serviceLocator->get('AuthenticationService');
     $user = $auth->getUser();
     $settings = $user->getSettings('Orders');
     $invoiceAddress = $settings->getInvoiceAddress();
     if (!$invoiceAddress->getCompany()) {
         $invoiceAddress = false;
         $org = $user->getOrganization();
         if ($org->isEmployee()) {
             $orgUser = $org->isHiringOrganization() ? $org->getParent()->getUser() : $org->getUser();
             $invoiceAddress = $orgUser->getSettings('Orders')->getInvoiceAddress();
             if (!$invoiceAddress->getCompany()) {
                 $invoiceAddress = false;
             }
         }
     }
     $entity = new InvoiceAddress();
     if ($invoiceAddress) {
         $entityHydrator = new EntityHydrator();
         $settingsHydrator = new SettingsEntityHydrator();
         $data = $settingsHydrator->extract($invoiceAddress);
         $entity = $entityHydrator->hydrate($data, $entity);
     }
     return $entity;
 }
Пример #2
0
 /**
  * Inherit data from an {@link UserInfoInterface}.
  *
  * Copies the user image to an application attachment.
  * @param InfoInterface $info
  * @return $this
  */
 public function inherit(InfoInterface $info)
 {
     $hydrator = new EntityHydrator();
     $imageStrategy = new FileCopyStrategy(new Attachment());
     $hydrator->addStrategy('image', $imageStrategy);
     $data = $hydrator->extract($info);
     $hydrator->hydrate($data, $this);
     return $this;
 }
Пример #3
0
 public function hydrate(array $data, $object)
 {
     $object = parent::hydrate($data, $object);
     $this->hydrateValue('descriptiondescription', $data, $object);
     $this->hydrateValue('descriptionrequirements', $data, $object);
     $this->hydrateValue('descriptionbenefits', $data, $object);
     $this->hydrateValue('descriptionqualifications', $data, $object);
     $this->hydrateValue('descriptiontitle', $data, $object);
     return $object;
 }
 public function hydrate(array $data, $object)
 {
     /** @var Entity\Job $object */
     $object = parent::hydrate($data, $object);
     /** @var Organization $organization */
     if ($organization = $this->organizationRepository->find($data['companyId'])) {
         $object->setOrganization($organization);
     } else {
         $object->setOrganization(null);
     }
     return $object;
 }
 public function hydrate(array $data, $object)
 {
     $object = parent::hydrate($data, $object);
     /* @var \Organizations\Entity\Template  $template */
     $template = $object->getOrganization()->getTemplate();
     if (isset($data['description-label-requirements'])) {
         $template->setLabelRequirements($data['description-label-requirements']);
     }
     if (isset($data['description-label-qualifications'])) {
         $template->setLabelQualifications($data['description-label-qualifications']);
     }
     if (isset($data['description-label-benefits'])) {
         $template->setLabelBenefits($data['description-label-benefits']);
     }
     return $object;
 }
Пример #6
0
 public function hydrate(array $data, $object)
 {
     $object = parent::hydrate($data, $object);
     return $object;
 }
 public function getInvoiceAddressEntity()
 {
     $hydrator = new EntityHydrator();
     $data = $this->getSettings();
     $entity = $hydrator->hydrate($data, new InvoiceAddress());
     return $entity;
 }
Пример #8
0
 /**
  * Hydrate a TemplateValues entity with the provided $data including the configured FreeValues.
  *
  * @param  array          $data
  * @param  TemplateValues $object
  *
  * @return TemplateValues
  */
 public function hydrate(array $data, $object)
 {
     parent::hydrate($data, $object);
     foreach ($this->getFreeValuesKeys() as $key) {
         if (isset($data[$key])) {
             $object->set($key, $data[$key]);
         }
     }
     return $object;
 }