public function updateCMSFields(FieldList $fields)
 {
     if (!$fields->hasTabSet()) {
         return $fields;
     }
     $tab = $fields->fieldByName('Root.Content') ? 'Root.Content.Media' : 'Root.Media';
     $fields->removeByName(SiteMedia::$plural_name);
     if ($this->owner->ShowSiteMedia() && $this->owner->ID) {
         //@todo implement shared
         $shared = false;
         $field = new GridField(SiteMedia::$plural_name, 'SiteMedia', $this->owner->SiteMedias(), GridFieldConfig_RelationEditor::create());
         $config = $field->getConfig();
         $config->removeComponentsByType('GridFieldDeleteAction');
         $config->addComponents(new GridFieldOrderableRows('SortOrder'), new GridFieldDeleteAction($shared));
         if (!$shared) {
             $config->removeComponentsByType('GridFieldAddExistingAutocompleter');
         }
         $config->getComponentByType('GridFieldAddNewButton')->setButtonName('Add Media');
         $field->setTitle('Media');
         $fields->addFieldToTab($tab, $field);
     }
     return $fields;
 }