Revision 3d58e226
Added by Marc Dequènes over 15 years ago
- ID 3d58e22672318af63b3682a7a89766525a7355fa
lib/ldap_shadows/object.rb | ||
---|---|---|
|
||
def fetch_relations_data(rel_list, expert_attributes)
|
||
rel_data = rel_list.collect do |rel|
|
||
data = self.send(rel).collect{|g| g.name }
|
||
if data.empty?
|
||
data = self.send(rel)
|
||
if data.is_a? Enumerable
|
||
if data.empty?
|
||
value = nil
|
||
else
|
||
value = data.collect{|g| g.name }
|
||
multiple = true
|
||
end
|
||
else
|
||
if data.target.nil?
|
||
value = nil
|
||
else
|
||
value = data.name
|
||
end
|
||
multiple = false
|
||
end
|
||
|
||
if value.nil?
|
||
nil
|
||
else
|
||
["rel:" + rel, {
|
||
:value => data,
|
||
:multiple => (data.size > 1),
|
||
:expert => expert_attributes.include?("rel:" + rel),
|
||
rel_key = "rel:" + rel
|
||
[rel_key, {
|
||
:value => value,
|
||
:multiple => multiple,
|
||
:expert => expert_attributes.include?(rel_key),
|
||
:binary => false
|
||
}]
|
||
end
|
Also available in: Unified diff
[fix] fs aspect primaryGroup corrected, and now handle single-valued relation data, and btw disallow adding the same value multiple times