12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
# File 'app/helpers/databaseformalizer/entities_helper.rb', line 12
def EntitiesHelper.setAttrVals(params, entity, parent = nil )
if params == nil; params = []; end
params.each do |attrType,attrFormValue|
attrDef = AttrDef.find(attrType);
attrVal = entity.attr_vals.find_by_attr_def_name(attrType)
if attrVal == nil || (attrVal != nil && parent != nil && parent.attrDef.dataType == "openList" )
attrVal = AttrVal.new(:attrDef => attrDef)
entity.attr_vals << attrVal
if parent != nil
parent.attrValChilds << attrVal
end
end
case attrVal.attrDef.dataType
when "String"
attrVal.value = attrFormValue
when "Date"
attrVal.value = "25/10/2010"
when "aChoice"
attrVal.value = "selected"
when "checkList"
attrFormValue.reject!{ |k,val| val == "0" }
EntitiesHelper.setAttrVals(attrFormValue, entity, attrVal)
attrVal.value = "isList"
when "selectOneInList"
EntitiesHelper.setAttrVals({ attrFormValue => 1 }, entity, attrVal)
attrVal.value = "isList"
when "openList"
attrFormValue.delete("_destroy")
map = attrFormValue.map{|a| [a[0][0..-14], a[1]]}
EntitiesHelper.setAttrVals(map, entity, attrVal)
attrVal.value = "isList"
when "entityDef"
attrVal.value = attrFormValue
else
attrVal.value = attrFormValue
end
attrVal.save
end
end
|