Project

General

Profile

« Previous | Next » 

Revision f1a2c140

Added by Dominic Cleal over 8 years ago

fixes #8521 - fix classes accessors, copy overrides on host clone

The various 'classes' accessors that are used in the UI for displaying
the Puppet classes tab only really worked for saved objects, so they're
changed to work better on an unsaved cloned object. Tests now check
all associations and UI accessors return consistent results for various
types of class associations.

View differences:

app/models/concerns/host_common.rb
end
def host_class_ids
is_a?(Host::Base) ? host_classes.pluck(:puppetclass_id) : []
(is_a?(Host::Base) ? host_classes : hostgroup_classes).map(&:puppetclass_id)
end
def all_puppetclass_ids
......
end
def individual_puppetclasses
puppetclasses - classes_in_groups
conditions = {:id => host_class_ids - cg_class_ids}
if environment
environment.puppetclasses.where(conditions)
else
Puppetclass.where(conditions)
end
end
def available_puppetclasses
......
end
def update_config_group_counters(record)
return unless persisted?
record.update_attribute(:hostgroups_count, cnt_hostgroups(record))
record.update_attribute(:hosts_count, cnt_hosts(record))

Also available in: Unified diff