From: Tom Hughes Date: Tue, 20 Feb 2024 18:29:44 +0000 (+0000) Subject: Merge remote-tracking branch 'upstream/pull/4530' X-Git-Tag: live~260 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/1fa2972bcd72a26e5b890316e39eec635aedd796?hp=9cdb8f208e53eaa15dfe6ead0c47cf01e0cf43ff Merge remote-tracking branch 'upstream/pull/4530' --- diff --git a/Gemfile.lock b/Gemfile.lock index 9626a4315..0f4c8d1ca 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -95,11 +95,12 @@ GEM autoprefixer-rails (10.4.16.0) execjs (~> 2) aws-eventstream (1.3.0) - aws-partitions (1.889.0) - aws-sdk-core (3.191.1) + aws-partitions (1.894.0) + aws-sdk-core (3.191.2) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.651.0) aws-sigv4 (~> 1.8) + base64 jmespath (~> 1, >= 1.6.1) aws-sdk-kms (1.77.0) aws-sdk-core (~> 3, >= 3.191.0) @@ -179,7 +180,7 @@ GEM activerecord (>= 3.0, < 8.0) delayed_job (>= 3.0, < 5) docile (1.4.0) - doorkeeper (5.6.8) + doorkeeper (5.6.9) railties (>= 5) doorkeeper-i18n (5.2.7) doorkeeper (>= 5.2) @@ -247,14 +248,14 @@ GEM ffi-libarchive (1.1.14) ffi (~> 1.0) file_exists (0.2.0) - frozen_record (0.27.0) + frozen_record (0.27.1) activemodel fspath (3.1.2) gd2-ffij (0.4.0) ffi (>= 1.0.0) globalid (1.2.1) activesupport (>= 6.1) - google-protobuf (3.25.2) + google-protobuf (3.25.3) hashdiff (1.1.0) hashie (5.0.0) highline (3.0.1) @@ -303,7 +304,8 @@ GEM railties (>= 4.2.0) thor (>= 0.14, < 2.0) json (2.7.1) - jwt (2.7.1) + jwt (2.8.0) + base64 kgio (2.11.4) kramdown (2.4.0) rexml @@ -405,7 +407,7 @@ GEM parser (3.3.0.5) ast (~> 2.4.1) racc - pg (1.5.4) + pg (1.5.5) popper_js (2.11.8) progress (3.6.0) psych (5.1.2) @@ -529,7 +531,7 @@ GEM google-protobuf (~> 3.23) rake (>= 13.0.0) secure_headers (6.5.0) - selenium-webdriver (4.17.0) + selenium-webdriver (4.18.1) base64 (~> 0.2) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) @@ -573,7 +575,7 @@ GEM i18n vendorer (0.2.0) version_gem (1.1.3) - webmock (3.20.0) + webmock (3.21.2) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) diff --git a/app/assets/stylesheets/browse.scss b/app/assets/stylesheets/browse.scss index 7c6f4b365..fe398bc5a 100644 --- a/app/assets/stylesheets/browse.scss +++ b/app/assets/stylesheets/browse.scss @@ -14,10 +14,6 @@ margin-left: 25px; } - /* Deleted objects */ - - .deleted { text-decoration: line-through; } - /* Nodes (and ways as areas) */ .aeroway.aerodrome::before { content: image-url('browse/aerodrome.p.16.png'); } diff --git a/app/helpers/browse_helper.rb b/app/helpers/browse_helper.rb index 0f533770b..7aa6e4754 100644 --- a/app/helpers/browse_helper.rb +++ b/app/helpers/browse_helper.rb @@ -1,12 +1,25 @@ module BrowseHelper - def printable_name(object, version: false) + def element_single_current_link(type, object, url) + link_to url, { :class => element_class(type, object), :title => element_title(object), :rel => (link_follow(object) if type == "node") } do + element_strikethrough object do + printable_element_name object + end + end + end + + def element_list_item(type, object, &block) + tag.li :class => element_class(type, object), :title => element_title(object) do + element_strikethrough object, &block + end + end + + def printable_element_name(object) id = if object.id.is_a?(Array) object.id[0] else object.id end - name = t "printable_name.with_id", :id => id.to_s - name = t "printable_name.with_version", :id => name, :version => object.version.to_s if version + name = id.to_s # don't look at object tags if redacted, so as to avoid giving # away redacted version tag information. @@ -27,20 +40,25 @@ module BrowseHelper name end - def link_class(type, object) - classes = [type] + def printable_element_version(object) + t "printable_name.version", :version => object.version + end - if object.redacted? - classes << "deleted" + def element_strikethrough(object, &block) + if object.redacted? || !object.visible? + tag.s(&block) else - classes += icon_tags(object).flatten.map { |t| h(t) } - classes << "deleted" unless object.visible? + yield end + end + def element_class(type, object) + classes = [type] + classes += icon_tags(object).flatten.map { |t| h(t) } unless object.redacted? classes.join(" ") end - def link_title(object) + def element_title(object) if object.redacted? "" else diff --git a/app/views/browse/_containing_relation.html.erb b/app/views/browse/_containing_relation.html.erb index 06220a97d..2547ff7aa 100644 --- a/app/views/browse/_containing_relation.html.erb +++ b/app/views/browse/_containing_relation.html.erb @@ -1,4 +1,4 @@ -
  • <%= linked_name = link_to printable_name(containing_relation.relation), :action => "relation", :id => containing_relation.relation.id.to_s +
  • <%= linked_name = link_to printable_element_name(containing_relation.relation), :action => "relation", :id => containing_relation.relation.id.to_s if containing_relation.member_role.blank? t ".entry_html", :relation_name => linked_name else diff --git a/app/views/browse/_node.html.erb b/app/views/browse/_node.html.erb index cc8597292..6c6c1fdf3 100644 --- a/app/views/browse/_node.html.erb +++ b/app/views/browse/_node.html.erb @@ -17,7 +17,7 @@ <%= t "browse.part_of_ways", :count => node.ways.uniq.count %> diff --git a/app/views/browse/_relation_member.html.erb b/app/views/browse/_relation_member.html.erb index 5e52c04e8..16842f569 100644 --- a/app/views/browse/_relation_member.html.erb +++ b/app/views/browse/_relation_member.html.erb @@ -1,10 +1,9 @@ -<% member_class = link_class(relation_member.member_type.downcase, relation_member.member) - linked_name = link_to printable_name(relation_member.member), { :controller => :browse, :action => relation_member.member_type.downcase, :id => relation_member.member_id.to_s }, { :title => link_title(relation_member.member), :rel => link_follow(relation_member.member) } +<% linked_name = link_to printable_element_name(relation_member.member), { :controller => :browse, :action => relation_member.member_type.downcase, :id => relation_member.member_id.to_s }, { :rel => link_follow(relation_member.member) } type_str = t ".type.#{relation_member.member_type.downcase}" %> -
  • +<%= element_list_item relation_member.member_type.downcase, relation_member.member do %> <%= if relation_member.member_role.blank? t ".entry_html", :type => type_str, :name => linked_name else t ".entry_role_html", :type => type_str, :name => linked_name, :role => relation_member.member_role end %> -
  • +<% end %> diff --git a/app/views/browse/_way.html.erb b/app/views/browse/_way.html.erb index 26403f3fd..7197298ac 100644 --- a/app/views/browse/_way.html.erb +++ b/app/views/browse/_way.html.erb @@ -27,10 +27,12 @@