/** * {@inheritDoc} */ protected function getPreparedItem($entity, $resultFields = []) { // convert addresses to plain array $addressTypesData = []; /** @var $entity AbstractTypedAddress */ foreach ($entity->getTypes() as $addressType) { $addressTypesData[] = parent::getPreparedItem($addressType); } $result = parent::getPreparedItem($entity); $result['types'] = $addressTypesData; $result['countryIso2'] = $entity->getCountry()->getIso2Code(); $result['countryIso3'] = $entity->getCountry()->getIso3Code(); $result['regionCode'] = $entity->getRegionCode(); unset($result['owner']); return $result; }
/** * {@inheritdoc} */ protected function createEntity() { $entity = parent::createEntity(); $entity->setOwner($this->getUser()); return $entity; }
/** * {@inheritDoc} */ protected function fixFormData(array &$data, $entity) { /** @var CaseEntity $entity */ parent::fixFormData($data, $entity); unset($data['id']); unset($data['createdAt']); unset($data['updatedAt']); return true; }
/** * @inheritdoc */ protected function handleDelete($entity, ObjectManager $em) { parent::handleDelete($entity, $em); /** @var \Oro\Bundle\SecurityBundle\Acl\Persistence\AclSidManager $aclSidManager */ $aclSidManager = $this->get('oro_security.acl.sid_manager'); if ($aclSidManager->isAclEnabled()) { $aclSidManager->deleteSid($aclSidManager->getSid($entity)); } }
/** * {@inheritdoc} */ protected function filterQueryParameters(array $supportedParameters) { $filteredParameters = parent::filterQueryParameters($supportedParameters); $result = []; foreach ($filteredParameters as $key => $value) { $startPosition = strpos($key, 'start'); $endPosition = strpos($key, 'end'); if ($startPosition === 0) { $realKey = lcfirst(substr($key, $startPosition + strlen('start'))); $result[$realKey] = ['>=', $value[1]]; } elseif ($endPosition === 0) { $realKey = lcfirst(substr($key, $endPosition + strlen('end'))); $result[$realKey] = ['<=', $value[1]]; } else { $result[$key] = $value; } } return $result; }
/** * {@inheritdoc} */ protected function transformEntityField($field, &$value) { switch ($field) { case 'owner': if ($value) { $value = array('id' => $value->getId(), 'name' => $value->getName()); } break; default: parent::transformEntityField($field, $value); } }
/** * {@inheritdoc} */ protected function getPreparedItem($entity, $resultFields = []) { $result = parent::getPreparedItem($entity); unset($result['salt']); unset($result['password']); unset($result['confirmationToken']); unset($result['passwordRequestedAt']); unset($result['imapConfiguration']); unset($result['currentStatus']); unset($result['statuses']); unset($result['api']); //todo: Add user avatar to api /*$result['imagePath'] = null; if (isset($result['image'])) { $result['imagePath'] = $this->getRequest()->getBasePath() . '/' . $entity->getImagePath(); } unset($result['image']);*/ return $result; }
/** * {@inheritDoc} */ protected function fixFormData(array &$data, $entity) { parent::fixFormData($data, $entity); unset($data['id']); unset($data['updatedAt']); return true; }
/** * {@inheritdoc} */ protected function fixFormData(array &$data, $entity) { parent::fixFormData($data, $entity); unset($data['id']); unset($data['owner']); unset($data['owner_id']); unset($data['editor']); unset($data['editor_id']); unset($data['relationClass']); unset($data['relationId']); unset($data['createdAt']); unset($data['updatedAt']); unset($data['editable']); unset($data['removable']); return true; }
/** * {@inheritdoc} */ protected function fixRequestAttributes($entity) { $formAlias = 'b2bcustomer'; $customerData = $this->getRequest()->request->get($formAlias); // @todo: just a temporary workaround until new API is implemented // - convert country name to country code (as result we accept both the code and the name) // also it will be good to accept ISO3 code in future, need to be discussed with product owners // - convert region name to region code (as result we accept the combined code, code and name) // - move region name to region_text field for unknown region if (array_key_exists('shippingAddress', $customerData)) { AddressApiUtils::fixAddress($customerData['shippingAddress'], $this->get('doctrine.orm.entity_manager')); $this->getRequest()->request->set($formAlias, $customerData); } if (array_key_exists('billingAddress', $customerData)) { AddressApiUtils::fixAddress($customerData['billingAddress'], $this->get('doctrine.orm.entity_manager')); $this->getRequest()->request->set($formAlias, $customerData); } parent::fixRequestAttributes($entity); }
/** * {@inheritDoc} */ protected function getPreparedItem($entity, $resultFields = []) { // convert addresses to plain array $addressTypesData = []; /** @var $addressType AddressType */ foreach ($entity->getTypes() as $addressType) { $addressTypesData[] = parent::getPreparedItem($addressType); } $addressDefaultsData = []; /** @var $defaultType AddressType */ foreach ($entity->getDefaults() as $defaultType) { $addressDefaultsData[] = parent::getPreparedItem($defaultType); } $result = parent::getPreparedItem($entity); $result['types'] = $addressTypesData; $result['defaults'] = $addressDefaultsData; $result['countryIso2'] = $entity->getCountryIso2(); $result['countryIso3'] = $entity->getCountryIso2(); $result['regionCode'] = $entity->getRegionCode(); $result['country'] = $entity->getCountryName(); unset($result['frontendOwner']); return $result; }
protected function transformEntityField($field, &$value) { switch ($field) { case 'country': $value = array('iso2code' => $value->getIso2Code(), 'iso3code' => $value->getIso3Code(), 'name' => $value->getName()); break; case 'state': $value = array('code' => $value->getCode(), 'name' => $value->getName()); break; default: parent::transformEntityField($field, $value); } }
/** * {@inheritdoc} */ protected function fixFormData(array &$data, $entity) { parent::fixFormData($data, $entity); unset($data['calendarName'], $data['removable'], $data['canAddEvent'], $data['canEditEvent'], $data['canDeleteEvent']); return true; }
/** * {@inheritdoc} */ protected function getPreparedItems($entities, $resultFields = []) { $result = []; $ids = array_map(function (Account $account) { return $account->getId(); }, $entities); $ap = $this->get('orocrm_channel.provider.lifetime.amount_provider'); $lifetimeValues = $ap->getAccountsLifetimeQueryBuilder($ids)->getQuery()->getArrayResult(); $lifetimeMap = []; foreach ($lifetimeValues as $value) { $lifetimeMap[$value['accountId']] = (double) $value['lifetimeValue']; } foreach ($entities as $entity) { /** @var Account $entity */ $entityArray = parent::getPreparedItem($entity, $resultFields); if (array_key_exists($entity->getId(), $lifetimeMap)) { $entityArray['lifetimeValue'] = $lifetimeMap[$entity->getId()]; } else { $entityArray['lifetimeValue'] = 0.0; } $result[] = $entityArray; } return $result; }
/** * {@inheritdoc} */ protected function getPreparedItem($entity, $resultFields = []) { $result = parent::getPreparedItem($entity); unset($result['roles']); return $result; }
/** * {@inheritdoc} */ protected function transformEntityField($field, &$value) { switch ($field) { case 'owner': case 'updatedBy': if ($value) { $value = $value->getId(); } break; default: parent::transformEntityField($field, $value); } }
/** * {@inheritdoc} */ protected function fixFormData(array &$data, $entity) { parent::fixFormData($data, $entity); if (isset($data['allDay']) && ($data['allDay'] === 'false' || $data['allDay'] === '0')) { $data['allDay'] = false; } // remove auxiliary attributes if any unset($data['updatedAt']); unset($data['editable']); unset($data['removable']); unset($data['notifiable']); return true; }