em = $em; $this->provider = $provider; } public function isEmptyValue(array $fields, CustomField $customField) { $slug = $customField->getSlug(); $rawValue = (isset($fields[$slug])) ? $fields[$slug] : null; $customFieldType = $this->provider->getCustomFieldByType($customField->getType()); $deserializedValue = $customFieldType->deserialize($rawValue, $customField); return $customFieldType->isEmptyValue($deserializedValue, $customField); } /** * Render the value of a custom field. * * @param array $fields the **raw** array, as stored in the db * @param CustomField $customField the customField entity * @param string $documentType The type of document in which the rendered value is displayed ('html' or 'csv'). * * @throws CustomFieldsHelperException if slug is missing * * @return The representation of the value the customField. */ public function renderCustomField(array $fields, CustomField $customField, $documentType = 'html') { $slug = $customField->getSlug(); $rawValue = (isset($fields[$slug])) ? $fields[$slug] : null; $customFieldType = $this->provider->getCustomFieldByType($customField->getType()); return $customFieldType->render($rawValue, $customField, $documentType); } }