module C80Push module PageDealers module DealersLeftListHelper # Выдать html unordered nested list Дилеров (включая Офисы), # разложенный по Регионам, построенный # на основе данных +rdo+ - Regions-Dealers-Offices. # Список выводится слева от карты. # (**) Не выводим регионы, у которых нет дилеров. # # Структура списка: # * Регион # * Дилер # * Офис 1 # * адрес офиса # * телефон офиса # * Офис 2 # * адрес офиса # * телефон офиса # * сайт дилера # * email дилера # def render_ul_dealers_list(rdo) res = '' rdo.each do |region| r = "

#{region.title}

" ds = ul_region_dealers(region) next if ds.blank? # (**) r += ds res += "
  • #{r}
  • " end "".html_safe end private # используется только в render_dealers_list # (*) не выводим список дилеров, если он пуст def ul_region_dealers(region) res = '' # noinspection RubyResolve region.dealers.each do |dealer| d = "

    #{dealer.title}

    " d += ul_dealer_offices(dealer) res += "
  • #{d}
  • " end return res if res.blank? # (*) ""#.html_safe end # используется только в ul_region_dealers def ul_dealer_offices(dealer) res = '' # noinspection RubyResolve dealer.offices.each_with_index do |office| o = "

    #{office.title}

    " o += ul_office_props(office) res += "
  • #{o}
  • " end res += "
  • #{dealer.email}
  • " res += "
  • #{dealer.site}
  • " ""#.html_safe end # используется только в ul_dealer_offices def ul_office_props(office) res = '' res += "
  • #{office.addr}
  • " res += "
  • #{office.tel}
  • " ""#.html_safe end end end end