_request = $request; parent::__construct(); } // // 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) { $payment = $row->getData(); switch ($column->getId()) { case 'name': $user = Repo::user()->get($payment->getUserId(), true); return ['label' => $user ? $user->getFullName() : __('common.user.nonexistent')]; // If no $user, returns "[Nonexistent user]" to avoid null user case 'type': $paymentManager = Application::getPaymentManager($this->_request->getJournal()); return ['label' => $paymentManager->getPaymentName($payment)]; case 'amount': return ['label' => $payment->getAmount() . ' ' . $payment->getCurrencyCode()]; case 'timestamp': return ['label' => $payment->getTimestamp()]; } assert(false); } }