コード例 #1
0
 /**
  * Set up current form errors in session to
  * the current form if appropriate.
  *
  * @return $this
  */
 public function setupFormErrors()
 {
     $errorInfo = Session::get("FormInfo.{$this->FormName()}");
     if (isset($errorInfo['errors']) && is_array($errorInfo['errors'])) {
         foreach ($errorInfo['errors'] as $error) {
             $field = $this->fields->dataFieldByName($error['fieldName']);
             if (!$field) {
                 $errorInfo['message'] = $error['message'];
                 $errorInfo['type'] = $error['messageType'];
             } else {
                 $field->setError($error['message'], $error['messageType']);
             }
         }
         // load data in from previous submission upon error
         if (isset($errorInfo['data'])) {
             $this->loadDataFrom($errorInfo['data']);
         }
     }
     if (isset($errorInfo['message']) && isset($errorInfo['type'])) {
         $this->setMessage($errorInfo['message'], $errorInfo['type']);
     }
     return $this;
 }
コード例 #2
0
 public function updateCMSFields(FieldList $fields)
 {
     $fields->addFieldToTab('Root.Test', new TextField('ExtendedFieldRemove'));
     $fields->addFieldToTab('Root.Test', new TextField('ExtendedFieldKeep'));
     if ($childField = $fields->dataFieldByName('ChildFieldBeforeExtension')) {
         $childField->setTitle('ChildFieldBeforeExtension: Modified Title');
     }
     if ($grandchildField = $fields->dataFieldByName('GrandchildFieldBeforeExtension')) {
         $grandchildField->setTitle('GrandchildFieldBeforeExtension: Modified Title');
     }
 }
コード例 #3
0
 public function testMakeFieldReadonly()
 {
     $FieldList = new FieldList(new TabSet('Root', new Tab('Main', new TextField('A'), new TextField('B'))));
     $FieldList->makeFieldReadonly('A');
     $this->assertTrue($FieldList->dataFieldByName('A')->isReadonly(), 'Field nested inside a TabSet and FieldList can be marked readonly by FieldList->makeFieldReadonly()');
 }