Module: IssuablesHelper

Defined in:
app/helpers/issuables_helper.rb

Instance Method Summary collapse

Instance Method Details

#issuable_json_path(issuable) ⇒ Object


38
39
40
41
42
43
44
45
46
# File 'app/helpers/issuables_helper.rb', line 38

def issuable_json_path(issuable)
  project = issuable.project

  if issuable.kind_of?(MergeRequest)
    namespace_project_merge_request_path(project.namespace, project, issuable.iid, :json)
  else
    namespace_project_issue_path(project.namespace, project, issuable.iid, :json)
  end
end

#issuable_meta(issuable, project, text) ⇒ Object


77
78
79
80
81
82
83
84
# File 'app/helpers/issuables_helper.rb', line 77

def issuable_meta(issuable, project, text)
  output =  :strong, "#{text} #{issuable.to_reference}", class: "identifier"
  output << " opened #{time_ago_with_tooltip(issuable.created_at)} by".html_safe
  output << (:strong) do
    author_output = link_to_member(project, issuable.author, size: 24, mobile_classes: "hidden-xs")
    author_output << link_to_member(project, issuable.author, size: 24, by_username: true, avatar: false, mobile_classes: "hidden-sm hidden-md hidden-lg")
  end
end

#issuables_count(issuable) ⇒ Object


11
12
13
# File 'app/helpers/issuables_helper.rb', line 11

def issuables_count(issuable)
  base_issuable_scope(issuable).maximum(:iid)
end

#milestone_dropdown_label(milestone_title, default_label = "Milestone") ⇒ Object


69
70
71
72
73
74
75
# File 'app/helpers/issuables_helper.rb', line 69

def milestone_dropdown_label(milestone_title, default_label = "Milestone")
  if milestone_title == Milestone::Upcoming.name
    milestone_title = Milestone::Upcoming.title
  end

  h(milestone_title.presence || default_label)
end

#multi_label_name(current_labels, default_label) ⇒ Object


19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'app/helpers/issuables_helper.rb', line 19

def multi_label_name(current_labels, default_label)
  # current_labels may be a string from before
  if current_labels.is_a?(Array)
    if current_labels.count > 1
      "#{current_labels[0]} +#{current_labels.count - 1} more"
    else
      current_labels[0]
    end
  elsif current_labels.is_a?(String)
    if current_labels.nil? || current_labels.empty?
      default_label
    else
      current_labels
    end
  else
    default_label
  end
end

#next_issuable_for(issuable) ⇒ Object


15
16
17
# File 'app/helpers/issuables_helper.rb', line 15

def next_issuable_for(issuable)
  base_issuable_scope(issuable).where('iid > ?', issuable.iid).last
end

#prev_issuable_for(issuable) ⇒ Object


48
49
50
# File 'app/helpers/issuables_helper.rb', line 48

def prev_issuable_for(issuable)
  base_issuable_scope(issuable).where('iid < ?', issuable.iid).first
end

7
8
9
# File 'app/helpers/issuables_helper.rb', line 7

def sidebar_gutter_collapsed_class
  "right-sidebar-#{sidebar_gutter_collapsed? ? 'collapsed' : 'expanded'}"
end

3
4
5
# File 'app/helpers/issuables_helper.rb', line 3

def sidebar_gutter_toggle_icon
  sidebar_gutter_collapsed? ? icon('angle-double-left') : icon('angle-double-right')
end

#user_dropdown_label(user_id, default_label) ⇒ Object


52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'app/helpers/issuables_helper.rb', line 52

def user_dropdown_label(user_id, default_label)
  return "Unassigned" if user_id == "0"

  if @project
    member = @project.team.find_member(user_id)
    user = member.user if member
  else
    user = User.find_by(id: user_id)
  end

  if user
    user.name
  else
    default_label
  end
end