/**
  *
  * @param \GridField $gridField
  * @param \DataObject $record
  * @param string $columnName
  * @return string|null - the HTML for the column
  */
 public function getColumnContent($gridField, $record, $columnName)
 {
     if (!$record instanceof \Payment) {
         return null;
     }
     if (!$record->canCapture()) {
         return null;
     }
     \Requirements::css('omnipay-ui/css/omnipay-ui-cms.css');
     \Requirements::javascript('omnipay-ui/javascript/omnipay-ui-cms.js');
     \Requirements::add_i18n_javascript('omnipay-ui/javascript/lang');
     $infoText = '';
     switch (GatewayInfo::captureMode($record->Gateway)) {
         case GatewayInfo::MULTIPLE:
             $infoText = 'MultiCaptureInfo';
             break;
         case GatewayInfo::PARTIAL:
             $infoText = 'SingleCaptureInfo';
             break;
         case GatewayInfo::FULL:
             $infoText = 'FullCaptureInfo';
             break;
     }
     /** @var \Money $money */
     $money = $record->dbObject('Money');
     $money->setAmount($record->getMaxCaptureAmount());
     /** @var \GridField_FormAction $field */
     $field = \GridField_FormAction::create($gridField, 'CapturePayment' . $record->ID, false, 'capturepayment', array('RecordID' => $record->ID))->addExtraClass('gridfield-button-capture payment-dialog-button')->setAttribute('title', _t('GridFieldCaptureAction.Title', 'Capture Payment'))->setAttribute('data-icon', 'button-capture')->setAttribute('data-dialog', json_encode(array('maxAmount' => $money->Nice(), 'maxAmountNum' => $money->getAmount(), 'hasAmountField' => $record->canCapture(null, true), 'infoTextKey' => $infoText, 'buttonTextKey' => 'CaptureAmount')))->setDescription(_t('GridFieldCaptureAction.Description', 'Capture authorized Payment'));
     return $field->Field();
 }