Module: PeopleHelper
- Defined in:
- app/helpers/people_helper.rb
Instance Method Summary collapse
- #author_annotation_tag(author) ⇒ Object
- #author_list_tag(object) ⇒ Object
- #editor_list_tag(object) ⇒ Object
-
#people_names(people) ⇒ String?
A formatted list of people's last names TODO: deprecate for native call.
- #people_search_form ⇒ Object
- #person_active_tag(person) ⇒ Object
- #person_autocomplete_tag(person) ⇒ Object
- #person_link(person) ⇒ Object
- #person_lived_tag(person) ⇒ Object
- #person_project_membership_tag(person) ⇒ Object
- #person_tag(person) ⇒ Object
- #person_timeframe_tag(person) ⇒ Object
- #person_used_tag(person) ⇒ Object
Instance Method Details
#author_annotation_tag(author) ⇒ Object
77 78 79 80 |
# File 'app/helpers/people_helper.rb', line 77 def () return nil if .nil? content_tag(:span, .name, class: [:annotation__author]) end |
#author_list_tag(object) ⇒ Object
82 83 84 85 86 87 88 |
# File 'app/helpers/people_helper.rb', line 82 def (object) return nil unless object..any? content_tag(:h3, 'Authors') + content_tag(:ul, class: 'annotations_author_list') do object..collect{|a| content_tag(:li, (a)) }.join.html_safe end end |
#editor_list_tag(object) ⇒ Object
90 91 92 93 94 95 96 |
# File 'app/helpers/people_helper.rb', line 90 def editor_list_tag(object) return nil unless object.editors.any? content_tag(:h3, 'Editors') + content_tag(:ul, class: 'annotations_editor_list') do object.editors.collect{|a| content_tag(:li, (a)) }.join.html_safe end end |
#people_names(people) ⇒ String?
Returns A formatted list of people's last names TODO: deprecate for native call.
73 74 75 |
# File 'app/helpers/people_helper.rb', line 73 def people_names(people) Utilities::Strings.( people.collect{ |a| a.full_last_name } ) end |
#people_search_form ⇒ Object
66 67 68 |
# File 'app/helpers/people_helper.rb', line 66 def people_search_form render('/people/quick_search_form') end |
#person_active_tag(person) ⇒ Object
44 45 46 47 48 49 50 51 |
# File 'app/helpers/people_helper.rb', line 44 def person_active_tag(person) return ('active: ' + content_tag(:i, 'unknown')).html_safe if person.year_active_start.nil? && person.year_active_end.nil? ae = person.year_active_end ae = nil if !ae.nil? && ae == person.year_active_start 'active ~ ' + [ person.year_active_start || '?', ae || '?'].join('-') end |
#person_autocomplete_tag(person) ⇒ Object
17 18 19 20 21 22 23 24 |
# File 'app/helpers/people_helper.rb', line 17 def person_autocomplete_tag(person) return nil if person.nil? [ person_tag(person), person_timeframe_tag(person), person_used_tag(person), person_project_membership_tag(person) ].compact.join(' ') end |
#person_link(person) ⇒ Object
12 13 14 15 |
# File 'app/helpers/people_helper.rb', line 12 def person_link(person) return nil if person.nil? link_to(person_tag(person), person.) end |
#person_lived_tag(person) ⇒ Object
32 33 34 |
# File 'app/helpers/people_helper.rb', line 32 def person_lived_tag(person) 'lived: ' + [person.year_born || '?', person.year_died || '?'].join('-') end |
#person_project_membership_tag(person) ⇒ Object
36 37 38 39 40 41 42 |
# File 'app/helpers/people_helper.rb', line 36 def person_project_membership_tag(person) if person && person.used_in_project?(sessions_current_project_id) content_tag(:span, "In Project".html_safe, class: [:feedback, 'feedback-thin', 'feedback-success']) else nil end end |
#person_tag(person) ⇒ Object
3 4 5 6 7 8 9 10 |
# File 'app/helpers/people_helper.rb', line 3 def person_tag(person) return nil if person.nil? if person.new_record? person.bibtex_name else person.cached ? person.cached : 'CACHED VALUE NOT BUILT, CONTACT AN ADMIN.' end end |
#person_timeframe_tag(person) ⇒ Object
26 27 28 29 30 |
# File 'app/helpers/people_helper.rb', line 26 def person_timeframe_tag(person) content_tag(:span, class: [ :feedback, 'feedback-secondary', 'feedback-thin' ]) do (person_lived_tag(person) + ' ' + person_active_tag(person)).html_safe end.html_safe end |
#person_used_tag(person) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'app/helpers/people_helper.rb', line 53 def person_used_tag(person) t = person.roles.load a = '' if t.count == 0 a += content_tag(:span, 'unused', class: [:feedback, 'feedback-thin', 'feedback-danger'] ) elsif t.count > 0 a = a + content_tag(:span, "#{person.roles.size} #{"use".pluralize(t)}", class: [:feedback, 'feedback-thin', 'feedback-primary'] ) + ' ' a = a + content_tag(:span, "#{person.roles.collect{|r| r.class.human_name}.uniq.join(', ')}", class: [:feedback, 'feedback-thin', 'feedback-secondary'] ) else '' end end |