X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/694fa065c0c943664072a80b552d4985967176f9..f3fa97fc6315ad618a3b1d0dbc5febcfe853e141:/app/helpers/changeset_helper.rb diff --git a/app/helpers/changeset_helper.rb b/app/helpers/changeset_helper.rb index 147624106..cc008aab7 100644 --- a/app/helpers/changeset_helper.rb +++ b/app/helpers/changeset_helper.rb @@ -1,24 +1,46 @@ module ChangesetHelper - def changeset_time_ago(changeset) - out = '' - created_at = distance_of_time_in_words_to_now(changeset.created_at) - closed_at = distance_of_time_in_words_to_now(changeset.closed_at) - if created_at == closed_at - out << t('browse.changeset_details.closed_at') + ' ' - both_times = t('browse.changeset_details.created_at') + ': ' + l(changeset.created_at) - both_times << ' ' - both_times << t('browse.changeset_details.closed_at') + ': ' + l(changeset.closed_at) - out << content_tag(:abbr, t('browse.changeset_details.ago', :ago => created_at), title: both_times.html_safe) - else - out << t('browse.changeset_details.created_at') + ' ' - out << content_tag(:abbr, t('browse.changeset_details.ago', :ago => created_at), title: l(changeset.created_at)) - out << t('browse.changeset_details.closed_at') + ' ' - out << content_tag(:abbr, t('browse.changeset_details.ago', :ago => closed_at), title: l(changeset.closed_at)) - end - if changeset.user.data_public? - out << ' ' + t('browse.changeset_details.by') + ' ' - out << link_to(h(changeset.user.display_name), :controller => "user", :action => "view", :display_name => changeset.user.display_name) - end - return out.html_safe + def changeset_user_link(changeset) + if changeset.user.status == "deleted" + t("user.no_such_user.deleted") + elsif changeset.user.data_public? + link_to(changeset.user.display_name, user_path(changeset.user.display_name)) + else + t("browse.anonymous") end + end + + def changeset_details(changeset) + if changeset.closed_at > DateTime.now + action = :created + time = distance_of_time_in_words_to_now(changeset.created_at) + title = l(changeset.created_at) + else + action = :closed + time = distance_of_time_in_words_to_now(changeset.closed_at) + title = "#{t('browse.created')}: #{l(changeset.created_at)} #{t('browse.closed')}: #{l(changeset.closed_at)}".html_safe + end + + if params.key?(:display_name) + t "browse.#{action}_html", + :time => time, + :title => title + else + t "browse.#{action}_by_html", + :time => time, + :title => title, + :user => changeset_user_link(changeset) + end + end + + def changeset_list_title(params, user) + if params[:friends] && user + t "changeset.list.title_friend" + elsif params[:nearby] && user + t "changeset.list.title_nearby" + elsif params[:display_name] + t "changeset.list.title_user", :user => params[:display_name] + else + t "changeset.list.title" + end + end end