Class: IssuePresenter

Inherits:
Gitlab::View::Presenter::Delegated show all
Defined in:
app/presenters/issue_presenter.rb

Direct Known Subclasses

WorkItemPresenter

Instance Method Summary collapse

Methods inherited from Gitlab::View::Presenter::Delegated

#initialize

Methods included from Gitlab::Utils::DelegatorOverride

#delegator_override, #delegator_override_with, #delegator_target, validator, validators, verify!

Methods included from Gitlab::View::Presenter::Base

#__subject__, #can?, #declarative_policy_delegate, #is_a?, #path_with_line_numbers, #present, #url_builder, #web_path, #web_url

Methods included from Gitlab::Allowable

#can?

Methods included from Gitlab::Routing

includes_helpers, redirect_legacy_paths, url_helpers

Constructor Details

This class inherits a constructor from Gitlab::View::Presenter::Delegated

Instance Method Details

#issue_email_participantsObject



35
36
37
# File 'app/presenters/issue_presenter.rb', line 35

def issue_email_participants
  issue.issue_email_participants.present(current_user: current_user)
end

#issue_pathObject



6
7
8
# File 'app/presenters/issue_presenter.rb', line 6

def issue_path
  web_path
end

#project_emails_disabled?Boolean

Returns:

  • (Boolean)


15
16
17
# File 'app/presenters/issue_presenter.rb', line 15

def project_emails_disabled?
  issue.project.emails_disabled?
end

#project_emails_enabled?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'app/presenters/issue_presenter.rb', line 19

def project_emails_enabled?
  issue.project.emails_enabled?
end

#service_desk_reply_toObject Also known as: external_author



24
25
26
27
28
29
# File 'app/presenters/issue_presenter.rb', line 24

def service_desk_reply_to
  return unless super.present?
  return super if Ability.allowed?(current_user, :read_external_emails, issue.project)

  Gitlab::Utils::Email.obfuscated_email(super, deform: true)
end

#subscribed?Boolean

Returns:

  • (Boolean)


11
12
13
# File 'app/presenters/issue_presenter.rb', line 11

def subscribed?
  issue.subscribed?(current_user, issue.project)
end