mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-05 04:56:02 +01:00
Merge branch 'hikaruworld-SupportCloneInDesktop'
This commit is contained in:
@@ -181,6 +181,13 @@ case class Context(settings: SystemSettingsService.SystemSettings, loginAccount:
|
|||||||
val currentPath = request.getRequestURI.substring(request.getContextPath.length)
|
val currentPath = request.getRequestURI.substring(request.getContextPath.length)
|
||||||
val baseUrl = settings.baseUrl(request)
|
val baseUrl = settings.baseUrl(request)
|
||||||
val host = new java.net.URL(baseUrl).getHost
|
val host = new java.net.URL(baseUrl).getHost
|
||||||
|
val platform = request.getHeader("User-Agent") match {
|
||||||
|
case null => null
|
||||||
|
case agent if agent.contains("Mac") => "mac"
|
||||||
|
case agent if agent.contains("Linux") => "linux"
|
||||||
|
case agent if agent.contains("Win") => "windows"
|
||||||
|
case _ => null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get object from cache.
|
* Get object from cache.
|
||||||
|
|||||||
@@ -383,6 +383,12 @@ object RepositoryService {
|
|||||||
|
|
||||||
def sshUrl(port: Int, userName: String) = s"ssh://${userName}@${host}:${port}/${owner}/${name}.git"
|
def sshUrl(port: Int, userName: String) = s"ssh://${userName}@${host}:${port}/${owner}/${name}.git"
|
||||||
|
|
||||||
|
def sshOpenRepoUrl(platform: String, port: Int, userName: String) = openRepoUrl(platform, sshUrl(port, userName))
|
||||||
|
|
||||||
|
def httpOpenRepoUrl(platform: String) = openRepoUrl(platform, httpUrl)
|
||||||
|
|
||||||
|
def openRepoUrl(platform: String, openUrl: String) = s"github-${platform}://openRepo/${openUrl}"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates instance with issue count and pull request count.
|
* Creates instance with issue count and pull request count.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -85,12 +85,19 @@
|
|||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
@id.map { id =>
|
@id.map { id =>
|
||||||
|
@if(context.platform != "linux" && context.platform != null){
|
||||||
|
<div style="margin-top: 10px;">
|
||||||
|
<a href="@repository.httpOpenRepoUrl(context.platform)" id="repository-clone-url" class="btn btn-small" style="width: 147px;font-weight: bold;"><i class="octicon octicon-desktop-download"></i>Clone in Desktop</a>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
<div style="margin-top: 10px;">
|
<div style="margin-top: 10px;">
|
||||||
<a href="@{url(repository)}/archive/@{encodeRefName(id)}.zip" class="btn btn-small" style="width: 147px;font-weight: bold;"><i class="octicon octicon-cloud-download"></i>Download ZIP</a>
|
<a href="@{url(repository)}/archive/@{encodeRefName(id)}.zip" class="btn btn-small" style="width: 147px;font-weight: bold;"><i class="octicon octicon-cloud-download"></i>Download ZIP</a>
|
||||||
</div>
|
</div>
|
||||||
|
@*
|
||||||
<div style="margin-top: 10px;">
|
<div style="margin-top: 10px;">
|
||||||
<a href="@{url(repository)}/archive/@{encodeRefName(id)}.tar.gz" class="btn btn-small" style="width: 147px;font-weight: bold;"><i class="octicon octicon-cloud-download"></i>Download TAR.GZ</a>
|
<a href="@{url(repository)}/archive/@{encodeRefName(id)}.tar.gz" class="btn btn-small" style="width: 147px;font-weight: bold;"><i class="octicon octicon-cloud-download"></i>Download TAR.GZ</a>
|
||||||
</div>
|
</div>
|
||||||
|
*@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
@@ -170,12 +177,14 @@ $(function(){
|
|||||||
$('#repository-url-http').click(function(){
|
$('#repository-url-http').click(function(){
|
||||||
$('#repository-url-proto').text('HTTP');
|
$('#repository-url-proto').text('HTTP');
|
||||||
$('#repository-url').val('@repository.httpUrl');
|
$('#repository-url').val('@repository.httpUrl');
|
||||||
|
$('#repository-clone-url').attr('href', '@repository.httpOpenRepoUrl(context.platform)')
|
||||||
$('#repository-url-copy').attr('data-clipboard-text', $('#repository-url').val());
|
$('#repository-url-copy').attr('data-clipboard-text', $('#repository-url').val());
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#repository-url-ssh').click(function(){
|
$('#repository-url-ssh').click(function(){
|
||||||
$('#repository-url-proto').text('SSH');
|
$('#repository-url-proto').text('SSH');
|
||||||
$('#repository-url').val('@repository.sshUrl(settings.sshPort.getOrElse(SystemSettingsService.DefaultSshPort), loginAccount.get.userName)');
|
$('#repository-url').val('@repository.sshUrl(settings.sshPort.getOrElse(SystemSettingsService.DefaultSshPort), loginAccount.get.userName)');
|
||||||
|
$('#repository-clone-url').attr('href', '@repository.sshOpenRepoUrl(context.platform, settings.sshPort.getOrElse(SystemSettingsService.DefaultSshPort), loginAccount.get.userName)');
|
||||||
$('#repository-url-copy').attr('data-clipboard-text', $('#repository-url').val());
|
$('#repository-url-copy').attr('data-clipboard-text', $('#repository-url').val());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user