Class: GetFieldTreeListTransaction

Inherits:
Cortex::ApplicationTransaction
  • Object
show all
Defined in:
app/transactions/get_field_tree_list_transaction.rb

Instance Method Summary collapse

Instance Method Details

#init(input) ⇒ Object



5
6
7
8
9
# File 'app/transactions/get_field_tree_list_transaction.rb', line 5

def init(input)
  field = Field.find_by_id(input[:args]['field_id'])

  field ? Success({ content_item: input[:content_item], field: field }) : Failure(:not_found)
end

#process(input) ⇒ Object



11
12
13
14
15
16
17
# File 'app/transactions/get_field_tree_list_transaction.rb', line 11

def process(input)
  tree_array = input[:field].['allowed_values']['data']['tree_array']
  tree_values = input[:content_item].field_items.find {|field_item| field_item.field_id == input[:field].id}.data['values']

  tree_list = tree_values.map {|value| tree_array.find {|node| node['id'] == value.to_i}['node']['name']}.join(',')
  Success(tree_list)
end