/**
  * 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);
     }
 }