mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-09 15:05:50 +01:00
Conflicts: src/main/twirl/issues/commentform.scala.html src/main/twirl/issues/create.scala.html src/main/twirl/pulls/compare.scala.html src/main/twirl/wiki/edit.scala.html
150 lines
6.8 KiB
HTML
150 lines
6.8 KiB
HTML
@(commits: Seq[Seq[util.JGitUtil.CommitInfo]],
|
|
diffs: Seq[util.JGitUtil.DiffInfo],
|
|
members: List[(String, String)],
|
|
originId: String,
|
|
forkedId: String,
|
|
sourceId: String,
|
|
commitId: String,
|
|
repository: service.RepositoryService.RepositoryInfo,
|
|
originRepository: service.RepositoryService.RepositoryInfo,
|
|
forkedRepository: service.RepositoryService.RepositoryInfo,
|
|
hasWritePermission: Boolean)(implicit context: app.Context)
|
|
@import context._
|
|
@import view.helpers._
|
|
@html.main(s"Pull Requests - ${repository.owner}/${repository.name}", Some(repository)){
|
|
@html.menu("pulls", repository){
|
|
<div class="pullreq-info">
|
|
<div id="compare-info">
|
|
<a href="#" id="edit-compare-condition" class="btn btn-mini pull-right">Edit</a>
|
|
<span class="label label-info monospace">@originRepository.owner:@originId</span> ... <span class="label label-info monospace">@forkedRepository.owner:@forkedId</span>
|
|
</div>
|
|
<div id="compare-edit" style="display: none;">
|
|
<a href="#" id="cancel-condition-editing" class="pull-right"><i class="icon-remove-circle"></i></a>
|
|
@helper.html.dropdown(originRepository.owner + "/" + originRepository.name, "base fork") {
|
|
@members.map { case (owner, name) =>
|
|
<li><a href="#" class="origin-owner" data-owner="@owner" data-name="@name">@helper.html.checkicon(owner == originRepository.owner) @owner/@name</a></li>
|
|
}
|
|
}
|
|
@helper.html.dropdown(originId, "base") {
|
|
@originRepository.branchList.map { branch =>
|
|
<li><a href="#" class="origin-branch" data-branch="@encodeRefName(branch)">@helper.html.checkicon(branch == originId) @branch</a></li>
|
|
}
|
|
}
|
|
...
|
|
@helper.html.dropdown(forkedRepository.owner + "/" + forkedRepository.name, "head fork") {
|
|
@members.map { case (owner, name) =>
|
|
<li><a href="#" class="forked-owner" data-owner="@owner" data-name="@name">@helper.html.checkicon(owner == forkedRepository.owner) @owner/@name</a></li>
|
|
}
|
|
}
|
|
@helper.html.dropdown(forkedId, "compare") {
|
|
@forkedRepository.branchList.map { branch =>
|
|
<li><a href="#" class="forked-branch" data-branch="@encodeRefName(branch)">@helper.html.checkicon(branch == forkedId) @branch</a></li>
|
|
}
|
|
}
|
|
</div>
|
|
</div>
|
|
@if(commits.nonEmpty && hasWritePermission){
|
|
<div style="margin-bottom: 10px;" id="create-pull-request">
|
|
<a href="#" class="btn" id="show-form">Click to create a pull request for this comparison</a>
|
|
</div>
|
|
<div id="pull-request-form" class="box" style="display: none;">
|
|
<div class="box-content">
|
|
<form method="POST" action="@path/@originRepository.owner/@originRepository.name/pulls/new" validate="true">
|
|
<div style="width: 240px; position: absolute; margin-left: 610px;">
|
|
<div class="check-conflict" style="display: none;">
|
|
<img src="@assets/common/images/indicator.gif"/> Checking...
|
|
</div>
|
|
</div>
|
|
<div style="width: 600px; border-right: 1px solid #d4d4d4;">
|
|
<span class="error" id="error-title"></span>
|
|
<input type="text" name="title" style="width: 580px" placeholder="Title"/>
|
|
@helper.html.preview(repository, "", false, true, true, "width: 580px; height: 200px;")
|
|
<input type="hidden" name="targetUserName" value="@originRepository.owner"/>
|
|
<input type="hidden" name="targetBranch" value="@originId"/>
|
|
<input type="hidden" name="requestUserName" value="@forkedRepository.owner"/>
|
|
<input type="hidden" name="requestRepositoryName" value="@forkedRepository.name"/>
|
|
<input type="hidden" name="requestBranch" value="@forkedId"/>
|
|
<input type="hidden" name="commitIdFrom" value="@sourceId"/>
|
|
<input type="hidden" name="commitIdTo" value="@commitId"/>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
}
|
|
@if(commits.isEmpty){
|
|
<table class="table table-bordered table-hover table-issues">
|
|
<tr>
|
|
<td style="padding: 20px; background-color: #eee; text-align: center;">
|
|
<h4>There isn't anything to compare.</h4>
|
|
<span class="strong">@originRepository.owner:@originId</span> and <span class="strong">@forkedRepository.owner:@forkedId</span> are identical.
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
} else {
|
|
@pulls.html.commits(commits, repository)
|
|
@helper.html.diff(diffs, repository, Some(commitId), Some(sourceId), true)
|
|
}
|
|
}
|
|
}
|
|
<script>
|
|
$(function(){
|
|
$('#edit-compare-condition').click(function(){
|
|
$('#compare-info').hide();
|
|
$('#compare-edit').show();
|
|
});
|
|
|
|
$('#cancel-condition-editing').click(function(){
|
|
$('#compare-info').show();
|
|
$('#compare-edit').hide();
|
|
});
|
|
|
|
$('a.origin-owner, a.forked-owner, a.origin-branch, a.forked-branch').click(function(){
|
|
var e = $(this);
|
|
e.parents('ul').find('i').attr('class', 'icon-white');
|
|
e.find('i').attr('class', 'icon-ok');
|
|
e.parents('div.btn-group').find('button span.strong').text(e.text());
|
|
|
|
@if(members.isEmpty){
|
|
location.href = '@url(repository)/compare/' +
|
|
$.trim($('i.icon-ok').parents('a.origin-branch').data('branch')) + '...' +
|
|
$.trim($('i.icon-ok').parents('a.forked-branch').data('branch'));
|
|
} else {
|
|
location.href = '@path/' +
|
|
$.trim($('i.icon-ok').parents('a.forked-owner' ).data('owner')) + '/' +
|
|
$.trim($('i.icon-ok').parents('a.forked-owner' ).data('name')) +'/compare/' +
|
|
$.trim($('i.icon-ok').parents('a.origin-owner' ).data('owner')) + ':' +
|
|
$.trim($('i.icon-ok').parents('a.origin-branch').data('branch')) + '...' +
|
|
$.trim($('i.icon-ok').parents('a.forked-owner' ).data('owner')) + ':' +
|
|
$.trim($('i.icon-ok').parents('a.forked-branch').data('branch'));
|
|
}
|
|
});
|
|
|
|
$('#show-form').click(function(){
|
|
$(this).hide();
|
|
$('#pull-request-form').show();
|
|
});
|
|
|
|
@if(hasWritePermission){
|
|
function checkConflict(from, to, noConflictHandler, hasConflictHandler){
|
|
$('.check-conflict').show();
|
|
$.get('@url(repository)/compare/' + from + '...' + to + '/mergecheck',
|
|
function(data){ $('.check-conflict').html(data); });
|
|
}
|
|
|
|
@if(members.isEmpty){
|
|
checkConflict(
|
|
$.trim($('i.icon-ok').parents('a.origin-branch').data('branch')),
|
|
$.trim($('i.icon-ok').parents('a.forked-branch').data('branch'))
|
|
);
|
|
} else {
|
|
checkConflict(
|
|
$.trim($('i.icon-ok').parents('a.origin-owner' ).data('owner')) + ":" +
|
|
$.trim($('i.icon-ok').parents('a.origin-branch').data('branch')),
|
|
$.trim($('i.icon-ok').parents('a.forked-owner' ).data('owner')) + ":" +
|
|
$.trim($('i.icon-ok').parents('a.forked-branch').data('branch'))
|
|
);
|
|
}
|
|
}
|
|
});
|
|
</script>
|