/**
  * If saving a re-used attribute, then don't bother posting the main record data as it can't be changed. The postSubmit
  * can still occur though to link it to websites and surveys.
  *
  * @return integer Id of the attribute.
  */
 protected function validateAndSubmit()
 {
     if (isset($this->submission['metaFields']) && isset($this->submission['metaFields']['disabled_input']) && $this->submission['metaFields']['disabled_input']['value'] == 'YES') {
         $this->find($this->submission['fields']['id']['value']);
         return $this->id;
     } else {
         return parent::validateAndSubmit();
     }
 }
 /** 
  * Create a virtual field called default_value from the relevant default value fields, depending on the data type.
  */
 public function __get($column)
 {
     if ($column == 'default_value') {
         $attr = ORM::factory('survey_attribute', $this->survey_attribute_id);
         switch ($attr->data_type) {
             case 'T':
                 return parent::__get('default_text_value');
             case 'F':
                 return parent::__get('default_float_value');
             case 'I':
             case 'L':
                 return parent::__get('default_int_value');
             case 'D':
             case 'V':
                 $vagueDate = array(parent::__get('default_date_start_value'), parent::__get('default_date_end_value'), parent::__get('default_date_type_value'));
                 return vague_date::vague_date_to_string($vagueDate);
         }
     } else {
         return parent::__get($column);
     }
 }