Fixed issue 210, sub-tabs links not follows the active branche in Source view.
This commit is contained in:
parent
88ce10b8e6
commit
bc434504b1
@ -126,14 +126,10 @@ class IDF_Template_IssueComment extends Pluf_Template_Tag
|
||||
*/
|
||||
function callbackCommit($m)
|
||||
{
|
||||
try {
|
||||
if ('commit' != $this->scm->testHash($m[0])) {
|
||||
$co = $this->scm->getCommit($m[0]);
|
||||
if (!$co) {
|
||||
return $m[0]; // not a commit.
|
||||
}
|
||||
} catch (IDF_Scm_Exception $e) {
|
||||
return $m[0]; // commit not found.
|
||||
}
|
||||
$co = $this->scm->getCommit($m[0]);
|
||||
return '<a href="'
|
||||
.Pluf_HTTP_URL_urlForView('IDF_Views_Source::commit', array($this->project->shortname, $co->commit))
|
||||
.'">'.$m[0].'</a>';
|
||||
@ -141,18 +137,14 @@ class IDF_Template_IssueComment extends Pluf_Template_Tag
|
||||
|
||||
function callbackSource($m)
|
||||
{
|
||||
$branches = $this->scm->getBranches();
|
||||
if (count($branches) == 0) return $m[0];
|
||||
if (!$this->scm->isAvailable()) return $m[0];
|
||||
$file = $m[2];
|
||||
if ('commit' != $this->scm->testHash($branches[0], $file)) {
|
||||
return $m[0];
|
||||
}
|
||||
$request_file_info = $this->scm->getFileInfo($file, $branches[0]);
|
||||
$request_file_info = $this->scm->getPathInfo($file);
|
||||
if (!$request_file_info) {
|
||||
return $m[0];
|
||||
}
|
||||
if ($request_file_info->type != 'tree') {
|
||||
return $m[1].'<a href="'.Pluf_HTTP_URL_urlForView('IDF_Views_Source::tree', array($this->project->shortname, $branches[0], $file)).'">'.$m[2].'</a>';
|
||||
return $m[1].'<a href="'.Pluf_HTTP_URL_urlForView('IDF_Views_Source::tree', array($this->project->shortname, $this->scm->getMainBranch(), $file)).'">'.$m[2].'</a>';
|
||||
}
|
||||
return $m[0];
|
||||
}
|
||||
|
@ -88,6 +88,7 @@ class IDF_Views_Source
|
||||
}
|
||||
$rchanges = new Pluf_Template_ContextVars($rchanges);
|
||||
$scmConf = $request->conf->getVal('scm', 'git');
|
||||
$in_branches = $scm->inBranches($commit, '');
|
||||
return Pluf_Shortcuts_RenderToResponse('idf/source/changelog.html',
|
||||
array(
|
||||
'page_title' => $title,
|
||||
@ -95,6 +96,7 @@ class IDF_Views_Source
|
||||
'changes' => $rchanges,
|
||||
'commit' => $commit,
|
||||
'branches' => $branches,
|
||||
'tree_in' => $in_branches,
|
||||
'scm' => $scmConf,
|
||||
),
|
||||
$request);
|
||||
@ -128,7 +130,6 @@ class IDF_Views_Source
|
||||
$res = new Pluf_Template_ContextVars($scm->getTree($commit));
|
||||
$cache->set($key, $res);
|
||||
}
|
||||
//$tree_in = in_array($commit, $branches);
|
||||
$scmConf = $request->conf->getVal('scm', 'git');
|
||||
$props = $scm->getProperties($commit);
|
||||
return Pluf_Shortcuts_RenderToResponse('idf/source/'.$scmConf.'/tree.html',
|
||||
|
@ -1,9 +1,10 @@
|
||||
{extends "idf/base.html"}
|
||||
{block tabsource} class="active"{/block}
|
||||
{block subtabs}
|
||||
{if array_key_exists($commit, $branches)}{assign $currentCommit = $commit}{else}{assign $currentCommit = $project.getScmRoot()}{/if}
|
||||
<div id="sub-tabs">
|
||||
<a {if $inSourceTree}class="active" {/if}href="{url 'IDF_Views_Source::treeBase', array($project.shortname, $project.getScmRoot())}">{trans 'Source Tree'}</a> |
|
||||
<a {if $inChangeLog}class="active" {/if}href="{url 'IDF_Views_Source::changeLog', array($project.shortname, $project.getScmRoot())}">{trans 'Change Log'}</a>
|
||||
<a {if $inSourceTree}class="active" {/if}href="{url 'IDF_Views_Source::treeBase', array($project.shortname, $currentCommit)}">{trans 'Source Tree'}</a> |
|
||||
<a {if $inChangeLog}class="active" {/if}href="{url 'IDF_Views_Source::changeLog', array($project.shortname, $currentCommit)}">{trans 'Change Log'}</a>
|
||||
{if $inCommit}| {trans 'Commit'}{/if} |
|
||||
<a {if $inHelp}class="active" {/if}href="{url 'IDF_Views_Source::help', array($project.shortname)}">{trans 'How To Get The Code'}</a>
|
||||
</div>
|
||||
|
@ -27,12 +27,13 @@
|
||||
</tbody>
|
||||
</table>
|
||||
{/block}
|
||||
|
||||
{block context}
|
||||
{if $scm != 'svn'}
|
||||
<p><strong>{trans 'Branches:'}</strong><br />
|
||||
{foreach $branches as $branch}
|
||||
{aurl 'url', 'IDF_Views_Source::changeLog', array($project.shortname, $branch)}
|
||||
<span class="label{if $commit == $branch} active{/if}"><a href="{$url}" class="label">{$branch}</a></span><br />
|
||||
{foreach $branches as $branch => $path}
|
||||
{aurl 'url', 'IDF_Views_Source::treeBase', array($project.shortname, $branch)}
|
||||
<span class="label{if in_array($branch, $tree_in)} active{/if}"><a href="{$url}" class="label">{$branch}</a></span><br />
|
||||
{/foreach}
|
||||
</p>
|
||||
{else}
|
||||
|
Loading…
Reference in New Issue
Block a user