Merge pull request #2135 from gitbucket/fix-error-in-compare-view

Fix Internal Server Error in the comparing view
This commit is contained in:
Naoki Takezoe
2018-08-28 08:52:42 +09:00
committed by GitHub
2 changed files with 48 additions and 34 deletions

View File

@@ -642,7 +642,7 @@ trait PullRequestsControllerBase extends ControllerBase {
case _ => case _ =>
forkedRepository.repository :: getForkedRepositories(forkedRepository.owner, forkedRepository.name) forkedRepository.repository :: getForkedRepositories(forkedRepository.owner, forkedRepository.name)
}).map { repository => }).map { repository =>
(repository.userName, repository.repositoryName) (repository.userName, repository.repositoryName, repository.defaultBranch)
}, },
commits.flatten commits.flatten
.map(commit => getCommitComments(forkedRepository.owner, forkedRepository.name, commit.id, false)) .map(commit => getCommitComments(forkedRepository.owner, forkedRepository.name, commit.id, false))

View File

@@ -1,7 +1,7 @@
@(title: String, @(title: String,
commits: Seq[Seq[gitbucket.core.util.JGitUtil.CommitInfo]], commits: Seq[Seq[gitbucket.core.util.JGitUtil.CommitInfo]],
diffs: Seq[gitbucket.core.util.JGitUtil.DiffInfo], diffs: Seq[gitbucket.core.util.JGitUtil.DiffInfo],
members: List[(String, String)], members: List[(String, String, String)],
comments: List[gitbucket.core.model.Comment], comments: List[gitbucket.core.model.Comment],
originId: String, originId: String,
forkedId: String, forkedId: String,
@@ -22,8 +22,8 @@
<div class="pullreq-info"> <div class="pullreq-info">
<div id="compare-edit"> <div id="compare-edit">
@gitbucket.core.helper.html.dropdown(originRepository.owner + "/" + originRepository.name, "base fork", filter=("origin_repo", "Find Repository...")) { @gitbucket.core.helper.html.dropdown(originRepository.owner + "/" + originRepository.name, "base fork", filter=("origin_repo", "Find Repository...")) {
@members.map { case (owner, name) => @members.map { case (owner, name, defaultBranch) =>
<li><a href="#" class="origin-owner" data-owner="@owner" data-name="@name">@gitbucket.core.helper.html.checkicon(owner == originRepository.owner) @owner/@name</a></li> <li><a href="#" class="origin-owner" data-owner="@owner" data-name="@name" data-default-branch="@defaultBranch">@gitbucket.core.helper.html.checkicon(owner == originRepository.owner) @owner/@name</a></li>
} }
} }
@gitbucket.core.helper.html.dropdown(originId, "base", filter=("origin_branch", "Find Branch...")) { @gitbucket.core.helper.html.dropdown(originId, "base", filter=("origin_branch", "Find Branch...")) {
@@ -33,8 +33,8 @@
} }
... ...
@gitbucket.core.helper.html.dropdown(forkedRepository.owner + "/" + forkedRepository.name, "head fork", filter=("forked_repo", "Find Repository...")) { @gitbucket.core.helper.html.dropdown(forkedRepository.owner + "/" + forkedRepository.name, "head fork", filter=("forked_repo", "Find Repository...")) {
@members.map { case (owner, name) => @members.map { case (owner, name, defaultBranch) =>
<li><a href="#" class="forked-owner" data-owner="@owner" data-name="@name">@gitbucket.core.helper.html.checkicon(owner == forkedRepository.owner) @owner/@name</a></li> <li><a href="#" class="forked-owner" data-owner="@owner" data-name="@name" data-default-branch="@defaultBranch">@gitbucket.core.helper.html.checkicon(owner == forkedRepository.owner) @owner/@name</a></li>
} }
} }
@gitbucket.core.helper.html.dropdown(forkedId, "compare", filter=("forked_branch", "Find Branch...")) { @gitbucket.core.helper.html.dropdown(forkedId, "compare", filter=("forked_branch", "Find Branch...")) {
@@ -170,25 +170,46 @@
} }
<script> <script>
$(function(){ $(function(){
$('a.origin-owner, a.forked-owner, a.origin-branch, a.forked-branch').click(function(){ function updateSelector(e){
var e = $(this);
e.parents('ul').find('i').attr('class', 'octicon'); e.parents('ul').find('i').attr('class', 'octicon');
e.find('i').addClass('octicon-check'); e.find('i').addClass('octicon-check');
e.parents('div.btn-group').find('button span.strong').text(e.text()); e.parents('div.btn-group').find('button span.strong').text(e.text());
}
@if(members.isEmpty){ $('a.origin-owner').click(function(){
location.href = '@helpers.url(repository)/compare/' + updateSelector($(this));
$.trim($('i.octicon-check').parents('a.origin-branch').data('branch')) + '...' +
$.trim($('i.octicon-check').parents('a.forked-branch').data('branch')); location.href = '@context.path/' +
} else { $.trim($('i.octicon-check').parents('a.forked-owner' ).data('owner')) + '/' +
location.href = '@context.path/' + $.trim($('i.octicon-check').parents('a.forked-owner' ).data('name')) +'/compare/' +
$.trim($('i.octicon-check').parents('a.forked-owner' ).data('owner')) + '/' + $.trim($('i.octicon-check').parents('a.origin-owner' ).data('owner')) + ':' +
$.trim($('i.octicon-check').parents('a.forked-owner' ).data('name')) +'/compare/' + $.trim($('i.octicon-check').parents('a.origin-owner' ).data('default-branch')) + '...' +
$.trim($('i.octicon-check').parents('a.origin-owner' ).data('owner')) + ':' + $.trim($('i.octicon-check').parents('a.forked-owner' ).data('owner')) + ':' +
$.trim($('i.octicon-check').parents('a.origin-branch').data('branch')) + '...' + $.trim($('i.octicon-check').parents('a.forked-branch').data('branch'));
$.trim($('i.octicon-check').parents('a.forked-owner' ).data('owner')) + ':' + });
$.trim($('i.octicon-check').parents('a.forked-branch').data('branch'));
} $('a.forked-owner').click(function(){
updateSelector($(this));
location.href = '@context.path/' +
$.trim($('i.octicon-check').parents('a.forked-owner' ).data('owner')) + '/' +
$.trim($('i.octicon-check').parents('a.forked-owner' ).data('name')) +'/compare/' +
$.trim($('i.octicon-check').parents('a.origin-owner' ).data('owner')) + ':' +
$.trim($('i.octicon-check').parents('a.origin-branch').data('branch')) + '...' +
$.trim($('i.octicon-check').parents('a.forked-owner' ).data('owner')) + ':' +
$.trim($('i.octicon-check').parents('a.forked-owner' ).data('default-branch'));
});
$('a.origin-branch, a.forked-branch').click(function(){
updateSelector($(this));
location.href = '@context.path/' +
$.trim($('i.octicon-check').parents('a.forked-owner' ).data('owner')) + '/' +
$.trim($('i.octicon-check').parents('a.forked-owner' ).data('name')) +'/compare/' +
$.trim($('i.octicon-check').parents('a.origin-owner' ).data('owner')) + ':' +
$.trim($('i.octicon-check').parents('a.origin-branch').data('branch')) + '...' +
$.trim($('i.octicon-check').parents('a.forked-owner' ).data('owner')) + ':' +
$.trim($('i.octicon-check').parents('a.forked-branch').data('branch'));
}); });
$('#show-form').click(function(){ $('#show-form').click(function(){
@@ -206,19 +227,12 @@ $(function(){
function(data){ $('.check-conflict').html(data); }); function(data){ $('.check-conflict').html(data); });
} }
@if(members.isEmpty){ checkConflict(
checkConflict( $.trim($('i.octicon-check').parents('a.origin-owner' ).data('owner')) + ":" +
$.trim($('i.octicon-check').parents('a.origin-branch').data('branch')), $.trim($('i.octicon-check').parents('a.origin-branch').data('branch')),
$.trim($('i.octicon-check').parents('a.forked-branch').data('branch')) $.trim($('i.octicon-check').parents('a.forked-owner' ).data('owner')) + ":" +
); $.trim($('i.octicon-check').parents('a.forked-branch').data('branch'))
} else { );
checkConflict(
$.trim($('i.octicon-check').parents('a.origin-owner' ).data('owner')) + ":" +
$.trim($('i.octicon-check').parents('a.origin-branch').data('branch')),
$.trim($('i.octicon-check').parents('a.forked-owner' ).data('owner')) + ":" +
$.trim($('i.octicon-check').parents('a.forked-branch').data('branch'))
);
}
} }
}); });
</script> </script>