Source of file FolderFormFactory.php
Size: 2,026 Bytes - Last Modified: 2021-12-23T10:27:34+00:00
/var/www/docs.ssmods.com/process/src/code/Forms/FolderFormFactory.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | <?php namespace SilverStripe\AssetAdmin\Forms; use SilverStripe\Forms\FieldList; use SilverStripe\Assets\Folder; use SilverStripe\Forms\LiteralField; use SilverStripe\Control\RequestHandler; /** * Empty form factory, because the defaults from AssetFormFactory was enough */ class FolderFormFactory extends AssetFormFactory { protected function getFormFields(RequestHandler $controller = null, $name, $context = []) { /** @var Folder $record */ $record = $context['Record'] ?? null; // Add delete action as top level button before extensions are triggered $this->beforeExtending('updateFormFields', function (FieldList $fields) use ($record) { $preview = $fields->fieldByName('PreviewImage'); $name = $fields->dataFieldByName('Name'); if ($name) { $name->setTitle(_t(__CLASS__ . '.FOLDERNAME', 'Folder name')); } if ($preview) { $preview->addExtraClass('editor__file-preview--folder'); } // $record will be null when creating a new folder if (!is_null($record)) { $fields->insertAfter( 'TitleHeader', LiteralField::create('FileSpecs', $this->getStatusMarkup($record)) ); $fieldGroup = $fields->fieldByName('AssetEditorHeaderFieldGroup'); if ($fieldGroup) { $fieldGroup->addExtraClass('editor-header-folder'); } } }); return parent::getFormFields($controller, $name, $context); } /** * @param Folder $record * @return string */ private function getStatusMarkup(Folder $record): string { if (!$record->hasRestrictedAccess()) { return ''; } $title = _t('SilverStripe\\Admin\\FileStatusIcon.ACCESS_RESTRICTED', 'Restricted access'); return $this->buildFileStatusIcon($title, 'font-icon-user-lock'); } } |