From b135c2566c1807fddfedd3ce80af4fcaf10648ec Mon Sep 17 00:00:00 2001 From: Damian Mooyman Date: Mon, 25 Jul 2016 09:58:18 +1200 Subject: [PATCH] API remove obsolete UpgradeSiteTreePermissionSchemaTask --- code/model/SiteTree.php | 11 ---- tasks/UpgradeSiteTreePermissionSchemaTask.php | 55 ------------------- 2 files changed, 66 deletions(-) delete mode 100644 tasks/UpgradeSiteTreePermissionSchemaTask.php diff --git a/code/model/SiteTree.php b/code/model/SiteTree.php index f71ab842..5f1167b1 100755 --- a/code/model/SiteTree.php +++ b/code/model/SiteTree.php @@ -1464,17 +1464,6 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid DB::alteration_message('Contact Us page created', 'created'); } } - - // schema migration - // @todo Move to migration task once infrastructure is implemented - if($this->class == 'SiteTree') { - $conn = DB::get_schema(); - // only execute command if fields haven't been renamed to _obsolete_ already by the task - if($conn->hasField('SiteTree' ,'Viewers')) { - $task = new UpgradeSiteTreePermissionSchemaTask(); - $task->run(new SS_HTTPRequest('GET','/')); - } - } } protected function onBeforeWrite() { diff --git a/tasks/UpgradeSiteTreePermissionSchemaTask.php b/tasks/UpgradeSiteTreePermissionSchemaTask.php deleted file mode 100644 index 8813a807..00000000 --- a/tasks/UpgradeSiteTreePermissionSchemaTask.php +++ /dev/null @@ -1,55 +0,0 @@ - 'ADMIN' - ); - - protected $title = 'Upgrade SiteTree Permissions Schema'; - - protected $description = "Move data from legacy columns to new schema introduced in SilverStripe 2.1.
- SiteTree->Viewers to SiteTree->CanViewType
- SiteTree->Editors to SiteTree->CanEditType
- SiteTree->ViewersGroup to SiteTree->ViewerGroups (has_one to many_many)
- SiteTree->Editorsroup to SiteTree->EditorGroups (has_one to many_many)
- See http://open.silverstripe.com/ticket/2847 - "; - - public function run($request) { - // transfer values for changed column name - foreach(array('SiteTree','SiteTree_Live','SiteTree_versions') as $table) { - DB::prepared_query("UPDATE \"{$table}\" SET \"CanViewType\" = ?", array('Viewers')); - DB::prepared_query("UPDATE \"{$table}\" SET \"CanEditType\" = ?", array('Editors')); - } - //Debug::message('Moved SiteTree->Viewers to SiteTree->CanViewType'); - //Debug::message('Moved SiteTree->Editors to SiteTree->CanEditType'); - - // convert has_many to many_many - $pageIDs = DB::query("SELECT ID FROM SiteTree")->column('ID'); - foreach($pageIDs as $pageID) { - $page = DataObject::get_by_id('SiteTree', $pageID); - if($page->ViewersGroup && DataObject::get_by_id("SilverStripe\\Security\\Group", $page->ViewersGroup)) $page->ViewerGroups()->add($page->ViewersGroup); - if($page->EditorsGroup && DataObject::get_by_id("SilverStripe\\Security\\Group", $page->EditorsGroup)) $page->EditorGroups()->add($page->EditorsGroup); - - $page->destroy(); - unset($page); - } - //Debug::message('SiteTree->ViewersGroup to SiteTree->ViewerGroups (has_one to many_many)'); - //Debug::message('SiteTree->EditorsGroup to SiteTree->EditorGroups (has_one to many_many)'); - - // rename legacy columns - foreach(array('SiteTree','SiteTree_Live','SiteTree_versions') as $table) { - foreach(array('Viewers','Editors','ViewersGroup','EditorsGroup') as $field) { - DB::get_conn()->dontRequireField($table, $field); - } - } - } -}