]> git.openstreetmap.org Git - rails.git/blob - app/helpers/changesets_helper.rb
Merge pull request #6394 from openstreetmap/dependabot/github_actions/ruby/setup...
[rails.git] / app / helpers / changesets_helper.rb
1 # frozen_string_literal: true
2
3 module ChangesetsHelper
4   def changeset_user_link(changeset)
5     if changeset.user.status == "deleted"
6       t("users.no_such_user.deleted")
7     elsif changeset.user.data_public?
8       link_to changeset.user.display_name, changeset.user, :class => "mw-100 d-inline-block align-bottom text-truncate text-wrap", :dir => "auto"
9     else
10       t("browse.anonymous")
11     end
12   end
13
14   def changeset_details(changeset)
15     if changeset.closed_at > Time.now.utc
16       action = :created
17       time = time_ago_in_words(changeset.created_at, :scope => :"datetime.distance_in_words_ago")
18       title = l(changeset.created_at)
19       datetime = changeset.created_at.xmlschema
20     else
21       action = :closed
22       time = time_ago_in_words(changeset.closed_at, :scope => :"datetime.distance_in_words_ago")
23       title = safe_join([t("changesets.show.created", :when => l(changeset.created_at)), "
".html_safe, t("changesets.show.closed", :when => l(changeset.closed_at))])
24       datetime = changeset.closed_at.xmlschema
25     end
26
27     if params.key?(:display_name)
28       t "changesets.show.#{action}_ago_html", :time_ago => tag.time(time, :title => title, :datetime => datetime)
29     else
30       t "changesets.show.#{action}_ago_by_html", :time_ago => tag.time(time, :title => title, :datetime => datetime),
31                                                  :user => changeset_user_link(changeset)
32     end
33   end
34
35   def changeset_index_title(params, user)
36     if params[:friends] && user
37       t "changesets.index.title_followed"
38     elsif params[:nearby] && user
39       t "changesets.index.title_nearby"
40     elsif params[:display_name]
41       t "changesets.index.title_user", :user => params[:display_name]
42     else
43       t "changesets.index.title"
44     end
45   end
46
47   def changeset_data(changeset)
48     changeset_data = { :id => changeset.id }
49
50     if changeset.bbox_valid?
51       bbox = changeset.bbox.to_unscaled
52       changeset_data[:bbox] = {
53         :minlon => bbox.min_lon,
54         :minlat => bbox.min_lat,
55         :maxlon => bbox.max_lon,
56         :maxlat => bbox.max_lat
57       }
58     end
59
60     changeset_data
61   end
62 end