19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'app/models/mega_bar/field_display.rb', line 19
def make_data_display
return if self.format.to_s == 'off'
Textbox.by_field_display_id(self.id).delete_all unless self.format == 'textbox'
Textread.by_field_display_id(self.id).delete_all unless self.format == 'textread'
Select.by_field_display_id(self.id).delete_all unless self.format == 'select'
Textarea.by_field_display_id(self.id).delete_all unless self.format == 'textarea'
Checkbox.by_field_display_id(self.id).delete_all unless self.format == 'checkbox'
obj = ("MegaBar::" + self.format.to_s.classify).constantize.where(:field_display_id => self.id).first_or_initialize()
unless obj.id.present?
fields = Field.by_model(get_model_id)
fields_defaults = {}
fields.each do |field|
unless (field.default_value.nil? || field.default_value == 'off')
fields_defaults[field.field.parameterize.underscore.to_sym] = field.default_value
end
end
fields_defaults[:field_display_id] = self.id
fields_defaults[:checked] = 'false' if self.format == 'checkbox'
data_display = obj.save(fields_defaults)
end
f = Field.where(id: self.field_id)
end
|