Mercurial > hg > soundsoftware-site
changeset 1532:a0460a3d154f cannam
Toward getting the user id for a committer by name as well as login/email
author | Chris Cannam |
---|---|
date | Wed, 11 Feb 2015 13:13:03 +0000 |
parents | ae8145b28b2b |
children | 59e13100ea95 |
files | app/models/repository.rb |
diffstat | 1 files changed, 13 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/app/models/repository.rb Wed Feb 11 10:03:48 2015 +0000 +++ b/app/models/repository.rb Wed Feb 11 13:13:03 2015 +0000 @@ -316,12 +316,24 @@ user = nil c = changesets.where(:committer => committer).includes(:user).first + logger.info "seeking user for committer #{committer}" if c && c.user user = c.user elsif committer.strip =~ /^([^<]+)(<(.*)>)?$/ username, email = $1.strip, $3 + logger.info "username = #{username}, email = #{email}" u = User.find_by_login(username) - u ||= User.find_by_mail(email) unless email.blank? + if u.nil? + if email.blank? + if username.strip =~ /^([^ ]+) ([^ ]+)$/ + first, last = $1, $2 + logger.info "first = #{username}, last = #{email}" + u = User.where(:firstname => first, :lastname => last) + end + else + u = User.find_by_mail(email) + end + end user = u end @found_committer_users[committer] = user