Class: MegaBar::FieldDisplay

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/mega_bar/field_display.rb

Instance Method Summary collapse

Instance Method Details

#get_model_idObject



42
43
44
45
# File 'app/models/mega_bar/field_display.rb', line 42

def get_model_id
  data_display_obj = ("MegaBar::" + self.format.to_s.classify).constantize.new
  model_id = data_display_obj.get_model_id
end

#make_data_displayObject



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