mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-19 05:12:41 +01:00
Provide link to inlines in-context in $ghost['href']
Summary: See D12702. Test Plan: Made something a link and clicked it, seemed to work OK. Reviewers: chad Reviewed By: chad Subscribers: yelirekim, epriestley Differential Revision: https://secure.phabricator.com/D12703
This commit is contained in:
parent
c02db2d15c
commit
460d68ba27
4 changed files with 20 additions and 4 deletions
|
@ -193,7 +193,11 @@ final class DifferentialChangesetViewController extends DifferentialController {
|
|||
->setViewer($viewer)
|
||||
->withRevisionPHIDs(array($revision->getPHID()));
|
||||
$inlines = $query->execute();
|
||||
$inlines = $query->adjustInlinesForChangesets($inlines, $old, $new);
|
||||
$inlines = $query->adjustInlinesForChangesets(
|
||||
$inlines,
|
||||
$old,
|
||||
$new,
|
||||
$revision);
|
||||
} else {
|
||||
$inlines = array();
|
||||
}
|
||||
|
|
|
@ -178,7 +178,11 @@ final class DifferentialRevisionViewController extends DifferentialController {
|
|||
->setViewer($user)
|
||||
->withRevisionPHIDs(array($revision->getPHID()));
|
||||
$inlines = $query->execute();
|
||||
$inlines = $query->adjustInlinesForChangesets($inlines, $old, $new);
|
||||
$inlines = $query->adjustInlinesForChangesets(
|
||||
$inlines,
|
||||
$old,
|
||||
$new,
|
||||
$revision);
|
||||
|
||||
$visible_changesets = array();
|
||||
foreach ($inlines as $inline) {
|
||||
|
|
|
@ -140,7 +140,8 @@ final class DifferentialInlineCommentQuery
|
|||
public function adjustInlinesForChangesets(
|
||||
array $inlines,
|
||||
array $old,
|
||||
array $new) {
|
||||
array $new,
|
||||
DifferentialRevision $revision) {
|
||||
|
||||
assert_instances_of($inlines, 'DifferentialInlineComment');
|
||||
assert_instances_of($old, 'DifferentialChangeset');
|
||||
|
@ -302,6 +303,11 @@ final class DifferentialInlineCommentQuery
|
|||
// If we found a changeset to port this comment to, bring it forward
|
||||
// or backward and mark it.
|
||||
if ($target_id) {
|
||||
$diff_id = $changeset->getDiffID();
|
||||
$inline_id = $inline->getID();
|
||||
$revision_id = $revision->getID();
|
||||
$href = "/D{$revision_id}?id={$diff_id}#inline-{$inline_id}";
|
||||
|
||||
$inline
|
||||
->makeEphemeral(true)
|
||||
->setChangesetID($target_id)
|
||||
|
@ -309,6 +315,7 @@ final class DifferentialInlineCommentQuery
|
|||
array(
|
||||
'new' => $is_new,
|
||||
'reason' => $reason,
|
||||
'href' => $href,
|
||||
));
|
||||
|
||||
$results[] = $inline;
|
||||
|
|
|
@ -531,7 +531,8 @@ final class DifferentialRevision extends DifferentialDAO
|
|||
$query->adjustInlinesForChangesets(
|
||||
$inlines,
|
||||
array_select_keys($changesets, $old_ids),
|
||||
array_select_keys($changesets, $new_ids));
|
||||
array_select_keys($changesets, $new_ids),
|
||||
$this);
|
||||
|
||||
return $timeline
|
||||
->setChangesets($changesets)
|
||||
|
|
Loading…
Reference in a new issue