Example #1
0
 public function canDelete($member = null)
 {
     if ($this->getType() == 'Presentation') {
         return false;
     }
     return parent::canDelete($member);
 }
 /**
  *
  * @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) {
         $field = GridField_FormAction::create($gridField, 'UnlinkRelation' . $record->ID, false, "unlinkrelation", array('RecordID' => $record->ID))->addExtraClass('gridfield-button-unlink')->setAttribute('title', _t('GridAction.UnlinkRelation', "Unlink"))->setAttribute('data-icon', 'chain--minus');
     } else {
         if (!$record->canDelete()) {
             return;
         }
         $field = GridField_FormAction::create($gridField, 'DeleteRecord' . $record->ID, false, "deleterecord", array('RecordID' => $record->ID))->addExtraClass('gridfield-button-delete')->setAttribute('title', _t('GridAction.Delete', "Delete"))->setAttribute('data-icon', 'cross-circle')->setDescription(_t('GridAction.DELETE_DESCRIPTION', 'Delete'));
     }
     //add a class to the field to if it is the last gridfield in the list
     $numberOfRelations = $record->Pages()->Count();
     $field->addExtraClass('dms-delete')->setAttribute('data-pages-count', $numberOfRelations)->removeExtraClass('gridfield-button-delete');
     //remove the base gridfield behaviour
     //set a class telling JS what kind of warning to display when clicking the delete button
     if ($numberOfRelations > 1) {
         $field->addExtraClass('dms-delete-link-only');
     } else {
         $field->addExtraClass('dms-delete-last-warning');
     }
     //set a class to show if the document is hidden
     if ($record->isHidden()) {
         $field->addExtraClass('dms-document-hidden');
     }
     return $field->Field();
 }
 public function canDelete($member = null)
 {
     if (Summit::isDefaultEventType($this->Type)) {
         return false;
     }
     return parent::canDelete($member);
 }
 /**
  *
  * @param GridField $gridField
  * @param DataObject $record
  * @param string $columnName
  * @return string - the HTML for the column
  */
 public function getColumnContent($gridField, $record, $columnName)
 {
     if (!$record->IsDeletedFromStage && $record->canDelete() && !$record->isPublished()) {
         $field = GridField_FormAction::create($gridField, 'DeleteFromStage' . $record->ID, false, "deletefromstage", array('RecordID' => $record->ID))->addExtraClass('gridfield-button-deletedraft')->setAttribute('title', _t('PublishableGridFieldAction.DELETE', 'Delete draft'))->setAttribute('data-icon', 'decline')->setDescription(_t('PublishableGridFieldAction.DELETE_DESC', 'Remove this item from the draft site'));
         return $field->Field();
     }
     return;
 }
 /**
  * @param GridField $gridField
  * @param DataObject $record
  * @param string $columnName
  * @return string - the HTML for the column
  */
 public function getColumnContent($gridField, $record, $columnName)
 {
     if (!$record->canDelete()) {
         return;
     }
     $field = GridField_FormAction::create($gridField, 'SoftDeleteRecord' . $record->ID, false, "softdeleterecord", array('RecordID' => $record->ID))->addExtraClass('gridfield-button-delete')->setAttribute('title', _t('GridAction.Delete', "Delete"))->setAttribute('data-icon', 'cross-circle')->setDescription(_t('GridAction.DELETE_DESCRIPTION', 'Delete'));
     return $field->Field();
 }
 public function canDelete($member = null)
 {
     $this->beforeExtending(__FUNCTION__, function ($member = null) {
         if ($this->Parent && $this->Parent->canDelete($member)) {
             return true;
         }
     });
     return parent::canDelete($member);
 }
 public function canDelete($member = null)
 {
     if ($this->Readonly) {
         return false;
     }
     // forms are using this handler...
     if ($this->FormCount()) {
         return false;
     }
     return parent::canDelete($member);
 }
 /**
  * Checks to see if the given member can delete this object or not
  * @param {Member} $member Member instance or member id to check
  * @return {bool} Returns boolean true or false depending if the user can delete this object
  */
 public function canDelete($member = null)
 {
     $parentResult = parent::canDelete($member);
     if ($parentResult == false || $this->UserLanguage == false) {
         return false;
     }
     if ($this->Folders()->count() > 0 || $this->Snippets()->count() > 0) {
         return false;
     }
     return true;
 }
 public function canDelete($member = null)
 {
     return parent::canDelete($member);
 }
 public function canDelete($member = null)
 {
     $method = __FUNCTION__;
     $this->beforeExtending(__FUNCTION__, function ($member) use($method) {
         if (!$this->checkIfHasGlobalMenuPermission($member)) {
             return false;
         }
         if (singleton('SiteTree')->{$method}($member)) {
             return true;
         }
     });
     return parent::canDelete($member);
 }
 /**
  *
  * @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;
         }
         $field = GridField_FormAction::create($gridField, 'UnlinkRelation' . $record->ID, _t('GridAction.UnlinkRelation', "Unlink"), "unlinkrelation", array('RecordID' => $record->ID))->addExtraClass('gridfield-button-unlink')->setAttribute('title', _t('GridAction.UnlinkRelation', "Unlink"))->setAttribute('data-icon', 'chain--minus');
     } else {
         if (!$record->canDelete()) {
             return;
         }
         $field = GridField_FormAction::create($gridField, 'DeleteRecord' . $record->ID, _t('GridAction.Delete', "Delete"), "deleterecord", array('RecordID' => $record->ID))->addExtraClass('gridfield-button-delete')->setAttribute('title', _t('GridAction.Delete', "Delete"))->setAttribute('data-icon', 'cross-circle')->setDescription(_t('GridAction.DELETE_DESCRIPTION', 'Delete'));
     }
     return $field->Field();
 }
 public function canDelete($member = null)
 {
     $can = parent::canDelete($member);
     $queueditems = $this->SendRecipientQueue();
     if ($queueditems->count()) {
         foreach ($queueditems as $queueditem) {
             $can = $can && !($queueditem->Status === 'Scheduled' && $queueditem->Status === 'InProgress');
         }
     }
     return $can;
 }
 public function canDelete($member = null)
 {
     $can = parent::canDelete($member);
     if ($this->Status !== 'Sending') {
         return $can;
     } else {
         return false;
     }
 }
 public function canDelete($member = null)
 {
     $first = $this->Pages()->first();
     return $first ? $first->canDelete() : parent::canDelete($member);
 }
 public function canDelete($member = null)
 {
     $this->beforeExtending(__METHOD__, function ($member) {
         if (!$this->checkIfHasGlobalMenuPermission($member)) {
             return false;
         }
     });
     return parent::canDelete($member);
 }
 /**
  * Remove a friendship object
  * @param DataObject $relationship 
  */
 public function removeFriendship(DataObject $relationship)
 {
     if ($relationship && $relationship->canDelete()) {
         // need to remove this user from the 'other's followers group and friends group
         // if needbe
         if ($relationship->Status == 'Approved') {
             $reciprocal = $relationship->reciprocal();
             if ($reciprocal) {
                 // set it back to pending
                 $reciprocal->Status = 'Pending';
                 $reciprocal->write();
             }
             $friends = $relationship->Other()->getGroupFor(MicroBlogMember::FRIENDS);
             $relationship->Initiator()->Groups()->remove($friends);
             $friends = $relationship->Initiator()->getGroupFor(MicroBlogMember::FRIENDS);
             $relationship->Other()->Groups()->remove($friends);
         }
         $followers = $relationship->Other()->getGroupFor(MicroBlogMember::FOLLOWERS);
         $relationship->Initiator()->Groups()->remove($followers);
         $relationship->delete();
         return $relationship;
     }
 }
Example #17
0
 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
 }
 public function canDelete($member = null)
 {
     return DataObject::canDelete($member);
 }
 public function canDelete($member = null)
 {
     return $this->Readonly ? false : parent::canDelete($member);
 }
 /**
  *
  * @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;
         }
         $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;
         }
         $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();
 }
 /**
  * standard SS method
  * @param Member | NULL
  * @return Boolean
  */
 public function canDelete($member = null)
 {
     if (Permission::checkMember($member, Config::inst()->get("EcommerceRole", "admin_permission_code"))) {
         return true;
     }
     return parent::canDelete($member);
 }
 public function canDelete($member = null)
 {
     $can = parent::canDelete($member);
     return $can ? $can : Permission::check('CMS_ACCESS_FrontendAdmin');
 }