Source of file FormBlock.php
Size: 2,440 Bytes - Last Modified: 2021-12-24T06:45:33+00:00
/var/www/docs.ssmods.com/process/src/src/blocks/FormBlock.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | <?php namespace Dynamic\DynamicBlocks\Block; use SheaDawson\Blocks\Model\Block; use SilverStripe\Control\Controller; use SilverStripe\Forms\DropdownField; use SilverStripe\Forms\HTMLEditor\HTMLEditorField; if (!class_exists(UserDefinedForm::class)) { return; } class FormBlock extends Block { /** * @var string */ private static $singular_name = 'Form Block'; /** * @var string */ private static $plural_name = 'Form Blocks'; /** * @var array */ private static $db = array( 'Content' => 'HTMLText', ); /** * @var array */ private static $has_one = array( 'Form' => 'UserDefinedForm', ); /** * @var string */ private static $table_name = 'FormBlock'; /** * @return FieldList */ public function getCMSFields() { $fields = singleton(Block::class)->getCMSFields(); if (class_exists('UserDefinedForm')) { $fields->addFieldToTab('Root.Main', DropdownField::create( 'FormID', 'Form', UserDefinedForm::get()->map() )->setEmptyString('') ->setDescription('select an existing User Defined Form to display') ); } $fields->addFieldToTab('Root.Main', HTMLEditorField::create('Content')); return $fields; } /** * @return Forms|HTMLText */ public function BlockForm() { if ($this->Form()->exists()) { $controller = new UserDefinedForm_Controller($this->Form()); $current = Controller::curr(); if ($current && $current->getAction() == 'finished') { return $controller->renderWith('ReceivedFormSubmission'); } $form = $controller->Form(); return $form; } } /** * @param null $member * @param array $context * @return bool */ public function canCreate($member = NULL, $context = []) { if (!class_exists('UserDefinedForm')) { return false; } return parent::canCreate(); } /** * @param null $member * @param array $context * @return bool */ public function canView($member = NULL, $context = []) { if (!class_exists('UserDefinedForm')) { return false; } return parent::canView(); } } |