From a64cf8c27b4a4a33e2550baed42a52d5eb4c3e19 Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Thu, 14 Jun 2012 20:21:04 +0200 Subject: [PATCH] BUGFIX AssetAdmin->delete() is now allowed, and redirects to parent folder automatically --- code/controllers/AssetAdmin.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/code/controllers/AssetAdmin.php b/code/controllers/AssetAdmin.php index f19e849d..c84b1403 100644 --- a/code/controllers/AssetAdmin.php +++ b/code/controllers/AssetAdmin.php @@ -24,6 +24,7 @@ class AssetAdmin extends LeftAndMain implements PermissionProvider{ public static $allowed_actions = array( 'addfolder', + 'delete', 'DeleteItemsForm', 'getsubtree', 'movemarked', @@ -305,6 +306,21 @@ JS return $content; } + public function delete($data, $form) { + $className = $this->stat('tree_class'); + + $record = DataObject::get_by_id($className, Convert::raw2sql($data['ID'])); + if($record && !$record->canDelete()) return Security::permissionFailure(); + if(!$record || !$record->ID) throw new HTTPResponse_Exception("Bad record ID #" . (int)$data['ID'], 404); + $parentID = $record->ParentID; + $record->delete(); + $this->setCurrentPageID(null); + + $this->response->addHeader('X-Status', rawurlencode(_t('LeftAndMain.DELETED', 'Deleted.'))); + $this->response->addHeader('X-Pjax', 'Content'); + return $this->redirect(Controller::join_links($this->Link('show'), $parentID ? $parentID : 0)); + } + public function getSearchContext() { $context = singleton('File')->getDefaultSearchContext();