_publication = $publication; } // // Template methods from GridCellProvider // /** * Extracts variables for a given column from a data element * so that they may be assigned to template before rendering. * * @param \PKP\controllers\grid\GridRow $row * @param GridColumn $column * * @return array */ public function getTemplateVarsFromRowColumn($row, $column) { $element = $row->getData(); $columnId = $column->getId(); assert($element instanceof \PKP\core\DataObject && !empty($columnId)); /** @var Author $element */ switch ($columnId) { case 'name': return ['label' => $element->getFullName()]; case 'role': return ['label' => $element->getLocalizedUserGroupName()]; case 'email': return parent::getTemplateVarsFromRowColumn($row, $column); case 'principalContact': return ['isPrincipalContact' => $this->_publication->getData('primaryContactId') === $element->getId()]; case 'includeInBrowse': return ['includeInBrowse' => $element->getIncludeInBrowse()]; } } }