Revision 32ced385
Added by Ori Rabin almost 10 years ago
app/controllers/domains_controller.rb | ||
---|---|---|
|
||
def new
|
||
@domain = Domain.new
|
||
@domain.domain_parameters.build
|
||
end
|
||
|
||
def create
|
app/models/domain.rb | ||
---|---|---|
has_and_belongs_to_many :users, :join_table => "user_domains"
|
||
has_many :interfaces, :class_name => 'Nic::Base'
|
||
|
||
accepts_nested_attributes_for :domain_parameters, :reject_if => lambda { |a| a[:value].blank? }, :allow_destroy => true
|
||
accepts_nested_attributes_for :domain_parameters, :allow_destroy => true
|
||
validates :name, :presence => true, :uniqueness => true
|
||
validates :fullname, :uniqueness => true, :allow_blank => true, :allow_nil => true
|
||
|
app/models/host/managed.rb | ||
---|---|---|
has_many :reports, :dependent => :destroy, :foreign_key => :host_id
|
||
has_many :host_parameters, :dependent => :destroy, :foreign_key => :reference_id
|
||
has_many :parameters, :dependent => :destroy, :foreign_key => :reference_id, :class_name => "HostParameter"
|
||
accepts_nested_attributes_for :host_parameters, :reject_if => lambda { |a| a[:value].blank? }, :allow_destroy => true
|
||
accepts_nested_attributes_for :host_parameters, :allow_destroy => true
|
||
has_many :interfaces, :dependent => :destroy, :inverse_of => :host, :class_name => 'Nic::Base', :foreign_key => :host_id
|
||
accepts_nested_attributes_for :interfaces, :reject_if => lambda { |a| a[:mac].blank? }, :allow_destroy => true
|
||
belongs_to :owner, :polymorphic => true
|
app/models/hostgroup.rb | ||
---|---|---|
validates :name, :format => { :with => /\A(\S+\s?)+\Z/, :message => N_("can't contain trailing white spaces.")}
|
||
validates :root_pass, :allow_blank => true, :length => {:minimum => 8, :message => _('should be 8 characters or more')}
|
||
has_many :group_parameters, :dependent => :destroy, :foreign_key => :reference_id
|
||
accepts_nested_attributes_for :group_parameters, :reject_if => lambda { |a| a[:value].blank? }, :allow_destroy => true
|
||
accepts_nested_attributes_for :group_parameters, :allow_destroy => true
|
||
has_many_hosts
|
||
has_many :template_combinations, :dependent => :destroy
|
||
has_many :config_templates, :through => :template_combinations
|
app/models/operatingsystem.rb | ||
---|---|---|
validates :major, :numericality => {:greater_than_or_equal_to => 0}, :presence => { :message => N_("Operating System version is required") }
|
||
has_many :os_parameters, :dependent => :destroy, :foreign_key => :reference_id
|
||
has_many :parameters, :dependent => :destroy, :foreign_key => :reference_id, :class_name => "OsParameter"
|
||
accepts_nested_attributes_for :os_parameters, :reject_if => lambda { |a| a[:value].blank? }, :allow_destroy => true
|
||
accepts_nested_attributes_for :os_parameters, :allow_destroy => true
|
||
has_many :trends, :as => :trendable, :class_name => "ForemanTrend"
|
||
attr_name :to_label
|
||
validates :minor, :numericality => {:greater_than_or_equal_to => 0}, :allow_nil => true, :allow_blank => true
|
app/models/parameter.rb | ||
---|---|---|
belongs_to_host :foreign_key => :reference_id
|
||
include Authorizable
|
||
|
||
validates :value, :presence => true
|
||
validates :name, :presence => true, :format => {:with => /\A\S*\Z/, :message => N_("can't contain white spaces")}
|
||
validates :reference_id, :presence => {:message => N_("parameters require an associated domain, operating system, host or host group")}, :unless => Proc.new {|p| p.nested or p.is_a? CommonParameter}
|
||
|
app/models/taxonomies/location.rb | ||
---|---|---|
|
||
has_many :location_parameters, :class_name => 'LocationParameter', :foreign_key => :reference_id, :dependent => :destroy
|
||
has_many :default_users, :class_name => 'User', :foreign_key => :default_location_id
|
||
accepts_nested_attributes_for :location_parameters, :reject_if => lambda { |a| a[:value].blank? }, :allow_destroy => true
|
||
accepts_nested_attributes_for :location_parameters, :allow_destroy => true
|
||
|
||
scope :completer_scope, lambda { |opts| my_locations }
|
||
|
app/models/taxonomies/organization.rb | ||
---|---|---|
|
||
has_many :organization_parameters, :class_name => 'OrganizationParameter', :foreign_key => :reference_id, :dependent => :destroy
|
||
has_many :default_users, :class_name => 'User', :foreign_key => :default_organization_id, :dependent => :nullify
|
||
accepts_nested_attributes_for :organization_parameters, :reject_if => lambda { |a| a[:value].blank? }, :allow_destroy => true
|
||
accepts_nested_attributes_for :organization_parameters, :allow_destroy => true
|
||
|
||
scope :completer_scope, lambda { |opts| my_organizations }
|
||
|
test/unit/common_parameter_test.rb | ||
---|---|---|
assert parameter.save
|
||
end
|
||
|
||
test "value can't be blank" do
|
||
test "value can be blank" do
|
||
parameter = CommonParameter.new :name => "some_parameter", :value => " "
|
||
assert parameter.value.strip.empty?
|
||
assert !parameter.save
|
||
assert parameter.save
|
||
end
|
||
|
||
test "value can't be empty" do
|
||
test "value can be empty" do
|
||
parameter = CommonParameter.new :name => "some_parameter", :value => ""
|
||
assert parameter.value.strip.empty?
|
||
assert !parameter.save
|
||
assert parameter.save
|
||
end
|
||
|
||
test "value can contain spaces and unusual characters" do
|
Also available in: Unified diff
Fixes #215: Parameters can be saved without a value