public function resolveData(&$data) { $dateTime = $this->model->{$this->attribute}; $data[] = DateTimeUtil::getMonthName($dateTime); }
/** * Raw values such as those used by the header x-axis or y-axis rows/columns need to be translated. An example * is a dropdown where the value is the raw database value and needs to be properly translated for display. * Another example is dynamic __User, where the value is the user id, and needs to be stringified to the User * model. * @param $value * @return string */ public function resolveValueAsLabelForHeaderCell($value, $forExport = false) { $tContent = null; $translatedValue = $value; $resolvedAttribute = $this->getResolvedAttribute(); $displayElementType = $this->getDisplayElementType(); $modelToReportAdapter = $this->makeResolvedAttributeModelRelationsAndAttributesToReportAdapter(); if ($modelToReportAdapter->getModel()->isAttribute($resolvedAttribute) && $modelToReportAdapter->getModel()->isRelation($resolvedAttribute) && !$modelToReportAdapter->getModel()->isOwnedRelation($resolvedAttribute)) { $relationModelClassName = $modelToReportAdapter->getModel()->getRelationModelClassName($resolvedAttribute); $relatedModel = $relationModelClassName::getById((int) $value); if ($relatedModel->isAttribute('serializedLabels')) { $translatedValue = $relatedModel->resolveTranslatedNameByLanguage(Yii::app()->language); } } elseif ($displayElementType == 'User') { $user = User::getById((int) $value); $translatedValue = strval($user); } elseif ($displayElementType == 'DropDown') { $customFieldData = CustomFieldDataModelUtil::getDataByModelClassNameAndAttributeName($this->getResolvedAttributeModelClassName(), $this->getResolvedAttribute()); $dataAndLabels = CustomFieldDataUtil::getDataIndexedByDataAndTranslatedLabelsByLanguage($customFieldData, Yii::app()->language); if (isset($dataAndLabels[$value])) { $translatedValue = $dataAndLabels[$value]; } } elseif ($displayElementType == 'CheckBox') { if ($value) { $translatedValue = Zurmo::t('Core', 'Yes'); } elseif ($value == false && $value != '') { $translatedValue = Zurmo::t('Core', 'No'); } } elseif ($displayElementType == 'GroupByModifierMonth') { $translatedValue = DateTimeUtil::getMonthName($value); } if ($translatedValue === null) { $translatedValue = ''; } if ($this->isALinkableAttribute() && !$forExport) { $modelClassName = get_class($modelToReportAdapter->getModel()); $moduleClassName = $modelToReportAdapter->getModuleClassName(); if (isset($relationModelClassName)) { $modelClassName = $relationModelClassName; } return ReportResultsGridUtil::makeStringForMultipleLinks($value, $modelClassName, $moduleClassName); } return $translatedValue; }