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 > Time.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