foreman/app/models/taxonomies/location.rb @ 2de7832d
611f5bff | Amos Benari | class Location < Taxonomy
|
|
include Foreman::ThreadSession::LocationModel
|
|||
has_and_belongs_to_many :organizations
|
|||
3f77babd | Joseph Mitchell Magen | has_many_hosts :dependent => :nullify
|
|
611f5bff | Amos Benari | ||
2de7832d | Ohad Levy | has_many :parameters, :dependent => :destroy, :foreign_key => :reference_id, :class_name => "LocationParameter"
|
|
accepts_nested_attributes_for :parameters, :reject_if => lambda { |a| a[:value].blank? }, :allow_destroy => true
|
|||
bae0bea9 | Dominic Cleal | scope :completer_scope, lambda { |opts| my_locations }
|
|
611f5bff | Amos Benari | ||
scope :my_locations, lambda {
|
|||
user = User.current
|
|||
if user.admin?
|
|||
conditions = { }
|
|||
else
|
|||
657664fe | Ohad Levy | conditions = sanitize_sql_for_conditions([" (taxonomies.id in (?))", user.location_ids])
|
|
611f5bff | Amos Benari | end
|
|
where(conditions).reorder('type, name')
|
|||
}
|
|||
afa59582 | Ohad Levy | ||
feacea35 | Amos Benari | def dup
|
|
afa59582 | Ohad Levy | new = super
|
|
new.organizations = organizations
|
|||
new
|
|||
end
|
|||
611f5bff | Amos Benari | end
|