Use all registered email addresses to map Scm users to IDF users.

This commit is contained in:
Patrick Georgi 2011-02-09 16:35:50 +01:00
parent dfa223b39e
commit 38e6e4f8d3
3 changed files with 11 additions and 17 deletions

View File

@ -271,14 +271,12 @@ class IDF_Scm_Git extends IDF_Scm
if (!preg_match('/<(.*)>/', $author, $match)) {
return null;
}
foreach (array('email', 'login') as $what) {
$sql = new Pluf_SQL($what.'=%s', array($match[1]));
$users = Pluf::factory('Pluf_User')->getList(array('filter'=>$sql->gen()));
if ($users->count() > 0) {
return $users[0];
}
$sql = new Pluf_SQL('login=%s', array($match[1]));
$users = Pluf::factory('Pluf_User')->getList(array('filter'=>$sql->gen()));
if ($users->count() > 0) {
return $users[0];
}
return null;
return Pluf::factory('IDF_EmailAddress')->get_user_for_email_address($match[1]);
}
public static function getAnonymousAccessUrl($project, $commit=null)

View File

@ -67,9 +67,7 @@ class IDF_Scm_Mercurial extends IDF_Scm
if (!preg_match('/<(.*)>/', $author, $match)) {
return null;
}
$sql = new Pluf_SQL('email=%s', array($match[1]));
$users = Pluf::factory('Pluf_User')->getList(array('filter'=>$sql->gen()));
return ($users->count() > 0) ? $users[0] : null;
return Pluf::factory('IDF_EmailAddress')->get_user_for_email_address($match[1]);
}
public function getMainBranch()

View File

@ -400,14 +400,12 @@ class IDF_Scm_Monotone extends IDF_Scm
if (!preg_match('/([^ ]+@[^ ]+)/', $author, $match)) {
return null;
}
foreach (array('email', 'login') as $what) {
$sql = new Pluf_SQL($what.'=%s', array($match[1]));
$users = Pluf::factory('Pluf_User')->getList(array('filter'=>$sql->gen()));
if ($users->count() > 0) {
return $users[0];
}
$sql = new Pluf_SQL('login=%s', array($match[1]));
$users = Pluf::factory('Pluf_User')->getList(array('filter'=>$sql->gen()));
if ($users->count() > 0) {
return $users[0];
}
return null;
return Pluf::factory('IDF_EmailAddress')->get_user_for_email_address($match[1]);
}
/**