Project

General

Profile

Download (905 Bytes) Statistics
| Branch: | Tag: | Revision:
class HostgroupClass < ActiveRecord::Base
include Authorization
audited :associated_with => :hostgroup, :allow_mass_assignment => true
belongs_to :hostgroup
belongs_to :puppetclass

attr_accessible :hostgroup_id, :hostgroup, :puppetclass_id, :puppetclass

validates :hostgroup_id, :presence => true
validates :puppetclass_id, :presence => true, :uniqueness => {:scope => :hostgroup_id}

def name
"#{hostgroup} - #{puppetclass}"
end

private

def enforce_permissions operation
if operation == "edit" and new_record?
return true # We get called again with the operation being set to create
end
if User.current.allowed_to?(:edit_classes) && Hostgroup.my_groups.pluck(:id).include?(self.hostgroup_id)
return true
else
errors.add(:base, _("You do not have permission to edit Puppet classes on this host group"))
return false
end
end

end
(15-15/49)