/**
  * @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;
 }
 /**
  * @param  DataObject $target
  * @return array
  */
 public function getContextFields(DataObject $target)
 {
     $fields = $target->summaryFields();
     $result = array();
     foreach ($fields as $field => $fieldDesc) {
         $result[$field] = $target->{$field};
     }
     if ($target instanceof SiteTree) {
         $result['CMSLink'] = singleton('CMSMain')->Link("show/{$target->ID}");
     } else {
         if ($target->hasMethod('WorkflowLink')) {
             $result['CMSLink'] = $target->WorkflowLink();
         }
     }
     return $result;
 }