public function __construct($controller, $name) { $member = Member::currentUser(); $requiredFields = null; if ($member && $member->exists()) { $fields = new FieldList(); $fields->add(new HeaderField('AddressHeader', _t('Addressable.ADDRESSHEADER', 'Avatar / Description'))); $uploadField = new UploadField('Avatar', 'Select avatar'); $uploadField->setCanAttachExisting(false); $comment = new TextareaField('Description', 'Description*'); $email = EmailField::create('Email', _t('CheckoutField.EMAIL', 'Email')); $fields->add($uploadField); $fields->add($comment); $fields->add($email); $requiredFields = $member->getValidator(); $requiredFields->addRequiredField('Avatar', 'Description', 'Email'); } else { $fields = new FieldList(); } if (get_class($controller) == 'ChefAccountPage_Controller') { $actions = new FieldList(new FormAction('submit', _t('MemberForm.SAVE', 'Save Changes'))); } parent::__construct($controller, $name, $fields, $actions, $requiredFields); if ($member) { $member->Password = ""; //prevents password field from being populated with encrypted password data $this->loadDataFrom($member); } if ($record = $controller->data()) { $record->extend('updateChefAccountForm', $fields, $actions, $requiredFields); } }
public static function getUploadForm($file, $parentClass, $parentId, $parentField) { if ($file instanceof File && class_exists($parentClass) && is_subclass_of($parentClass, "DataObject")) { $parent = $parentClass::get()->byId($parentId); $fields = new FieldList($uploadField = new UploadField($parentField, 'Upload', $parent)); $uploadField->setCanAttachExisting(false); // Block access to Silverstripe assets library $uploadField->setCanPreviewFolder(false); // Don't show target filesystem folder on upload field $uploadField->relationAutoSetting = false; // Prevents the form thinking the GalleryPage is the underlying object $uploadField->setFolderName('Address Book'); $uploadField->setAllowedMaxFileNumber(1); if ($file instanceof Image) { $uploadField->setAllowedFileCategories('image'); } $actions = new FieldList(new FormAction('submit', 'Save')); $from = new Form(Controller::curr(), 'feFileUploadForm', $fields, $actions, null); $urlParams = array('feclass' => $parentClass, 'fefield' => $parentField, 'feid' => $parentId, 'filesUpload' => true, 'fefileid' => $file->ID, 'fefileclass' => $file->ClassName); // feclass: parentClass, // fefield: parentField, // feid: parentId, // feisUpload: true, // value: "{feclass: " + objClass + ",feid: " + objId + "}" // echo http_build_query($urlParams) . "\n"; $from->setFormAction('home/feFileUploadForm?' . http_build_query($urlParams)); return $from; } }
public function getCMSFields() { $fields = parent::getCMSFields(); $fields->add(new TextField('AddEntityText', 'Add Text')); $fields->add(new TextField('DeleteEntityText', 'Delete Text')); $fields->add(new TextField('EditEntityText', 'Edit Text')); $icon = new UploadField('EntityIcon', 'Upload Entity Icon'); $icon->setCanAttachExisting(false); $icon->setAllowedMaxFileNumber(1); $icon->setAllowedFileCategories('image'); $icon->setFolderName('survey-builder'); if ($this->ID > 0) { $fields->add($icon); $id = (int) $this->ID; $parent_id = (int) $this->SurveyTemplateID; $fields->add($ddl_entity = new DropdownField('EntityID', 'Please choose an entity to hold', EntitySurveyTemplate::get()->where(" (OwnerID = 0 OR OwnerID = {$id} ) AND ParentID = {$parent_id} ")->map("ID", "EntityName"))); $ddl_entity->setEmptyString('-- Please Select --'); } return $fields; }