Module: RepositoriesHelper
- Defined in:
- app/helpers/repositories_helper.rb
Instance Method Summary collapse
- #label_for_repository(repository) ⇒ Object
- #repositories_search_form ⇒ Object
- #repository_autocomplete_tag(repository) ⇒ Object
- #repository_link(repository) ⇒ Object
- #repository_tag(repository) ⇒ Object
-
#repository_usage_tag(repository) ⇒ Object
use_count/in_project_use_count come from autocomplete pre-calculation, when present.
Instance Method Details
#label_for_repository(repository) ⇒ Object
10 11 12 13 |
# File 'app/helpers/repositories_helper.rb', line 10 def label_for_repository(repository) return nil if repository.nil? repository_tag(repository) # identical for now end |
#repositories_search_form ⇒ Object
52 53 54 |
# File 'app/helpers/repositories_helper.rb', line 52 def repositories_search_form render('/repositories/quick_search_form') end |
#repository_autocomplete_tag(repository) ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'app/helpers/repositories_helper.rb', line 20 def repository_autocomplete_tag(repository) [ tag.span(repository.acronym, class: [:feedback, 'feedback-thin', 'feedback-secondary']), repository.name, repository.url.present? ? tag.span(repository.url, class: [:feedback, 'feedback-thin']) : nil, (repository. ? tag.span('Herbarium', class: [:feedback, 'feedback-info', 'feedback-thin']) : nil), repository_usage_tag(repository) ].compact.join(' ').html_safe end |
#repository_link(repository) ⇒ Object
15 16 17 18 |
# File 'app/helpers/repositories_helper.rb', line 15 def repository_link(repository) return nil if repository.nil? link_to(repository_tag(repository).html_safe, repository) end |
#repository_tag(repository) ⇒ Object
3 4 5 6 7 8 |
# File 'app/helpers/repositories_helper.rb', line 3 def repository_tag(repository) return nil if repository.nil? [repository.name, (repository.acronym ? "(#{repository.acronym})" : nil) ].join(' ').html_safe end |
#repository_usage_tag(repository) ⇒ Object
use_count/in_project_use_count come from autocomplete pre-calculation, when present
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'app/helpers/repositories_helper.rb', line 31 def repository_usage_tag(repository) collection_objects_scope = repository.collection_objects.or(repository.current_collection_objects) total = (repository.respond_to?(:use_count) ? repository.use_count : collection_objects_scope.count) total_in_project = ( repository.respond_to?(:in_project_use_count) ? repository.in_project_use_count : collection_objects_scope.where(collection_objects: {project_id: sessions_current_project_id}).count ) if total > 0 uses_tag = tag.span(("Used: " + total.to_s).html_safe, class: [:feedback, 'feedback-thin', 'feedback-primary']) in_project_tag = tag.span(("Project: " + total_in_project.to_s).html_safe, class: [:feedback, 'feedback-thin', 'feedback-success']) if total_in_project > 0 else uses_tag = tag.span('Unused', class: [:feedback, 'feedback-thin', 'feedback-warning']) end [uses_tag, in_project_tag].compact.join(' ') end |