<% title "#{@trail.icon_kctref} ladění s KČT", "#{KctTrail.symbol}/#{Trail.symbol} #{@trail.kctref} : ladění " %> <% render partial: 'errors_for', object: @trail # @kct_signs obsahuje vsechny "kct_signs" vpoli [[km1,g1],[km2,g2],...] kde kmi je kilometraz a g1 je kct_guidepost %>
<%= render 'osm_trails/map', :osm_trail=> @trail.osm_trail, :div_class=> 'bootstrap_map' %>
<%= form_for @trail, url: {action: 'update_with_kct'} do |f| %>
<%= @km_diff %> <% def render_line(options); render partial: 'edit_with_kct_table_line', locals: options end # prochází pole @signs a @kct_signs a postupně je vyprazdňuje until @signs.empty? and @kct_signs.empty? %> <%= # vem první tu která má v kilometráži menší číslo if ((@kct_signs.first || [nil])[0] || Float::INFINITY) < @km_diff+(@signs.first.andand.km || Float::INFINITY) kct_gpt = @kct_signs.first signs_odpovidajici, @signs = @signs.partition{|s| s.has_kctref?(kct_gpt[1].kctref)} sign = signs_odpovidajici.first gpt = sign.nil? ? nil : [sign.km, sign.guidepost] if sign # oddeli z @kct_signs ty ktere maji odpovidajici kct_guidepost kct_odpovidajici, @kct_signs = @kct_signs.partition{|kg| sign.guidepost.kct_guideposts.include? kg[1]} render_line(kct_signs: kct_odpovidajici, rel: :related, gpt: gpt, sign: sign, note: 'nA1') else @kct_signs.shift if kct_gpt[1].guidepost.nil? join_kct_guidepost = @kct_signs_with_guidepost.select{|kg| kg.nazev == kct_gpt[1].nazev}.first if join_kct_guidepost raise kct_gpt.inspect render_line( kct_signs: [kct_gpt], rel: :join_to_guidepost, note: 'nA2', assimilate_kct_kilometraz: KctKilometraz.find_by(kct_trail: @kct_trail, kct_guidepost: kct_gpt), join_kct_guidepost: join_kct_guidepost ) else render_line( kct_signs: [kct_gpt], rel: :create, note: 'nA3', assimilate_kct_kilometraz: KctKilometraz.find_by(kct_trail: @kct_trail, kct_guidepost: kct_gpt) ) end else render_line( kct_signs: [kct_gpt], rel: :assimilate, gpt: [nil, kct_gpt[1].guidepost], note: 'nA4', assimilate_kct_kilometraz: KctKilometraz.find_by(kct_trail: @kct_trail, kct_guidepost: kct_gpt) ) end end else oldsigns = @signs.collect(&:kctref).inspect sign = @signs.shift gpt = [sign.km, sign.guidepost] kct_odpovidajici, @kct_signs = @kct_signs.partition{|kg| gpt[1].kct_guideposts.include? kg[1]} render_line(kct_signs: kct_odpovidajici, rel: :related, gpt: gpt, sign: sign, note: 'nB') end %> <% end %>
kmKČTkmDBF

<%= f.submit "Proveď všechny akce!" %>

<% end %>
<%= content_for :navigace do %> <%= link_to 'info o trase', @trail %> | <%= link_to 'uprav', edit_trail_path(@trail) %> | <%= link_to 'uprav s KČT', edit_with_kct_trail_path(@trail) %> | <%= link_to 'uprav s OSM', edit_with_osm_trail_path(@trail) %> | <%= link_to 'uprav s KČT i OSM', edit_with_osm_and_kct_trail_path(@trail) %> | <%= link_to 'zkontroluj', check_trail_path(@trail) %> | <%= link_to 'přenes kilometráž z OSM', update_kilometraz_trail_path(@trail), :method => 'patch' %> | <%= link_to 'seznam tras', trails_path %> <% end %>