Project

General

Profile

« Previous | Next » 

Revision 4bc4fdc1

Added by Tomer Brisker about 8 years ago

Fixes #14934 - Remove rails 3.2 workaround from parameter model

View differences:

app/controllers/api/v2/parameters_controller.rb
def create
@parameter = nested_obj.send(parameters_method).new(params[:parameter])
@parameter.reference_id = nested_obj.id if Rails.version == '3.2.8' # hack to override 3.2.8 hack ensure_reference_nil on parameter.rb
process_response @parameter.save
end
app/models/parameter.rb
default_scope -> { order("parameters.name") }
before_validation :strip_whitespaces
after_initialize :set_priority, :ensure_reference_nil
after_initialize :set_priority
PRIORITY = {:common_parameter => 0, :domain_parameter => 1, :subnet_parameter => 2, :os_parameter => 3, :group_parameter => 4, :host_parameter => 5}
......
self.name = self.name.strip unless name.blank? # when name string comes from a hash key, it's frozen and cannot be modified
self.value.strip! unless value.blank?
end
# hack fix for Rails 3.2.8. Not needed for 3.2.18.
# related to **accepts_nested_attributes_for** on UI form (not API)
# which incorrectly assigns foreign key to 1 when attributes are from STI class (DomainParamter, HostParameter, etc)
def ensure_reference_nil
self.reference_id = nil if self.new_record? && self.reference_id == 1 && Rails.version == '3.2.8'
end
end

Also available in: Unified diff