/**
  * @param array $data
  * @param Form $form
  * @return HTTPResponse
  */
 public function doDelete($data, $form)
 {
     $title = $this->record->Title;
     try {
         if (!$this->record->canDelete()) {
             throw new ValidationException(_t('GridFieldDetailForm.DeletePermissionsFailure', "No delete permissions"), 0);
         }
         $this->record->delete();
     } catch (ValidationException $e) {
         $form->sessionMessage($e->getResult()->message(), 'bad', false);
         return $this->getToplevelController()->redirectBack();
     }
     $message = sprintf(_t('GridFieldDetailForm.Deleted', 'Deleted %s %s'), $this->record->i18n_singular_name(), htmlspecialchars($title, ENT_QUOTES));
     $toplevelController = $this->getToplevelController();
     if ($toplevelController && $toplevelController instanceof LeftAndMain) {
         $backForm = $toplevelController->getEditForm();
         $backForm->sessionMessage($message, 'good', false);
     } else {
         $form->sessionMessage($message, 'good', false);
     }
     //when an item is deleted, redirect to the parent controller
     $controller = $this->getToplevelController();
     $controller->getRequest()->addHeader('X-Pjax', 'Content');
     // Force a content refresh
     return $controller->redirect($this->getBackLink(), 302);
     //redirect back to admin section
 }
 /**
  *
  * @param GridField $gridField
  * @param DataObject $record
  * @param string $columnName
  * @return string the HTML for the column
  */
 public function getColumnContent($gridField, $record, $columnName)
 {
     if ($this->removeRelation) {
         if (!$record->canEdit()) {
             return null;
         }
         $field = GridField_FormAction::create($gridField, 'UnlinkRelation' . $record->ID, false, "unlinkrelation", array('RecordID' => $record->ID))->addExtraClass('btn btn--no-text btn--icon-md font-icon-link-broken grid-field__icon-action gridfield-button-unlink')->setAttribute('title', _t('GridAction.UnlinkRelation', "Unlink"));
     } else {
         if (!$record->canDelete()) {
             return null;
         }
         $field = GridField_FormAction::create($gridField, 'DeleteRecord' . $record->ID, false, "deleterecord", array('RecordID' => $record->ID))->addExtraClass('gridfield-button-delete btn--icon-md font-icon-trash-bin btn--no-text grid-field__icon-action')->setAttribute('title', _t('GridAction.Delete', "Delete"))->setDescription(_t('GridAction.DELETE_DESCRIPTION', 'Delete'));
     }
     return $field->Field();
 }
 public function canDelete($member = null)
 {
     return parent::canDelete($member);
 }