Add CommitDecorator#author_link
This commit is contained in:
parent
b3a5f0a78d
commit
aef2031ad6
|
@ -42,6 +42,28 @@ class CommitDecorator < ApplicationDecorator
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Returns a link to the commit author. If the author has a matching user and
|
||||||
|
# is a member of the current @project it will link to the team member page.
|
||||||
|
# Otherwise it will link to the author email as specified in the commit.
|
||||||
|
#
|
||||||
|
# options:
|
||||||
|
# avatar: true will prepend avatar image
|
||||||
|
def author_link(options)
|
||||||
|
text = if options[:avatar]
|
||||||
|
avatar = h.image_tag h.gravatar_icon(author_email), class: "avatar", width: 16
|
||||||
|
"#{avatar} #{author_name}"
|
||||||
|
else
|
||||||
|
author_name
|
||||||
|
end
|
||||||
|
team_member = @project.try(:team_member_by_name_or_email, author_name, author_email)
|
||||||
|
|
||||||
|
if team_member.nil?
|
||||||
|
h.mail_to author_email, text.html_safe, class: "commit-author-link"
|
||||||
|
else
|
||||||
|
h.link_to text, h.project_team_member_path(@project, team_member), class: "commit-author-link"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
|
||||||
def no_commit_message
|
def no_commit_message
|
||||||
|
|
Loading…
Reference in a new issue