summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com>2011-11-06 22:38:08 +0200
committerDmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com>2011-11-06 22:38:08 +0200
commitb4868a897284940a3e5e8e6ebcc246f21fb17fbe (patch)
tree3932afe6362f9ab605c873e752958e996735cbd5
parentf87f0201f0e3386d1e0408a217650b545f57029a (diff)
downloadgitlab-ce-b4868a897284940a3e5e8e6ebcc246f21fb17fbe.tar.gz
Improved commit author detection
-rw-r--r--app/models/project.rb5
-rw-r--r--app/views/projects/_tree_item.html.haml6
2 files changed, 8 insertions, 3 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index de68f451e03..a5b6224bd0e 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -50,6 +50,11 @@ class Project < ActiveRecord::Base
code
end
+ def team_member_by_name_or_email(email = nil, name = nil)
+ user = users.where("email like ? or name like ?", email, name).first
+ users_projects.find_by_user_id(user.id) if user
+ end
+
def common_notes
notes.where(:noteable_type => ["", nil])
end
diff --git a/app/views/projects/_tree_item.html.haml b/app/views/projects/_tree_item.html.haml
index d15c379b009..273d0272322 100644
--- a/app/views/projects/_tree_item.html.haml
+++ b/app/views/projects/_tree_item.html.haml
@@ -13,6 +13,6 @@
ago
%td.commit
= link_to truncate(content_commit.safe_message, :length => fixed_mode? ? 40 : 80), project_commit_path(@project, content_commit), :class => "tree-commit-link"
- - user = @project.users.find_by_email(content_commit.author_email)
- - if user
- = link_to "[#{user.name}]", project_team_member_path(@project, @project.users_projects.find_by_user_id(user.id))
+ - tm = @project.team_member_by_name_or_email(content_commit.author_email, content_commit.author_name)
+ - if tm
+ = link_to "[#{tm.user_name}]", project_team_member_path(@project, tm)