/** * PresentationMediaUploadForm constructor. * @param Controller $controller * @param string $name * @param SummitEvent $presentation */ public function __construct($controller, $name, SummitEvent $presentation) { $this->presentation = $presentation; $fields = FieldList::create(FileAttachmentField::create('Slide', 'File')->setFolderName('/presentation-media/')->setPermissions(['upload' => true, 'detach' => false, 'delete' => false])); $actions = FieldList::create(FormAction::create('doUpload', 'Upload File')); $validator = RequiredFields::create(['Slide']); parent::__construct($controller, $name, $fields, $actions, $validator); $material = $presentation->MaterialType('PresentationSlide'); if ($material) { $this->loadDataFrom($material); } }
/** * PresentationLinkToForm constructor. * @param Controller $controller * @param string $name * @param SummitEvent $presentation */ public function __construct($controller, $name, SummitEvent $presentation) { $this->presentation = $presentation; $fields = FieldList::create(TextField::create('Link', 'Link (URL) for your online presentation:')); $actions = FieldList::create(FormAction::create('saveLink', 'Save Link')); $validator = RequiredFields::create(['Link']); parent::__construct($controller, $name, $fields, $actions, $validator); $material = $presentation->MaterialType('PresentationSlide'); if ($material) { $this->loadDataFrom($material); } }