Module: PeopleHelper

Includes:
ERB::Util
Included in:
Diaspora::Mentionable::MentionsInternal, NotificationsHelper, ProfilePresenter, StatusMessage
Defined in:
app/helpers/people_helper.rb

Overview

Copyright © 2010-2011, Diaspora Inc. This file is

licensed under the Affero General Public License version 3 or later.  See
the COPYRIGHT file.

Instance Method Summary collapse

Instance Method Details

#birthday_format(bday) ⇒ Object


20
21
22
23
24
25
26
# File 'app/helpers/people_helper.rb', line 20

def birthday_format(bday)
  if bday.year <= 1004
    I18n.l bday, format: I18n.t("date.formats.birthday")
  else
    I18n.l bday, format: I18n.t("date.formats.birthday_with_year")
  end
end

#local_or_remote_person_path(person, opts = {}) ⇒ Object

Rails.application.routes.url_helpers is needed since this is indirectly called from a model


56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'app/helpers/people_helper.rb', line 56

def local_or_remote_person_path(person, opts={})
  opts.merge!(:protocol => AppConfig.pod_uri.scheme, :host => AppConfig.pod_uri.authority)
  absolute = opts.delete(:absolute)

  if person.local?
    username = person.username
    unless username.include?('.')
      opts.merge!(:username => username)
      if absolute
        return Rails.application.routes.url_helpers.(opts)
      else
        return Rails.application.routes.url_helpers.(opts)
      end
    end
  end

  if absolute
    return Rails.application.routes.url_helpers.person_url(person, opts)
  else
    return Rails.application.routes.url_helpers.person_path(person, opts)
  end
end

42
43
44
45
46
47
48
49
50
51
52
53
# File 'app/helpers/people_helper.rb', line 42

def person_image_link(person, opts={})
  return "" if person.nil? || person.profile.nil?
  if opts[:to] == :photos
    link_to person_image_tag(person, opts[:size]), person_photos_path(person)
  else
    css_class = person_link_class(person, opts[:class])
    remote_or_hovercard_link = Rails.application.routes.url_helpers.person_path(person).html_safe
    "<a href='#{remote_or_hovercard_link}' class='#{css_class}' #{('target=' + opts[:target]) if opts[:target]}>
    #{person_image_tag(person, opts[:size])}
    </a>".html_safe
  end
end

#person_image_tag(person, size = :thumb_small) ⇒ Object


36
37
38
39
40
# File 'app/helpers/people_helper.rb', line 36

def person_image_tag(person, size = :thumb_small)
  return "" if person.nil? || person.profile.nil?
  image_tag(person.profile.image_url(size: size), alt: person.name, class: "avatar img-responsive center-block",
            title: person.name, "data-person_id": person.id)
end

28
29
30
31
32
33
34
# File 'app/helpers/people_helper.rb', line 28

def person_link(person, opts={})
  css_class = person_link_class(person, opts[:class])
  remote_or_hovercard_link = Rails.application.routes.url_helpers.person_path(person).html_safe
  "<a data-hovercard='#{remote_or_hovercard_link}' href='#{remote_or_hovercard_link}' class='#{css_class}'>"\
    "#{html_escape_once(opts[:display_name] || person.name)}</a>"\
    .html_safe
end

#search_headerObject


10
11
12
13
14
15
16
17
18
# File 'app/helpers/people_helper.rb', line 10

def search_header
  if search_query.blank?
    (:h2, t('people.index.no_results'))
  else
    (:h2, id: 'search_title') do
      t('people.index.results_for', search_term: (:span, search_query, class: 'term')).html_safe + looking_for_tag_link
    end
  end
end