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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# File 'app/services/floor_plan_json_generator.rb', line 28
def generate_installation_options(plan)
res = []
plan.rooms.with_room_configuration.each do |sr|
midres = {}
room = sr.room_configuration
litems = []
room.floorplan_quote_parent_line_items.each do |li|
pcp = Www::ProductCatalogPresenter.new(ViewProductCatalog.where(catalog_id: 1).find_by(item_sku: li.item.sku))
if pcp.amazon_affiliate_link.present?
a = {
name: li.item.name,
url: pcp.amazon_affiliate_link,
sku: li.item.sku,
description: item.rendered_detailed_description_html
}
elsif (item = li.item)&.orderable_online_in_locale?
a = {
name: item.name,
url: "https://www.warmlyyours.com#{item.canonical_url(locale: I18n.locale)}",
sku: li.item.sku,
description: item.rendered_detailed_description_html
}
elsif (successor_item = li.item.successor_item)&.orderable_online_in_locale?
a = {
name: successor_item.name,
url: "https://www.warmlyyours.com#{successor_item.canonical_url(locale: I18n.locale)}",
sku: successor_item.sku,
description: successor_item.rendered_detailed_description_html
}
elsif li.item
a = {
name: li.item.name,
url: '',
sku: li.item.sku,
description: li.item.rendered_detailed_description_html
}
end
litems << a
end
midres[sr.name] = litems
res << midres
end
res
end
|