public function setForm($form)
 {
     parent::setForm($form);
     $this->dateField->setForm($form);
     $this->timeField->setForm($form);
     $this->timezoneField->setForm($form);
     return $this;
 }
 /**
  * Generate extra special fields - namely the security token field (if required).
  *
  * @return FieldList
  */
 public function getExtraFields()
 {
     $extraFields = new FieldList();
     $token = $this->getSecurityToken();
     if ($token) {
         $tokenField = $token->updateFieldSet($this->fields);
         if ($tokenField) {
             $tokenField->setForm($this);
         }
     }
     $this->securityTokenAdded = true;
     // add the "real" HTTP method if necessary (for PUT, DELETE and HEAD)
     if (strtoupper($this->FormMethod()) != $this->FormHttpMethod()) {
         $methodField = new HiddenField('_method', '', $this->FormHttpMethod());
         $methodField->setForm($this);
         $extraFields->push($methodField);
     }
     return $extraFields;
 }