6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/meta_controller/adaptors/asset_actions.rb', line 6
def has_assets(name)
name = name.to_s
define_controller_method(name, %{
#{short_model_name}
if params[:#{long_model_name}] && params[:#{long_model_name}][:#{name.singularize}]
#{short_model_name}.#{name} = [params[:#{long_model_name}][:#{name.singularize}]]
#{short_model_name}.save
elsif params[:#{name}]
# to be done
end
@#{name} = #{short_model_name}.#{name}
render :action => '#{name}'
})
define_controller_method("delete_#{name}", %{
#{short_model_name}
selected_assets = params[:#{name}].collect { |id, state| state.to_i == 1 ? id.to_i : nil }
selected_assets.compact!
allocations = #{short_model_name}.#{name.singularize}_allocations.all(:conditions => { :asset_id => selected_assets })
allocations.each do |allocation|
allocation.destroy
end
redirect_to #{name}_#{long_model_name}_path(#{short_model_name})
})
end
|