Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/decorators/commit_decorator.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/app/decorators/commit_decorator.rb b/app/decorators/commit_decorator.rb
index 777580a6d5e..24723941037 100644
--- a/app/decorators/commit_decorator.rb
+++ b/app/decorators/commit_decorator.rb
@@ -42,6 +42,28 @@ class CommitDecorator < ApplicationDecorator
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
def no_commit_message