mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-07 22:15:51 +01:00
(refs #224)Add delete branch button
This commit is contained in:
@@ -3,7 +3,7 @@ package app
|
|||||||
import util.Directory._
|
import util.Directory._
|
||||||
import util.Implicits._
|
import util.Implicits._
|
||||||
import util.ControlUtil._
|
import util.ControlUtil._
|
||||||
import _root_.util.{ReferrerAuthenticator, JGitUtil, FileUtil, StringUtil}
|
import _root_.util._
|
||||||
import service._
|
import service._
|
||||||
import org.scalatra._
|
import org.scalatra._
|
||||||
import java.io.File
|
import java.io.File
|
||||||
@@ -12,15 +12,16 @@ import org.eclipse.jgit.lib._
|
|||||||
import org.apache.commons.io.FileUtils
|
import org.apache.commons.io.FileUtils
|
||||||
import org.eclipse.jgit.treewalk._
|
import org.eclipse.jgit.treewalk._
|
||||||
import java.util.zip.{ZipEntry, ZipOutputStream}
|
import java.util.zip.{ZipEntry, ZipOutputStream}
|
||||||
|
import scala.Some
|
||||||
|
|
||||||
class RepositoryViewerController extends RepositoryViewerControllerBase
|
class RepositoryViewerController extends RepositoryViewerControllerBase
|
||||||
with RepositoryService with AccountService with ReferrerAuthenticator
|
with RepositoryService with AccountService with ReferrerAuthenticator with CollaboratorsAuthenticator
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The repository viewer.
|
* The repository viewer.
|
||||||
*/
|
*/
|
||||||
trait RepositoryViewerControllerBase extends ControllerBase {
|
trait RepositoryViewerControllerBase extends ControllerBase {
|
||||||
self: RepositoryService with AccountService with ReferrerAuthenticator =>
|
self: RepositoryService with AccountService with ReferrerAuthenticator with CollaboratorsAuthenticator =>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns converted HTML from Markdown for preview.
|
* Returns converted HTML from Markdown for preview.
|
||||||
@@ -150,10 +151,23 @@ trait RepositoryViewerControllerBase extends ControllerBase {
|
|||||||
val revCommit = git.log.add(git.getRepository.resolve(branchName)).setMaxCount(1).call.iterator.next
|
val revCommit = git.log.add(git.getRepository.resolve(branchName)).setMaxCount(1).call.iterator.next
|
||||||
(branchName, revCommit.getCommitterIdent.getWhen)
|
(branchName, revCommit.getCommitterIdent.getWhen)
|
||||||
}
|
}
|
||||||
repo.html.branches(branchInfo, repository)
|
repo.html.branches(branchInfo, hasWritePermission(repository.owner, repository.name, context.loginAccount), repository)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deletes branch.
|
||||||
|
*/
|
||||||
|
get("/:owner/:repository/delete/:branchName")(collaboratorsOnly { repository =>
|
||||||
|
val branchName = params("branchName")
|
||||||
|
if(repository.repository.defaultBranch != branchName){
|
||||||
|
using(Git.open(getRepositoryDir(repository.owner, repository.name))){ git =>
|
||||||
|
git.branchDelete().setBranchNames(branchName).call()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
redirect(s"/${repository.owner}/${repository.name}/branches")
|
||||||
|
})
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Displays tags.
|
* Displays tags.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
@(branchInfo: List[(String, java.util.Date)],
|
@(branchInfo: List[(String, java.util.Date)],
|
||||||
|
hasWritePermission: Boolean,
|
||||||
repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context)
|
repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context)
|
||||||
@import context._
|
@import context._
|
||||||
@import view.helpers._
|
@import view.helpers._
|
||||||
@@ -17,9 +18,9 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<a href="@url(repository)/tree/@encodeRefName(branchName)">@branchName</a>
|
<a href="@url(repository)/tree/@encodeRefName(branchName)">@branchName</a>
|
||||||
@*
|
@if(hasWritePermission && repository.repository.defaultBranch != branchName){
|
||||||
<a href="#" class="btn btn-danger btn-mini">Delete branch</a>
|
<a href="@url(repository)/delete/@encodeRefName(branchName)" class="btn btn-danger btn-mini pull-right delete-branch" data-name="@branchName">Delete branch</a>
|
||||||
*@
|
}
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
@datetime(latestUpdateDate)
|
@datetime(latestUpdateDate)
|
||||||
@@ -36,3 +37,11 @@
|
|||||||
}
|
}
|
||||||
</table>
|
</table>
|
||||||
}
|
}
|
||||||
|
<script>
|
||||||
|
$(function(){
|
||||||
|
$('.delete-branch').click(function(e){
|
||||||
|
var branchName = $(e.target).data('name');
|
||||||
|
return confirm('Are you sure you want to remove the ' + branchName + ' branch?');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
Reference in New Issue
Block a user