app/models/constructor_pages/field.rb in constructor-pages-0.5.2 vs app/models/constructor_pages/field.rb in constructor-pages-0.5.3

- old
+ new

@@ -22,9 +22,34 @@ has_one :image_type, class_name: 'Types::ImageType' acts_as_list scope: :template_id default_scope order: :position + # return constant of model by type_value + def type_model; "constructor_pages/types/#{type_value}_type".classify.constantize end + + # remove all type_fields values for specified page + def remove_values_for(page); type_model.destroy_all field_id: id, page_id: page.id end + + def update_value(page, params) + _type_value = type_model.where(field_id: id, page_id: page.id).first_or_create + + if params + _type_value.value = 0 if type_value == 'boolean' + + if params[type_value] + if type_value == 'date' + value = params[type_value][id.to_s] + _type_value.value = Date.new(value['date(1i)'].to_i, value['date(2i)'].to_i, value['date(3i)'].to_i).to_s + else + _type_value.value = params[type_value][id.to_s] + end + end + + _type_value.save + end + end + private def method_uniqueness if Page.first.respond_to?(code_name) \ or Page.first.respond_to?(code_name.pluralize) \ \ No newline at end of file