mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-26 16:52:41 +01:00
Linking the unixname in Phabricator's blame view to the employee's profile.
Test Plan: Visit page http://phabricator.devXXXX.snc6.facebook.com/diffusion/E/browse/tfb/trunk/www/hphp_files.mk?view=blame and verify that unixnames are hyperlinks leading to emplyees' profiles. Task: T297 Reviewed By: tuomaspelkonen Reviewers: tuomaspelkonen, epriestley Commenters: epriestley CC: aran, blazej0, epriestley, tuomaspelkonen Differential Revision: 622
This commit is contained in:
parent
73b0468f72
commit
3771f63441
2 changed files with 27 additions and 4 deletions
|
@ -97,16 +97,37 @@ abstract class DiffusionFileContentQuery {
|
||||||
}
|
}
|
||||||
|
|
||||||
$repository = $this->getRequest()->getRepository();
|
$repository = $this->getRequest()->getRepository();
|
||||||
|
|
||||||
$commits = id(new PhabricatorRepositoryCommit())->loadAllWhere(
|
$commits = id(new PhabricatorRepositoryCommit())->loadAllWhere(
|
||||||
'repositoryID = %d AND commitIdentifier IN (%Ls)', $repository->getID(),
|
'repositoryID = %d AND commitIdentifier IN (%Ls)', $repository->getID(),
|
||||||
array_unique($rev_list));
|
array_unique($rev_list));
|
||||||
|
|
||||||
foreach ($commits as $commit) {
|
foreach ($commits as $commit) {
|
||||||
$commitIdentifier = $commit->getCommitIdentifier();
|
$blame_dict[$commit->getCommitIdentifier()]['epoch'] =
|
||||||
$epoch = $commit->getEpoch();
|
$commit->getEpoch();
|
||||||
$blame_dict[$commitIdentifier]['epoch'] = $epoch;
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
$commits_data = id(new PhabricatorRepositoryCommitData())->loadAllWhere(
|
||||||
|
'commitID IN (%Ls)',
|
||||||
|
mpull($commits, 'getID'));
|
||||||
|
|
||||||
|
$phids = array();
|
||||||
|
foreach ($commits_data as $data) {
|
||||||
|
$phids[] = $data->getCommitDetail('authorPHID');
|
||||||
|
}
|
||||||
|
|
||||||
|
$handles = id(new PhabricatorObjectHandleData(array_unique($phids)))
|
||||||
|
->loadHandles();
|
||||||
|
|
||||||
|
foreach ($commits_data as $data) {
|
||||||
|
if ($data->getCommitDetail('authorPHID')) {
|
||||||
|
$commit_identifier =
|
||||||
|
$commits[$data->getCommitID()]->getCommitIdentifier();
|
||||||
|
$blame_dict[$commit_identifier]['author'] =
|
||||||
|
$handles[$data->getCommitDetail('authorPHID')]->renderLink();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return array($text_list, $rev_list, $blame_dict);
|
return array($text_list, $rev_list, $blame_dict);
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,8 +6,10 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
phutil_require_module('phabricator', 'applications/phid/handle/data');
|
||||||
phutil_require_module('phabricator', 'applications/repository/constants/repositorytype');
|
phutil_require_module('phabricator', 'applications/repository/constants/repositorytype');
|
||||||
phutil_require_module('phabricator', 'applications/repository/storage/commit');
|
phutil_require_module('phabricator', 'applications/repository/storage/commit');
|
||||||
|
phutil_require_module('phabricator', 'applications/repository/storage/commitdata');
|
||||||
|
|
||||||
phutil_require_module('phutil', 'symbols');
|
phutil_require_module('phutil', 'symbols');
|
||||||
phutil_require_module('phutil', 'utils');
|
phutil_require_module('phutil', 'utils');
|
||||||
|
|
Loading…
Reference in a new issue