mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-19 21:32:43 +01:00
Fix history link in Diffusion non-root browse views
Summary: Fixes T9798. That task has good repro instructions. In sub-views, we don't link the "History" icon correctly -- we only link it to `history/README` instead of `history/path/to/README`. Add the full path. Also canonicalize the paths in a slightly prettier and more consistenty way. Test Plan: Viewed root and non-root browse tables, saw links show up properly. Reviewers: chad Reviewed By: chad Maniphest Tasks: T9798 Differential Revision: https://secure.phabricator.com/D14491
This commit is contained in:
parent
1a84a2fe4b
commit
5963c4c9e0
1 changed files with 12 additions and 5 deletions
|
@ -30,8 +30,7 @@ final class DiffusionBrowseTableView extends DiffusionView {
|
||||||
$rows = array();
|
$rows = array();
|
||||||
$show_edit = false;
|
$show_edit = false;
|
||||||
foreach ($this->paths as $path) {
|
foreach ($this->paths as $path) {
|
||||||
|
$full_path = $base_path.$path->getPath();
|
||||||
$history_link = $this->linkHistory($path->getPath());
|
|
||||||
|
|
||||||
$dir_slash = null;
|
$dir_slash = null;
|
||||||
$file_type = $path->getFileType();
|
$file_type = $path->getFileType();
|
||||||
|
@ -40,11 +39,13 @@ final class DiffusionBrowseTableView extends DiffusionView {
|
||||||
$dir_slash = '/';
|
$dir_slash = '/';
|
||||||
|
|
||||||
$browse_link = phutil_tag('strong', array(), $this->linkBrowse(
|
$browse_link = phutil_tag('strong', array(), $this->linkBrowse(
|
||||||
$base_path.$path->getPath().$dir_slash,
|
$full_path.$dir_slash,
|
||||||
array(
|
array(
|
||||||
'type' => $file_type,
|
'type' => $file_type,
|
||||||
'name' => $browse_text,
|
'name' => $browse_text,
|
||||||
)));
|
)));
|
||||||
|
|
||||||
|
$history_path = $full_path.'/';
|
||||||
} else if ($file_type == DifferentialChangeType::FILE_SUBMODULE) {
|
} else if ($file_type == DifferentialChangeType::FILE_SUBMODULE) {
|
||||||
$browse_text = $path->getPath().'/';
|
$browse_text = $path->getPath().'/';
|
||||||
$browse_link = phutil_tag('strong', array(), $this->linkBrowse(
|
$browse_link = phutil_tag('strong', array(), $this->linkBrowse(
|
||||||
|
@ -55,16 +56,22 @@ final class DiffusionBrowseTableView extends DiffusionView {
|
||||||
'hash' => $path->getHash(),
|
'hash' => $path->getHash(),
|
||||||
'external' => $path->getExternalURI(),
|
'external' => $path->getExternalURI(),
|
||||||
)));
|
)));
|
||||||
|
|
||||||
|
$history_path = $full_path.'/';
|
||||||
} else {
|
} else {
|
||||||
$browse_text = $path->getPath();
|
$browse_text = $path->getPath();
|
||||||
$browse_link = $this->linkBrowse(
|
$browse_link = $this->linkBrowse(
|
||||||
$base_path.$path->getPath(),
|
$full_path,
|
||||||
array(
|
array(
|
||||||
'type' => $file_type,
|
'type' => $file_type,
|
||||||
'name' => $browse_text,
|
'name' => $browse_text,
|
||||||
));
|
));
|
||||||
|
|
||||||
|
$history_path = $full_path;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$history_link = $this->linkHistory($history_path);
|
||||||
|
|
||||||
$dict = array(
|
$dict = array(
|
||||||
'lint' => celerity_generate_unique_node_id(),
|
'lint' => celerity_generate_unique_node_id(),
|
||||||
'commit' => celerity_generate_unique_node_id(),
|
'commit' => celerity_generate_unique_node_id(),
|
||||||
|
@ -73,7 +80,7 @@ final class DiffusionBrowseTableView extends DiffusionView {
|
||||||
'details' => celerity_generate_unique_node_id(),
|
'details' => celerity_generate_unique_node_id(),
|
||||||
);
|
);
|
||||||
|
|
||||||
$need_pull[$base_path.$path->getPath().$dir_slash] = $dict;
|
$need_pull[$full_path.$dir_slash] = $dict;
|
||||||
foreach ($dict as $k => $uniq) {
|
foreach ($dict as $k => $uniq) {
|
||||||
$dict[$k] = phutil_tag('span', array('id' => $uniq), '');
|
$dict[$k] = phutil_tag('span', array('id' => $uniq), '');
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue