/**
  * @param GridField $gridField
  * @param DataObject $record
  * @param string $columnName
  *
  * @return string - the HTML for the column 
  */
 public function getColumnContent($gridField, $record, $columnName)
 {
     // No permission checks - handled through GridFieldDetailForm
     // which can make the form readonly if no edit permissions are available.
     $data = new ArrayData(array('Link' => $record->CMSEditLink()));
     return $data->renderWith('GridFieldEditButton');
 }
 /**
  * @param GridField $gridField
  * @param DataObject $record
  * @param string $columnName
  *
  * @return string - the HTML for the column
  */
 public function getColumnContent($gridField, $record, $columnName)
 {
     // No permission checks, handled through GridFieldDetailForm,
     // which can make the form readonly if no edit permissions are available.
     if ($record->hasMethod("CMSEditLink")) {
         $data = new ArrayData(array('Link' => Controller::join_links($record->CMSEditLink())));
         return $data->renderWith('GridFieldEditButtonInSiteTree');
     } else {
         return parent::getColumnContent($gridField, $record, $columnName);
     }
 }
 /**
  * @param  DataObject $target
  * @return array
  */
 public function getContextFields(DataObject $target)
 {
     $result = array();
     if (!$target) {
         return $result;
     }
     $fields = $target->inheritedDatabaseFields();
     foreach ($fields as $field => $fieldDesc) {
         $result[$field] = $target->{$field};
     }
     if ($target instanceof CMSPreviewable) {
         $result['CMSLink'] = $target->CMSEditLink();
     } else {
         if ($target->hasMethod('WorkflowLink')) {
             $result['CMSLink'] = $target->WorkflowLink();
         }
     }
     return $result;
 }