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
|
# File 'lib/labimotion/models/concerns/generic_klass_revisions.rb', line 17
def create_klasses_revision(current_user)
properties_release = properties_template
migrate_workflow if properties_release['flow'].present?
if properties_release['flowObject'].present?
elements = (properties_release['flowObject']['nodes'] || []).map do |el|
if el['data'].present? && el['data']['lKey'].present?
layer = properties_release[Labimotion::Prop::LAYERS][el['data']['lKey']]
el['data']['layer'] = layer if layer.present?
end
el
end
properties_release['flowObject']['nodes'] = elements
end
klass_attributes = {
uuid: properties_template['uuid'],
properties_template: properties_release,
properties_release: properties_release,
released_at: DateTime.now,
updated_by: current_user&.id,
released_by: current_user&.id,
}
self.update!(klass_attributes)
reload
attributes = {
released_by: released_by,
uuid: uuid,
version: version,
created_by: updated_by,
properties_release: properties_release,
released_at: released_at
}
attributes["#{self.class.name.underscore.split('/').last}_id"] = id
"#{self.class.name}esRevision".constantize.create(attributes)
end
|